[pLog-svn] r4273 - in plog/trunk: class/action/admin class/action/admin/chooser class/template/menu class/template/smarty/plugins install templates/admin

oscar at devel.lifetype.net oscar at devel.lifetype.net
Wed Nov 8 21:26:18 GMT 2006


Author: oscar
Date: 2006-11-08 21:26:18 +0000 (Wed, 08 Nov 2006)
New Revision: 4273

Modified:
   plog/trunk/class/action/admin/adminaction.class.php
   plog/trunk/class/action/admin/adminaddblogaction.class.php
   plog/trunk/class/action/admin/adminaddblogcategoryaction.class.php
   plog/trunk/class/action/admin/adminaddglobalarticlecategoryaction.class.php
   plog/trunk/class/action/admin/adminaddlocaleaction.class.php
   plog/trunk/class/action/admin/adminaddpermissionaction.class.php
   plog/trunk/class/action/admin/adminaddtemplateaction.class.php
   plog/trunk/class/action/admin/adminadduseraction.class.php
   plog/trunk/class/action/admin/adminadminblogselectaction.class.php
   plog/trunk/class/action/admin/adminblogcategoriesaction.class.php
   plog/trunk/class/action/admin/admincleanupaction.class.php
   plog/trunk/class/action/admin/admincreateblogaction.class.php
   plog/trunk/class/action/admin/admincreateuseraction.class.php
   plog/trunk/class/action/admin/admindeleteblogaction.class.php
   plog/trunk/class/action/admin/admindeleteblogcategoryaction.class.php
   plog/trunk/class/action/admin/admindeleteglobalarticlecategoryaction.class.php
   plog/trunk/class/action/admin/admindeletelocalesaction.class.php
   plog/trunk/class/action/admin/admindeletepermissionsaction.class.php
   plog/trunk/class/action/admin/admindeletetemplatesaction.class.php
   plog/trunk/class/action/admin/admindeleteusersaction.class.php
   plog/trunk/class/action/admin/admineditblogaction.class.php
   plog/trunk/class/action/admin/admineditblogcategoryaction.class.php
   plog/trunk/class/action/admin/admineditglobalarticlecategoriesaction.class.php
   plog/trunk/class/action/admin/admineditglobalarticlecategoryaction.class.php
   plog/trunk/class/action/admin/admineditpermissionaction.class.php
   plog/trunk/class/action/admin/adminedittemplatesaction.class.php
   plog/trunk/class/action/admin/adminglobalsettingsaction.class.php
   plog/trunk/class/action/admin/adminnewblogcategoryaction.class.php
   plog/trunk/class/action/admin/adminnewglobalarticlecategoryaction.class.php
   plog/trunk/class/action/admin/adminnewlocaleaction.class.php
   plog/trunk/class/action/admin/adminnewpermissionaction.class.php
   plog/trunk/class/action/admin/adminnewtemplateaction.class.php
   plog/trunk/class/action/admin/adminpermissionslistaction.class.php
   plog/trunk/class/action/admin/adminplugincenteraction.class.php
   plog/trunk/class/action/admin/adminpluginsettingsaction.class.php
   plog/trunk/class/action/admin/adminresendconfirmationaction.class.php
   plog/trunk/class/action/admin/adminsiteblogsaction.class.php
   plog/trunk/class/action/admin/adminsitelocalesaction.class.php
   plog/trunk/class/action/admin/adminsitesettingsaction.class.php
   plog/trunk/class/action/admin/adminsiteusersaction.class.php
   plog/trunk/class/action/admin/adminupdateblogcategoryaction.class.php
   plog/trunk/class/action/admin/adminupdateeditblogaction.class.php
   plog/trunk/class/action/admin/adminupdateglobalarticlecategoryaction.class.php
   plog/trunk/class/action/admin/adminupdateglobalsettingsaction.class.php
   plog/trunk/class/action/admin/adminupdatepermissionaction.class.php
   plog/trunk/class/action/admin/adminupdatepluginsettingsaction.class.php
   plog/trunk/class/action/admin/adminupdateuserprofileaction.class.php
   plog/trunk/class/action/admin/adminuserprofileaction.class.php
   plog/trunk/class/action/admin/chooser/adminblogchooseraction.class.php
   plog/trunk/class/action/admin/chooser/adminuserchooseraction.class.php
   plog/trunk/class/template/menu/menurenderer.class.php
   plog/trunk/class/template/smarty/plugins/block.check_perms.php
   plog/trunk/install/corepermissions.properties.php
   plog/trunk/templates/admin/globalsettings.template
   plog/trunk/templates/admin/menus.xml
   plog/trunk/templates/admin/permissions.template
   plog/trunk/templates/admin/siteusers.template
Log:
Some progress regarding the integration of the new permission framework in LT 1.2 into the administration area. I've removed the SiteOwnerAdminAction and now all action classes directly extend AdminAction and 
defined which permission(s) they require to be executed. I've also modified templates/admin/menus.xml so that the permissions required to see a certain menu option are already in place.

Permissions have now been integrated with the "site users" area and the "global settings" area. Please remember to run tools/loadcoreperms.php if you're planning to test this, and you might need to mess around
 with the database a bit... as now it is not enough to have the site_admin field set to '1' the lt_users table but you also need all the permissions that grant access to the administrative functions.


Modified: plog/trunk/class/action/admin/adminaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -10,6 +10,12 @@
 	lt_include( PLOG_CLASS_PATH."class/view/admin/admindefaultview.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/textfilter.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/dao/users.class.php" );
+	
+	/**
+	 * @see AdminAction::requirePermission()
+	 */
+	define( "ADMIN_PERMISSION", 1 );
+	define( "BLOG_PERMISSION", 2 );
 
     /**
      * \ingroup Action
@@ -229,23 +235,39 @@
 		}
 		
 		/**
-		 * tbd
+		 * Returns true if the user has the requested permission (in the given mode)
+		 * or false otherwise
+		 *
+		 * @param permName Name of the permission
+		 * @param mode Either BLOG_PERMISSION or ADMIN_PERMISSION, depending on whether
+		 * we're checking the user's permissions in this blog or an admin permission
 		 */
-		function userHasPermission( $permName )
+		function userHasPermission( $permName, $mode = BLOG_PERMISSION )
 		{
+			
 			// check for the permission, whether the user is the blog owner or
 			// whether the user is a site administrator
-	    	return( 
-	    		$this->_userInfo->hasPermissionByName( $permName, $this->_blogInfo->getId()) ||
-	    		$this->_userInfo->isSiteAdmin() ||
-	    		$this->_blogInfo->getOwnerId() == $this->_userInfo->getId()
-	    	);
+			$hasPermission = false;
+			if( $mode == BLOG_PERMISSION ) {
+		    	$hasPermission = ( 
+		    		$this->_userInfo->hasPermissionByName( $permName, $this->_blogInfo->getId()) ||
+		    		$this->_blogInfo->getOwnerId() == $this->_userInfo->getId()
+		    	);
+			}
+			else {				
+		    	$hasPermission = ( $this->_userInfo->hasPermissionByName( $permName, 0 ));
+			}
+			
+			return( $hasPermission );
 		}
 		
+		/**
+		 * tbd
+		 */
 		function canPerform()
 		{
-			foreach( $this->getRequiredPermissions() as $permName ) {
-				if( !$this->userHasPermission( $permName ))
+			foreach( $this->getRequiredPermissions() as $permData ) {
+				if( !$this->userHasPermission( $permData["perm"], $permData["mode"] ))
 					return( false );
 			}
 			
@@ -253,14 +275,30 @@
 		}
 		
 		/**
-		 * tbd
+		 * This method should be called by action classes to specify
+		 * what kind of permission is required to execute the current action.
+		 *
+		 * @param perm The name of the permission, given as a string
+		 * @param mode Either ADMIN_PERMISSION if the permission is an admin permission
+		 * or BLOG_PERMISSION if the permission is a blog permission		 
 		 */
-		function requirePermission( $perm )
+		function requirePermission( $perm, $mode = BLOG_PERMISSION )
 		{
-			$this->_permissions[] = $perm;
+			$this->_permissions[] = Array( "perm" => $perm, "mode" => $mode );
 		}
 		
 		/**
+		 * Informs the action that the given admin permission is required
+		 *
+		 * @param perm An admin permission
+		 * @see requireAdminPermission
+		 */
+		function requireAdminPermission( $perm )
+		{
+			$this->_permissions[] = Array( "perm" => $perm, "mode" => ADMIN_PERMISSION );
+		}		
+		
+		/**
 		 * tbd
 		 */
 		function getRequiredPermissions()

Modified: plog/trunk/class/action/admin/adminaddblogaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminaddblogaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminaddblogaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/admincreateblogview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminsiteblogslistview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
@@ -16,7 +16,7 @@
      *
      * Adds a new user to the database.
      */
-    class AdminAddBlogAction extends SiteAdminAction 
+    class AdminAddBlogAction extends AdminAction 
 	{
 
     	var $_blogName;
@@ -25,7 +25,7 @@
 
     	function AdminAddBlogAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         	
         	// data validation
         	$this->registerFieldValidator( "blogName", new StringValidator());

Modified: plog/trunk/class/action/admin/adminaddblogcategoryaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminaddblogcategoryaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminaddblogcategoryaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/dao/blogcategories.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );	
 	lt_include( PLOG_CLASS_PATH."class/view/admin/adminblogcategorieslistview.class.php" );
@@ -11,7 +11,7 @@
      *
      * Action that adds a new article blog category
      */
-    class AdminAddBlogCategoryAction extends SiteAdminAction 
+    class AdminAddBlogCategoryAction extends AdminAction 
 	{
 
     	var $_categoryName;
@@ -23,7 +23,7 @@
          */
         function AdminAddBlogCategoryAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// register two validators
 			$this->registerFieldValidator( "categoryName", new StringValidator());

Modified: plog/trunk/class/action/admin/adminaddglobalarticlecategoryaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminaddglobalarticlecategoryaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminaddglobalarticlecategoryaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -6,7 +6,7 @@
        * Changed from original article category.
        */
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/dao/globalarticlecategories.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/adminglobalarticlecategorieslistview.class.php" );
@@ -17,7 +17,7 @@
      *
      * Action that adds a new article category to the database.
      */
-    class AdminAddGlobalArticleCategoryAction extends SiteAdminAction 
+    class AdminAddGlobalArticleCategoryAction extends AdminAction 
 	{
 
     	var $_categoryName;
@@ -29,7 +29,7 @@
          */
         function AdminAddGlobalArticleCategoryAction( $actionInfo, $request )
         {
-        		$this->SiteAdminAction( $actionInfo, $request );
+        		$this->AdminAction( $actionInfo, $request );
 			
 			    // register two validators
 				$this->registerFieldValidator( "categoryName", new StringValidator());

Modified: plog/trunk/class/action/admin/adminaddlocaleaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminaddlocaleaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminaddlocaleaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/locale/locales.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/adminsitelocaleslistview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/file/fileupload.class.php" );
@@ -13,12 +13,12 @@
      *
      * Takes care of adding new locales to the system
      */
-    class AdminAddLocaleAction extends SiteAdminAction 
+    class AdminAddLocaleAction extends AdminAction 
 	{
 
     	function AdminAddLocaleAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 
         	// decide what to do based on which submit button was clicked
         	if( $this->_request->getValue( "addLocale" ) != "" )

Modified: plog/trunk/class/action/admin/adminaddpermissionaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminaddpermissionaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminaddpermissionaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/adminpermissionslistview.class.php" );	
 	lt_include( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );	
@@ -12,11 +12,11 @@
  	 *
  	 * Adds a new permission to the database
      */
-    class AdminAddPermissionAction extends SiteAdminAction 
+    class AdminAddPermissionAction extends AdminAction 
 	{
 		function AdminAddPermissionAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// register two validators
 			$this->registerFieldValidator( "permissionName", new StringValidator());
@@ -27,6 +27,8 @@
 			$errorView = new AdminTemplatedView( $this->_blogInfo, "newpermission" );
 			$errorView->setErrorMessage( $this->_locale->tr("error_adding_permission" ));			
 			$this->setValidationErrorView( $errorView );
+			
+			$this->requireAdminPermission( "add_permission" );			
 		}
 		
         function perform()
@@ -45,7 +47,10 @@
 			$this->notifyEvent( EVENT_PRE_PERMISSION_ADD, Array( "permission" => &$perm ));			
 			if( $perms->addPermission( $perm )) {
 				$this->notifyEvent( EVENT_POST_PERMISSION_ADD, Array( "permission" => &$perm ));
-				$this->_view = new AdminPermissionsListView( $this->_blogInfo );
+				if( $this->_userInfo->hasPermissionByName( "view_permissions", 0 )) 
+					$this->_view = new AdminPermissionsListView( $this->_blogInfo );
+				else
+					$this->_view = new AdminTemplatedView( $this->_blogInfo, "newpermission" );
 				$this->_view->setSuccessMessage( $this->_locale->tr("permission_added_ok" ));
 				$this->setCommonData();
 			}

Modified: plog/trunk/class/action/admin/adminaddtemplateaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminaddtemplateaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminaddtemplateaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -17,12 +17,12 @@
      *
      * Shows a form to add a new template file
      */
-    class AdminAddTemplateAction extends SiteAdminAction
+    class AdminAddTemplateAction extends AdminAction
     {
 
         function AdminAddTemplateAction( $actionInfo, $request )
         {
-            $this->SiteAdminAction( $actionInfo, $request );
+            $this->AdminAction( $actionInfo, $request );
 
             // decide what to do based on which submit button was pressed
             if( $this->_request->getValue( "addTemplateUpload" ) != "" )

Modified: plog/trunk/class/action/admin/adminadduseraction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminadduseraction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminadduseraction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/passwordvalidator.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/emailvalidator.class.php" );
@@ -18,7 +18,7 @@
      *
      * Adds a new user to the database.
      */
-    class AdminAddUserAction extends SiteAdminAction 
+    class AdminAddUserAction extends AdminAction 
 	{
 
     	var $_userName;
@@ -32,7 +32,7 @@
 
     	function AdminAddUserAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         	
         	// for data validation purposes
         	$this->registerFieldValidator( "userName", new UsernameValidator());
@@ -46,6 +46,8 @@
         	$view = new AdminAddUserView( $this->_blogInfo );
 			$view->setErrorMessage( $this->_locale->tr("error_adding_user" ));
         	$this->setValidationErrorView( $view );
+
+			$this->requireAdminPermission( "add_user" );
         }
 
         function perform()
@@ -110,7 +112,11 @@
 			
 			$this->notifyEvent( EVENT_POST_USER_ADD, Array( "user" => &$user ));
 
-            $this->_view = new AdminSiteUsersListView( $this->_blogInfo );
+			if( !$this->userHasPermission( "view_users", 0 ))
+            	$this->_view = new AdminAddUserView( $this->_blogInfo );
+			else
+				$this->_view = new AdminSiteUsersListView( $this->_blogInfo );
+
             $this->_view->setSuccessMessage( $this->_locale->pr("user_added_ok", $user->getUsername()));
             $this->setCommonData();
 

Modified: plog/trunk/class/action/admin/adminadminblogselectaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminadminblogselectaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminadminblogselectaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/adminsiteblogslistview.class.php" );
 
@@ -10,7 +10,7 @@
 	 *
 	 * Sets everything so that admins are allowed to log in into anybody's blog
      */
-    class AdminAdminBlogSelectAction extends SiteAdminAction 
+    class AdminAdminBlogSelectAction extends AdminAction 
 	{
 	
 		var $_blogId;
@@ -21,7 +21,7 @@
          */
         function AdminAdminBlogSelectAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// validate the only field we're expecting, the blog id
 			$this->registerFieldValidator( "blogId", new IntegerValidator());

Modified: plog/trunk/class/action/admin/adminblogcategoriesaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminblogcategoriesaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminblogcategoriesaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,14 +1,14 @@
 <?php
 	
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/adminblogcategorieslistview.class.php" );
 	
-	class AdminBlogCategoriesAction extends SiteAdminAction
+	class AdminBlogCategoriesAction extends AdminAction
 	{
 			
 		function AdminBlogCategoriesAction( $actionInfo, $request )
 		{
-			$this->SiteAdminAction( $actionInfo, $request );
+			$this->AdminAction( $actionInfo, $request );
 		}
 		
 		function perform()

Modified: plog/trunk/class/action/admin/admincleanupaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admincleanupaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admincleanupaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/dao/articles.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/dao/commentscommon.class.php" );
@@ -12,14 +12,14 @@
      *
      * Action that shows a form to change the settings of the current blog.
      */
-    class AdminCleanupAction extends SiteAdminAction
+    class AdminCleanupAction extends AdminAction
 	{
 		var $_message;
 		var $_op;
 
 		function AdminCleanupAction( $actionInfo, $request )
 		{
-			$this->SiteAdminAction( $actionInfo, $request );
+			$this->AdminAction( $actionInfo, $request );
 
 			// since we've got two submit buttons in that form, we need to decide what to do
 			// depending on which button was clicked

Modified: plog/trunk/class/action/admin/admincreateblogaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admincreateblogaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admincreateblogaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,18 +1,18 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/admincreateblogview.class.php" );
 
     /**
      * \ingroup Action
      * @private
      */
-    class AdminCreateBlogAction extends SiteAdminAction 
+    class AdminCreateBlogAction extends AdminAction 
 	{
 
     	function AdminCreateBlogAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         }
 
         function perform()

Modified: plog/trunk/class/action/admin/admincreateuseraction.class.php
===================================================================
--- plog/trunk/class/action/admin/admincreateuseraction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admincreateuseraction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,18 +1,20 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminadduserview.class.php" );
 
     /**
      * \ingroup Action
      * @private
      */
-    class AdminCreateUserAction extends SiteAdminAction 
+    class AdminCreateUserAction extends AdminAction 
     {
 
     	function AdminCreateUserAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
+
+			$this->requireAdminPermission( "add_user" );
         }
 
         function perform()

Modified: plog/trunk/class/action/admin/admindeleteblogaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admindeleteblogaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admindeleteblogaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminsiteblogslistview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
@@ -12,14 +12,14 @@
      *
 	 * it does not delete blogs from the system but simply set them to disabled
 	 */
-	class AdminDeleteBlogAction extends SiteAdminAction
+	class AdminDeleteBlogAction extends AdminAction
 	{
 		var $_op;
 		var $_blogIds;
 
     	function AdminDeleteBlogAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 
 			// set up the data validation stuff
         	$this->_op = $actionInfo->getActionParamValue();

Modified: plog/trunk/class/action/admin/admindeleteblogcategoryaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admindeleteblogcategoryaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admindeleteblogcategoryaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/dao/blogcategories.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
@@ -13,7 +13,7 @@
      *
      * Deletes a blog category from the database
      */
-    class AdminDeleteBlogCategoryAction extends SiteAdminAction 
+    class AdminDeleteBlogCategoryAction extends AdminAction 
 	{
 
     	var $_categoryId;

Modified: plog/trunk/class/action/admin/admindeleteglobalarticlecategoryaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admindeleteglobalarticlecategoryaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admindeleteglobalarticlecategoryaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -4,7 +4,7 @@
        * version 1.0 
        * Changed from original article category.
        */
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/dao/globalarticlecategories.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
@@ -17,7 +17,7 @@
      *
      * Deletes an article category from the database
      */
-    class AdminDeleteGlobalArticleCategoryAction extends SiteAdminAction 
+    class AdminDeleteGlobalArticleCategoryAction extends AdminAction 
 	{
 
     	var $_categoryId;
@@ -29,7 +29,7 @@
          */
         function AdminDeleteGlobalArticleCategoryAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			$this->_mode = $actionInfo->getActionParamValue();
         	
         	// get the array that contains the categories we'd like to delete

Modified: plog/trunk/class/action/admin/admindeletelocalesaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admindeletelocalesaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admindeletelocalesaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminsitelocaleslistview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/locale/locales.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
@@ -10,14 +10,14 @@
      * \ingroup Action
      * @private
      */
-    class AdminDeleteLocalesAction extends SiteAdminAction
+    class AdminDeleteLocalesAction extends AdminAction
     {
     	var $_op;
     	var $_localeIds;
 
     	function AdminDeleteLocalesAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 
         	$this->_op = $actionInfo->getActionParamValue();
         	if( $this->_op == "deleteLocale" )

Modified: plog/trunk/class/action/admin/admindeletepermissionsaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admindeletepermissionsaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admindeletepermissionsaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/dao/permissions.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
@@ -13,7 +13,7 @@
      *
      * Deletes an permission
      */
-    class AdminDeletePermissionsAction extends SiteAdminAction 
+    class AdminDeletePermissionsAction extends AdminAction 
 	{
 
     	var $_permId;
@@ -25,7 +25,7 @@
          */
         function AdminDeletePermissionsAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			$this->_mode = $actionInfo->getActionParamValue();
         	
 			if( $this->_mode == "deletePermission" ) 
@@ -36,6 +36,8 @@
 			$view = new AdminPermissionsListView( $this->_blogInfo );
 			$view->setErrorMessage( $this->_locale->tr("error_incorrect_permission_id"));
 			$this->setValidationErrorView( $view );		
+			
+			$this->requirePermission( "update_permission" );
         }
 
 		/**

Modified: plog/trunk/class/action/admin/admindeletetemplatesaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admindeletetemplatesaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admindeletetemplatesaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/template/templatesets/templatesetstorage.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/adminsitetemplateslistview.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
@@ -12,7 +12,7 @@
      *
      * Removes global templates from disk.
      */
-    class AdminDeleteTemplatesAction extends SiteAdminAction
+    class AdminDeleteTemplatesAction extends AdminAction
     {
 
     	var $_templateIds;
@@ -20,7 +20,7 @@
 
         function AdminDeleteTemplatesAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 
 			// data validation stuff
         	$this->_op = $actionInfo->getActionParamValue();

Modified: plog/trunk/class/action/admin/admindeleteusersaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admindeleteusersaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admindeleteusersaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/dao/users.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
@@ -12,7 +12,7 @@
      *
 	 * disables users from the site (it doesn not actually remove them!!)
 	 */
-	class AdminDeleteUsersAction extends SiteAdminAction
+	class AdminDeleteUsersAction extends AdminAction
 	{
 
     	var $_userIds;
@@ -20,7 +20,7 @@
 
     	function AdminDeleteUsersAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 
 			// set up the data validation stuff
         	$this->_op = $actionInfo->getActionParamValue();
@@ -31,6 +31,8 @@
         	$view = new AdminSiteUsersListView( $this->_blogInfo );
         	$view->setErrorMessage( $this->_locale->tr("error_no_users_selected"));
         	$this->setValidationErrorView( $view );
+
+			$this->requirePermission( "update_user" );
         }
 
         function perform()

Modified: plog/trunk/class/action/admin/admineditblogaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admineditblogaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admineditblogaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminsiteblogslistview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/admineditsiteblogview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
@@ -12,7 +12,7 @@
      *
      * Action that shows a form to change the settings of a blog.
      */
-    class AdminEditBlogAction extends SiteAdminAction 
+    class AdminEditBlogAction extends AdminAction 
 	{
 
     	var $_editBlogId;
@@ -23,7 +23,7 @@
          */
         function AdminEditBlogAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// data validation
 			$this->registerFieldValidator( "blogId", new IntegerValidator());

Modified: plog/trunk/class/action/admin/admineditblogcategoryaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admineditblogcategoryaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admineditblogcategoryaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/adminblogcategorieslistview.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/dao/blogcategories.class.php" );
@@ -14,7 +14,7 @@
      *
      * Action that shows a form to change the settings of the article category
      */
-    class AdminEditBlogCategoryAction extends SiteAdminAction 
+    class AdminEditBlogCategoryAction extends AdminAction 
 	{
 
     	var $_categoryId;
@@ -25,7 +25,7 @@
          */
         function AdminEditGlobalArticleCategoryAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// stuff for the data validation
 			$this->registerFieldValidator( "categoryId", new IntegerValidator());

Modified: plog/trunk/class/action/admin/admineditglobalarticlecategoriesaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admineditglobalarticlecategoriesaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admineditglobalarticlecategoriesaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -4,7 +4,7 @@
        * version 1.0 
        * Changed from original article category.
        */
-	  lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	  lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
       lt_include( PLOG_CLASS_PATH."class/view/admin/adminglobalarticlecategorieslistview.class.php" );
 
     /**
@@ -13,7 +13,7 @@
      *
      * Action that shows a form to add a link for the blogroll feature
      */
-    class AdminEditGlobalArticleCategoriesAction extends SiteAdminAction 
+    class AdminEditGlobalArticleCategoriesAction extends AdminAction 
 	{
 
     	/**
@@ -22,7 +22,7 @@
          */
         function AdminEditGlobalArticleCategoriesAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			$this->_searchTerms = $this->_request->getValue( "searchTerms" );
         }

Modified: plog/trunk/class/action/admin/admineditglobalarticlecategoryaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admineditglobalarticlecategoryaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admineditglobalarticlecategoryaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -5,7 +5,7 @@
        * Changed from original article category.
        */
 
-		lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+		lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
         lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
         lt_include( PLOG_CLASS_PATH."class/view/admin/adminglobalarticlecategorieslistview.class.php" );
         lt_include( PLOG_CLASS_PATH."class/dao/globalarticlecategories.class.php" );
@@ -19,7 +19,7 @@
      *
      * Action that shows a form to change the settings of the article category
      */
-    class AdminEditGlobalArticleCategoryAction extends SiteAdminAction 
+    class AdminEditGlobalArticleCategoryAction extends AdminAction 
 	{
 
     	var $_categoryId;
@@ -30,7 +30,7 @@
          */
         function AdminEditGlobalArticleCategoryAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// stuff for the data validation
 			$this->registerFieldValidator( "categoryId", new IntegerValidator());

Modified: plog/trunk/class/action/admin/admineditpermissionaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admineditpermissionaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/admineditpermissionaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/adminpermissionslistview.class.php" );	
 	lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );	
@@ -12,17 +12,19 @@
  	 *
  	 * Adds a new permission to the database
      */
-    class AdminEditPermissionAction extends SiteAdminAction 
+    class AdminEditPermissionAction extends AdminAction 
 	{
 		function AdminEditPermissionAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// register two validators
 			$this->registerFieldValidator( "permId", new IntegerValidator());
 			$errorView = new AdminPermissionsListView( $this->_blogInfo );
 			$errorView->setErrorMessage( $this->_locale->tr("error_fetching_permission" ));			
 			$this->setValidationErrorView( $errorView );
+			
+			$this->requirePermission( "update_permission" );
 		}
 		
         function perform()

Modified: plog/trunk/class/action/admin/adminedittemplatesaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminedittemplatesaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminedittemplatesaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,18 +1,18 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminsitetemplateslistview.class.php" );
 
     /**
      * \ingroup Action
      * @private
      */
-    class AdminEditTemplatesAction extends SiteAdminAction 
+    class AdminEditTemplatesAction extends AdminAction 
     {
 
         function AdminEditTemplatesAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         }
 
         /**

Modified: plog/trunk/class/action/admin/adminglobalsettingsaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminglobalsettingsaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminglobalsettingsaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminglobalsettingslistview.class.php" );
 
     /**
@@ -9,11 +9,14 @@
      *
      * List of all the available settings for the site
      */
-    class AdminGlobalSettingsAction extends SiteAdminAction {
+    class AdminGlobalSettingsAction extends AdminAction 
+	{
 
     	function AdminGlobalSettingsAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
+
+			$this->requireAdminPermission( "view_global_settings" );
         }
 
         function perform()

Modified: plog/trunk/class/action/admin/adminnewblogcategoryaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminnewblogcategoryaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminnewblogcategoryaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
 
     /**
@@ -9,7 +9,7 @@
      *
      * Action that adds a new blog category
      */
-    class AdminNewBlogCategoryAction extends SiteAdminAction
+    class AdminNewBlogCategoryAction extends AdminAction
     {
 
     	/**
@@ -18,7 +18,7 @@
          */
         function AdminNewBlogCategoryAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         }
 
         /**

Modified: plog/trunk/class/action/admin/adminnewglobalarticlecategoryaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminnewglobalarticlecategoryaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminnewglobalarticlecategoryaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -6,7 +6,7 @@
        */
      
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
 
     /**
@@ -15,7 +15,7 @@
      *
      * Action that adds a new category for the articles to the database
      */
-    class AdminNewGlobalArticleCategoryAction extends SiteAdminAction 
+    class AdminNewGlobalArticleCategoryAction extends AdminAction 
     {
 
     	/**
@@ -24,7 +24,7 @@
          */
         function AdminNewGlobalArticleCategoryAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         }
 
         /**

Modified: plog/trunk/class/action/admin/adminnewlocaleaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminnewlocaleaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminnewlocaleaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
 
     /**
@@ -9,12 +9,12 @@
      *
      * Shows a form to add a new locale file
      */
-    class AdminNewLocaleAction extends SiteAdminAction 
+    class AdminNewLocaleAction extends AdminAction 
     {
 
     	function AdminNewLocaleAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         }
 
         function perform()

Modified: plog/trunk/class/action/admin/adminnewpermissionaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminnewpermissionaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminnewpermissionaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
 
     /**
@@ -9,8 +9,15 @@
  	 *
  	 * Shows the form to add a new permission
      */
-    class AdminNewPermissionAction extends SiteAdminAction 
+    class AdminNewPermissionAction extends AdminAction 
 	{
+		function AdminNewPermissionAction( $actionInfo, $request )
+		{
+			$this->AdminAction( $actionInfo, $request );
+			
+			$this->requireAdminPermission( "add_permission" );
+		}
+		
         function perform()
         {
 			$this->_view = new AdminTemplatedView( $this->_blogInfo, "newpermission" );

Modified: plog/trunk/class/action/admin/adminnewtemplateaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminnewtemplateaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminnewtemplateaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/template/templatesets/templatesetstorage.class.php" );
 
@@ -10,11 +10,11 @@
      *
      * Shows a form to add a new locale file
      */
-    class AdminNewTemplateAction extends SiteAdminAction {
+    class AdminNewTemplateAction extends AdminAction {
 
     	function AdminNewLocaleAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         }
 
         function perform()

Modified: plog/trunk/class/action/admin/adminpermissionslistaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminpermissionslistaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminpermissionslistaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/adminpermissionslistview.class.php" );
 
     /**
@@ -9,8 +9,16 @@
  	 *
  	 * Lists all the permissions available
      */
-    class AdminPermissionsListAction extends SiteAdminAction 
+    class AdminPermissionsListAction extends AdminAction 
 	{
+		
+		function AdminPermissionsListAction( $actionInfo, $request )
+		{
+			$this->AdminAction( $actionInfo, $request );
+			
+			$this->requireAdminPermission( "view_permissions" );
+		}
+		
         function perform()
         {
 			$this->_view = new AdminPermissionsListView( $this->_blogInfo );

Modified: plog/trunk/class/action/admin/adminplugincenteraction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminplugincenteraction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminplugincenteraction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminerrorview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/plugin/pluginmanager.class.php" );
@@ -19,7 +19,7 @@
      * <li>I'll add more when I can think of more :)</li>
      * </ul>
      */
-    class AdminPluginCenterAction extends SiteAdminAction 
+    class AdminPluginCenterAction extends AdminAction 
 	{
 
     	/**
@@ -28,7 +28,7 @@
          */
         function AdminPluginCenterAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         }
 
         /**

Modified: plog/trunk/class/action/admin/adminpluginsettingsaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminpluginsettingsaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminpluginsettingsaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,13 +1,13 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminpluginsettingsview.class.php" );
 
     /**
      * \ingroup Action
      * @private
      */
-    class AdminPluginSettingsAction extends SiteAdminAction 
+    class AdminPluginSettingsAction extends AdminAction 
 	{
 
     	/**
@@ -16,7 +16,7 @@
          */
         function AdminPluginSettingsAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         }
 
         /**

Modified: plog/trunk/class/action/admin/adminresendconfirmationaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminresendconfirmationaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminresendconfirmationaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminsiteblogslistview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/admineditsiteblogview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
@@ -12,7 +12,7 @@
      *
      * Action that shows a form to change the settings of a blog.
      */
-    class AdminResendConfirmationAction extends SiteAdminAction 
+    class AdminResendConfirmationAction extends AdminAction 
 	{
 
     	var $_editBlogId;
@@ -23,7 +23,7 @@
          */
         function AdminResendConfirmationAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// data validation
 			$this->registerFieldValidator( "blogId", new IntegerValidator());

Modified: plog/trunk/class/action/admin/adminsiteblogsaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminsiteblogsaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminsiteblogsaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminsiteblogslistview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
 
@@ -10,12 +10,12 @@
      *
      * Shows a list with all the blogs available in the site
      */
-    class AdminSiteBlogsAction extends SiteAdminAction 
+    class AdminSiteBlogsAction extends AdminAction 
 	{
 
     	function AdminSiteBlogsAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         }
         
         function perform()

Modified: plog/trunk/class/action/admin/adminsitelocalesaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminsitelocalesaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminsitelocalesaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminsitelocaleslistview.class.php" );
 	
     /**
@@ -9,11 +9,11 @@
      *
 	 * displays a list with all the locales available in this site
 	 */
-    class AdminSiteLocalesAction extends SiteAdminAction {
+    class AdminSiteLocalesAction extends AdminAction {
 
     	function AdminSiteLocalesAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         }
 
         function perform()

Modified: plog/trunk/class/action/admin/adminsitesettingsaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminsitesettingsaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminsitesettingsaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
 
     /**
@@ -9,11 +9,11 @@
      *
      * This one only shows some statistics about the site...
      */
-    class AdminSiteSettingsAction extends SiteAdminAction 
+    class AdminSiteSettingsAction extends AdminAction 
     {   
     	function AdminSiteSettingsAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
         }
 
         function perform()

Modified: plog/trunk/class/action/admin/adminsiteusersaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminsiteusersaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminsiteusersaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminsiteuserslistview.class.php" );
 
     /**
@@ -9,12 +9,14 @@
      *
      * This one only shows some statistics about the site...
      */
-    class AdminSiteUsersAction extends SiteAdminAction 
+    class AdminSiteUsersAction extends AdminAction 
 	{
 
     	function AdminSiteUsersAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
+
+			$this->requireAdminPermission( "view_users" );
         }
 
         function perform()

Modified: plog/trunk/class/action/admin/adminupdateblogcategoryaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminupdateblogcategoryaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminupdateblogcategoryaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/dao/blogcategories.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
@@ -15,7 +15,7 @@
      *
      * Updates an article category.
      */
-    class AdminUpdateBlogCategoryAction extends SiteAdminAction 
+    class AdminUpdateBlogCategoryAction extends AdminAction 
 	{
 
     	var $_categoryName;
@@ -30,7 +30,7 @@
          */
         function AdminUpdateBlogCategoryAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// data validation settings
 			$this->registerFieldValidator( "categoryName", new StringValidator());

Modified: plog/trunk/class/action/admin/adminupdateeditblogaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminupdateeditblogaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminupdateeditblogaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminsiteblogslistview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/admineditsiteblogview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/dao/blogs.class.php" );
@@ -17,7 +17,7 @@
      *
      * Action that shows a form to change the settings of the current blog.
      */
-    class AdminUpdateEditBlogAction extends SiteAdminAction 
+    class AdminUpdateEditBlogAction extends AdminAction 
 	{
 
     	var $_blogLocale;
@@ -37,7 +37,7 @@
          */
         function AdminUpdateEditBlogAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// data validation
 			$this->registerFieldValidator( "blogUsers", new ArrayValidator(), true );

Modified: plog/trunk/class/action/admin/adminupdateglobalarticlecategoryaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminupdateglobalarticlecategoryaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminupdateglobalarticlecategoryaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -4,7 +4,7 @@
        * version 1.0 
        * Changed from original article category.
        */
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/dao/globalarticlecategories.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
@@ -19,7 +19,7 @@
      *
      * Updates an article category.
      */
-    class AdminUpdateGlobalArticleCategoryAction extends SiteAdminAction 
+    class AdminUpdateGlobalArticleCategoryAction extends AdminAction 
 	{
 
     	var $_categoryName;
@@ -34,7 +34,7 @@
          */
         function AdminUpdateGlobalArticleCategoryAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// data validation settings
 			$this->registerFieldValidator( "categoryName", new StringValidator());

Modified: plog/trunk/class/action/admin/adminupdateglobalsettingsaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminupdateglobalsettingsaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminupdateglobalsettingsaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminglobalsettingslistview.class.php" );
 
     /**
@@ -9,14 +9,16 @@
      *
      * Updates the settings of the site
      */
-    class AdminUpdateGlobalSettingsAction extends SiteAdminAction 
+    class AdminUpdateGlobalSettingsAction extends AdminAction 
     {
 
     	var $_newConfigOpts;
 
     	function AdminUpdateGlobalSettingsAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
+
+			$this->requireAdminPermission( "update_global_settings" );
         }
 
         function validate()

Modified: plog/trunk/class/action/admin/adminupdatepermissionaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminupdatepermissionaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminupdatepermissionaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/adminpermissionslistview.class.php" );	
 	lt_include( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );	
@@ -13,11 +13,11 @@
  	 *
  	 * Updates an existing permission in the database
      */
-    class AdminUpdatePermissionAction extends SiteAdminAction 
+    class AdminUpdatePermissionAction extends AdminAction 
 	{
 		function AdminUpdatePermissionAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// register two validators
 			$this->registerFieldValidator( "permissionName", new StringValidator());
@@ -29,6 +29,8 @@
 			$errorView = new AdminTemplatedView( $this->_blogInfo, "editpermission" );
 			$errorView->setErrorMessage( $this->_locale->tr("error_updating_permission" ));			
 			$this->setValidationErrorView( $errorView );
+			
+			$this->requirePermission( "update_permission" );			
 		}
 		
         function perform()

Modified: plog/trunk/class/action/admin/adminupdatepluginsettingsaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminupdatepluginsettingsaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminupdatepluginsettingsaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminpluginsettingsview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/plugin/pluginmanager.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/data/validator/emptyvalidator.class.php" );
@@ -10,7 +10,7 @@
      * \ingroup Action
      * @private
      */
-    class AdminUpdatePluginSettingsAction extends SiteAdminAction 
+    class AdminUpdatePluginSettingsAction extends AdminAction 
 	{
 		
 		var $pm;
@@ -21,7 +21,7 @@
          */
         function AdminUpdatePluginSettingsAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 
         	// initialize the plugin manager and load the plugins
         	$this->pm =& PluginManager::getPluginManager();			

Modified: plog/trunk/class/action/admin/adminupdateuserprofileaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminupdateuserprofileaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminupdateuserprofileaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/emailvalidator.class.php" );	
     lt_include( PLOG_CLASS_PATH."class/view/admin/admineditsiteuserview.class.php" );
@@ -16,7 +16,7 @@
      *
 	 * updates user settings
 	 */
-    class AdminUpdateUserProfileAction extends SiteAdminAction 
+    class AdminUpdateUserProfileAction extends AdminAction 
 	{
 
     	var $_userId;
@@ -29,7 +29,7 @@
 
     	function AdminUpdateUserProfileAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// data validation
 			$this->registerField( "userFullName" );
@@ -45,6 +45,8 @@
 			$view = new AdminEditSiteUserView( $this->_blogInfo );
 			$view->setErrorMessage( $this->_locale->tr("error_updating_user"));
 			$this->setValidationErrorView( $view );
+			
+			$this->requireAdminPermission( "update_user" );			
         }
 		
         function perform()

Modified: plog/trunk/class/action/admin/adminuserprofileaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminuserprofileaction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/adminuserprofileaction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,6 +1,6 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/adminsiteuserslistview.class.php" );
     lt_include( PLOG_CLASS_PATH."class/view/admin/admineditsiteuserview.class.php" );
@@ -12,20 +12,22 @@
      *
 	 * allows to edit the profile of a user
 	 */
-    class AdminUserProfileAction extends SiteAdminAction 
+    class AdminUserProfileAction extends AdminAction 
 	{
 
     	var $_userId;
 
     	function AdminUserProfileAction( $actionInfo, $request )
         {
-        	$this->SiteAdminAction( $actionInfo, $request );
+        	$this->AdminAction( $actionInfo, $request );
 			
 			// data validation
 			$this->registerFieldValidator( "userId", new IntegerValidator());
 			$view = new AdminSiteUsersListView( $this->_blogInfo );
 			$view->setErrorMessage( $this->_locale->tr("error_invalid_user" ));
 			$this->setValidationErrorView( $view );
+			
+			$this->requireAdminPermission( "update_user" );			
         }
 
         function perform()

Modified: plog/trunk/class/action/admin/chooser/adminblogchooseraction.class.php
===================================================================
--- plog/trunk/class/action/admin/chooser/adminblogchooseraction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/chooser/adminblogchooseraction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,14 +1,14 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/chooser/adminblogchooserview.class.php" );
 
-	class AdminBlogChooserAction extends SiteAdminAction
+	class AdminBlogChooserAction extends AdminAction
 	{
 	
 		function AdminBlogChooserAction( $actionInfo, $request )
 		{
-			$this->SiteAdminAction( $actionInfo, $request );
+			$this->AdminAction( $actionInfo, $request );
 		}
 		
 		function perform()

Modified: plog/trunk/class/action/admin/chooser/adminuserchooseraction.class.php
===================================================================
--- plog/trunk/class/action/admin/chooser/adminuserchooseraction.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/action/admin/chooser/adminuserchooseraction.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -1,14 +1,14 @@
 <?php
 
-	lt_include( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/view/admin/chooser/adminuserchooserview.class.php" );
 
-	class AdminUserChooserAction extends SiteAdminAction
+	class AdminUserChooserAction extends AdminAction
 	{
 	
 		function AdminUserChooserAction( $actionInfo, $request )
 		{
-			$this->SiteAdminAction( $actionInfo, $request );
+			$this->AdminAction( $actionInfo, $request );
 		}
 		
 		function perform()

Modified: plog/trunk/class/template/menu/menurenderer.class.php
===================================================================
--- plog/trunk/class/template/menu/menurenderer.class.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/template/menu/menurenderer.class.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -119,24 +119,23 @@
 		 */
 		function userCanSee( $node )
 		{
-			// check if the node is for admins and if the user is an admin
-			$nodeIsAdminOnly = $node->getAttribute( "siteAdmin" );
-			if( $nodeIsAdminOnly && !$this->_userInfo->isSiteAdmin())
-				return false;
-				
 			// if the user is the blog owner, then he can see
-			if( $this->_userInfo->getId() == $this->_blogInfo->getOwnerId())
-				return true;
+			if( $node->getAttribute( "admin" ) != "1" ) {
+				if( $this->_userInfo->getId() == $this->_blogInfo->getOwnerId())
+					return true;
+			}
 				
 			// get the AND permissions for the node but if there are no permissions assigned, then we can see
 			$nodeAndPerms = $node->getAttribute("andPerms");
 			if( $nodeAndPerms != "" ) {
+				//print("here? node: ".$node->name."<br/>");				
 				// we can specify more than one permissions separated with a comma
 				$perms = explode( ",", $nodeAndPerms );
 				// and check if the current user has such permission in this blog
 				foreach( $perms as $perm ) {
 					$perm = trim( $perm );
-					if( !$this->_userInfo->hasPermissionByName( $perm, $this->_blogInfo->getId())) {
+					if( (!$this->_userInfo->hasPermissionByName( $perm, $this->_blogInfo->getId())) &&
+					    (!$this->_userInfo->hasPermissionByName( $perm, 0 ))) {
 						return false;
 					}
 				}
@@ -152,8 +151,10 @@
 				// and check if the current user has such permission in this blog
 				foreach( $perms as $perm ) {
 					$perm = trim( $perm );		
-					if( $this->_userInfo->hasPermissionByName( $perm, $this->_blogInfo->getId()))
+					if( ($this->_userInfo->hasPermissionByName( $perm, $this->_blogInfo->getId())) ||
+					    ($this->_userInfo->hasPermissionByName( $perm, 0 ))) {
 						return true;
+					}
 				}
 				
 				return false;

Modified: plog/trunk/class/template/smarty/plugins/block.check_perms.php
===================================================================
--- plog/trunk/class/template/smarty/plugins/block.check_perms.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/class/template/smarty/plugins/block.check_perms.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -34,21 +34,30 @@
 		}
 	
 		// fetch the permission name
-		if( !isset( $params["perm"] ))
-			$smarty->trigger_error( "Permission to check is missing!" );
+		if( isset( $params["perm"] )) {
 	
-		$perm = $params["perm"];
+			$perm = $params["perm"];
 
-		// if the user is an admin, he should be allowed
-		if( $user->isSiteAdmin())
-			return $content;
+			// if the user is an admin, he should be allowed
+			if( $user->isSiteAdmin())
+				return $content;
 	
-		// if the user is the blog owner, he should be allowed
-		if( $user->getId() == $blog->getOwnerId())
-			return $content;
+			// if the user is the blog owner, he should be allowed
+			if( $user->getId() == $blog->getOwnerId())
+				return $content;
+				
+			$blogId = $blog->getId();
+		}
+		elseif( isset( $params["adminperm"] )) {
+			$perm = $params["adminperm"];
+			$blogId = 0;
+		}
+		else {
+			$smarty->trigger_error( "'perm' and 'adminperm' parameters are both missing!" );			
+		}
 		
 		// check the permission
-		if( $user->hasPermissionByName( $perm, $blog->getId()))
+		if( $user->hasPermissionByName( $perm, $blogId ))
 			return $content;
 			
 		return "";

Modified: plog/trunk/install/corepermissions.properties.php
===================================================================
--- plog/trunk/install/corepermissions.properties.php	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/install/corepermissions.properties.php	2006-11-08 21:26:18 UTC (rev 4273)
@@ -59,7 +59,7 @@
 	Array( "update_user", "update_user_desc", true, true ),
 	Array( "add_permission", "add_permission_desc", true, true ),
 	Array( "view_permissions", "view_permissions_desc", true, true ),
-	Array( "update_permission", "update_permissons_desc", true, true ),
+	Array( "update_permission", "update_permission_desc", true, true ),
 	Array( "add_site_blog", "add_site_blog_desc", true, true ),
 	Array( "view_site_blogs", "view_site_blogs_desc", true, true ),
 	Array( "update_site_blog", "update_site_blog_desc", true, true ),
@@ -70,7 +70,7 @@
 	Array( "view_locales", "view_locales_desc", true, true ),
 	Array( "update_locale", "update_locale_desc", true, true ),
 	Array( "add_template", "add_template_desc", true, true ),
-	Array( "view_templates", "view_templates", true, true ),
+	Array( "view_templates", "view_templates_desc", true, true ),
 	Array( "update_template", "update_template_desc", true, true ),
 	Array( "add_global_category", "add_global_article_category_desc", true, true ),
 	Array( "view_global_categories", "view_global_article_categories_desc", true, true ),

Modified: plog/trunk/templates/admin/globalsettings.template
===================================================================
--- plog/trunk/templates/admin/globalsettings.template	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/templates/admin/globalsettings.template	2006-11-08 21:26:18 UTC (rev 4273)
@@ -66,8 +66,10 @@
   <div class="buttons">
     <input type="hidden" name="op" value="updateGlobalSettings"/>
     <input type="hidden" name="show" value="{$show}" />
-    <input type="reset" name="reset" value="{$locale->tr("reset")}" />
-    <input type="submit" name="{$locale->tr("update")}" value="{$locale->tr("update")}"/>
+    {check_perms adminperm=update_global_settings}
+      <input type="reset" name="reset" value="{$locale->tr("reset")}" />
+      <input type="submit" name="{$locale->tr("update")}" value="{$locale->tr("update")}"/>
+	{/check_perms}
   </div>
   </form>
 {include file="$admintemplatepath/footernavigation.template"}

Modified: plog/trunk/templates/admin/menus.xml
===================================================================
--- plog/trunk/templates/admin/menus.xml	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/templates/admin/menus.xml	2006-11-08 21:26:18 UTC (rev 4273)
@@ -41,51 +41,51 @@
 		  <blogTemplates url="?op=blogTemplates" andPerms="view_blog_template" />
 		 </manageBlogTemplates> 
 	</controlCenter>
-	<adminSettings url="?op=adminSettings" siteAdmin="1">
-		<Users ignoreBreadCrumbs="1">
-			<createUser url="?op=createUser" siteAdmin="1" />
-			<editSiteUsers url="?op=editSiteUsers" siteAdmin="1" />
-			<permissionsList url="?op=permissionsList" siteAdmin="1" />
-			<newPermission url="?op=newPermission" siteAdmin="1" />			
+	<adminSettings url="?op=adminSettings" admin="1" orPerms="add_user,view_users,add_permission,view_permissions,add_blog,view_blogs,add_blog_category,view_blog_categories,add_locale,view_locales,add_template,view_templates,add_global_category,view_global_categories,view_global_settings,view_plugins,update_plugin_settings,purge_data">
+		<Users ignoreBreadCrumbs="1" orPerms="add_user,view_users,add_permission,view_permissions" admin="1">
+			<createUser url="?op=createUser" andPerms="add_user" admin="1"/>
+			<editSiteUsers url="?op=editSiteUsers" andPerms="view_users" admin="1"/>
+			<newPermission url="?op=newPermission" andPerms="add_permission" admin="1"/>			
+			<permissionsList url="?op=permissionsList" andPerms="view_permissions" admin="1" />
 		</Users>
-		<Blogs ignoreBreadCrumbs="1">
-			<createBlog url="?op=createBlog" siteAdmin="1" />
-			<editSiteBlogs url="?op=editSiteBlogs" siteAdmin="1" />		
-			<newBlogCategory url="?op=newBlogCategory" siteAdmin="1" />
-			<editBlogCategories url="?op=editBlogCategories" siteAdmin="1" />			
+		<Blogs ignoreBreadCrumbs="1" admin="1" orPerms="add_blog,view_blogs,add_blog_category,view_blog_categories">
+			<createBlog url="?op=createBlog" admin="1" andPerms="add_blog" />
+			<editSiteBlogs url="?op=editSiteBlogs" admin="1" andPerms="view_blogs"/>
+			<newBlogCategory url="?op=newBlogCategory" admin="1" andPerms="add_blog_category"/>
+			<editBlogCategories url="?op=editBlogCategories"  admin="1" andPerms="view_blog_categories"/>
 		</Blogs>
-		<Locales ignoreBreadCrumbs="1">
-			<newLocale url="?op=newLocale" siteAdmin="1" />
-			<siteLocales url="?op=siteLocales" siteAdmin="1" />		
+		<Locales ignoreBreadCrumbs="1" orPerms="add_locale,view_locales" admin="1">
+			<newLocale url="?op=newLocale" admin="1" andPerms="add_locale"/>
+			<siteLocales url="?op=siteLocales" admin="1" andPerms="view_locales"/>
 		</Locales>
-		<Templates ignoreBreadCrumbs="1">
-			<newTemplate url="?op=newTemplate" siteAdmin="1" />
-			<siteTemplates url="?op=siteTemplates" siteAdmin="1" />		
+		<Templates ignoreBreadCrumbs="1" admin="1" orPerms="add_template,view_templates">
+			<newTemplate url="?op=newTemplate" andPerms="add_template"/>
+			<siteTemplates url="?op=siteTemplates" andPerms="view_templates"/>
 		</Templates>
-	    <manageGlobalArticleCategory ignoreBreadCrumbs="1">
-	    	<newGlobalArticleCategory url="?op=newGlobalArticleCategory" siteAdmin="1" /> 	    
- 		    <editGlobalArticleCategories url="?op=editGlobalArticleCategories" siteAdmin="1" />
+	    <manageGlobalArticleCategory ignoreBreadCrumbs="1" admin="1" orPerms="add_global_category,view_global_categories" >
+	    	<newGlobalArticleCategory url="?op=newGlobalArticleCategory" andPerms="add_global_category" />
+ 		    <editGlobalArticleCategories url="?op=editGlobalArticleCategories" andPerms="view_global_categories" />
 		</manageGlobalArticleCategory>		
-		<GlobalSettings ignoreBreadCrumbs="1">
-			<editSiteSettings url="?op=editSiteSettings&amp;show=general" siteAdmin="1" />
-			<summarySettings url="?op=editSiteSettings&amp;show=summary" siteAdmin="1" />
-			<templateSettings url="?op=editSiteSettings&amp;show=templates" siteAdmin="1"   />
-			<urlSettings url="?op=editSiteSettings&amp;show=urls" siteAdmin="1"  />
-			<emailSettings url="?op=editSiteSettings&amp;show=email" siteAdmin="1"  />
-			<uploadSettings url="?op=editSiteSettings&amp;show=upload" siteAdmin="1"  />
-			<helpersSettings url="?op=editSiteSettings&amp;show=helpers" siteAdmin="1" />
-			<interfacesSettings url="?op=editSiteSettings&amp;show=interfaces" siteAdmin="1" />
-			<securitySettings url="?op=editSiteSettings&amp;show=security" siteAdmin="1" />
-			<bayesianSettings url="?op=editSiteSettings&amp;show=bayesian" siteAdmin="1" />
-			<resourcesSettings url="?op=editSiteSettings&amp;show=resources" siteAdmin="1" />
-			<searchSettings url="?op=editSiteSettings&amp;show=search" siteAdmin="1" />
+		<GlobalSettings ignoreBreadCrumbs="1" andPerms="view_global_settings"  admin="1">
+			<editSiteSettings url="?op=editSiteSettings&amp;show=general" andPerms="view_global_settings"  admin="1"/>
+			<summarySettings url="?op=editSiteSettings&amp;show=summary" andPerms="view_global_settings"  admin="1"/>
+			<templateSettings url="?op=editSiteSettings&amp;show=templates" andPerms="view_global_settings"  admin="1"/>
+			<urlSettings url="?op=editSiteSettings&amp;show=urls" andPerms="view_global_settings"  admin="1"/>
+			<emailSettings url="?op=editSiteSettings&amp;show=email" andPerms="view_global_settings"  admin="1"/>
+			<uploadSettings url="?op=editSiteSettings&amp;show=upload" andPerms="view_global_settings"  admin="1"/>
+			<helpersSettings url="?op=editSiteSettings&amp;show=helpers" andPerms="view_global_settings"  admin="1"/>
+			<interfacesSettings url="?op=editSiteSettings&amp;show=interfaces" andPerms="view_global_settings"  admin="1"/>
+			<securitySettings url="?op=editSiteSettings&amp;show=security" andPerms="view_global_settings"  admin="1"/>
+			<bayesianSettings url="?op=editSiteSettings&amp;show=bayesian" andPerms="view_global_settings"  admin="1"/>
+			<resourcesSettings url="?op=editSiteSettings&amp;show=resources" andPerms="view_global_settings"  admin="1"/>
+			<searchSettings url="?op=editSiteSettings&amp;show=search" andPerms="view_global_settings"  admin="1"/>
 		</GlobalSettings>
-		<Plugins ignoreBreadCrumbs="1">
-		  <pluginCenter url="?op=pluginCenter" siteAdmin="1" />
-		  <pluginSettings url="?op=pluginSettings" siteAdmin="1" />		
+		<Plugins ignoreBreadCrumbs="1" admin="1" orPerms="view_plugins,update_plugin_settings">
+		  <pluginCenter url="?op=pluginCenter" admin="1" andPerms="view_plugins"/>
+		  <pluginSettings url="?op=pluginSettings" admin="1" andPerms="update_plugin_settings"/>		
 		</Plugins>
-		<Miscellaneous ignoreBreadCrums="1">
-			<cleanUp url="?op=cleanUp" siteAdmin="1" />
+		<Miscellaneous ignoreBreadCrums="1" admin="1" orPerms="purge_data">
+			<cleanUp url="?op=cleanUp" admin="1" andPerms="purge_data"/>
 		</Miscellaneous>
 	</adminSettings>
 	<Logout url="?op=Logout" /> 

Modified: plog/trunk/templates/admin/permissions.template
===================================================================
--- plog/trunk/templates/admin/permissions.template	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/templates/admin/permissions.template	2006-11-08 21:26:18 UTC (rev 4273)
@@ -39,8 +39,10 @@
    </td>
    <td>
      <div class="list_action_button">
+	   {check_perms perm=update_permission}	
        {if !$perm->isCorePermission()}<a href="?op=editPermission&amp;permId={$perm->getId()}"><img src="imgs/admin/icon_edit-16.png" alt="{$locale->tr("edit")}" /></a>{/if}
        {if !$perm->isCorePermission()}<a href="?op=deletePermission&amp;permId={$perm->getId()}"><img src="imgs/admin/icon_delete-16.png" alt="{$locale->tr("delete")}" /></a>{/if}
+	  {/check_perms}
      </div>
    </td>
   </tr>
@@ -49,8 +51,10 @@
  </table>
  </div>
  <div id="list_action_bar">
+  {check_perms perm=update_permission}		
   <input type="hidden" name="op" value="deletePermissions"/>
   <input type="submit" name="Delete selected" value="{$locale->tr("delete")}"/>
+  {/check_perms}
  </div>
  </form>
 {include file="$admintemplatepath/footernavigation.template"}

Modified: plog/trunk/templates/admin/siteusers.template
===================================================================
--- plog/trunk/templates/admin/siteusers.template	2006-11-08 05:47:22 UTC (rev 4272)
+++ plog/trunk/templates/admin/siteusers.template	2006-11-08 21:26:18 UTC (rev 4273)
@@ -79,8 +79,10 @@
                         </td>
                         <td>
                             <div class="list_action_button">
+							{check_perms adminperm=update_user}
                             <a href="?op=editSiteUser&amp;userId={$siteuser->getId()}"><img src="imgs/admin/icon_edit-16.png" alt="{$locale->tr("editUser")}" /></a>
                             <a href="?op=deleteUser&amp;userId={$siteuser->getId()}"><img src="imgs/admin/icon_delete-16.png" alt="{$locale->tr("delete")}" /></a>
+							{/check_perms}
                             </div>
                         </td>
                     </tr>
@@ -90,8 +92,10 @@
         </div>        
         <div id="list_action_bar">
             {adminpager style=list}
-            <input type="submit" name="delete" value="{$locale->tr("delete")}" class="submit" />
-            <input type="hidden" name="op" value="deleteUsers" />
+			{check_perms adminperm=update_user}
+              <input type="submit" name="delete" value="{$locale->tr("delete")}" class="submit" />
+              <input type="hidden" name="op" value="deleteUsers" />
+			{/check_perms}
         </div>
 	</form>
 



More information about the pLog-svn mailing list