]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/adminpanelaction.php
Ticket #2210: adjust locale setup fallback to try more locales on the system if en_US...
[quix0rs-gnu-social.git] / lib / adminpanelaction.php
index f05627b317cd47ffbfc9eff4cbf3988301a20a89..d43ea76984df4eb9f651a920638c28603a1f087a 100644 (file)
@@ -103,7 +103,7 @@ class AdminPanelAction extends Action
 
         $name = mb_substr($name, 0, -10);
 
-        if (!in_array($name, common_config('admin', 'panels'))) {
+        if (!self::canAdmin($name)) {
             $this->clientError(_('Changes to that panel are not allowed.'), 403);
             return false;
         }
@@ -171,6 +171,24 @@ class AdminPanelAction extends Action
         $this->showForm();
     }
 
+    /**
+     * Show content block. Overrided just to add a special class
+     * to the content div to allow styling.
+     *
+     * @return nothing
+     */
+    function showContentBlock()
+    {
+        $this->elementStart('div', array('id' => 'content', 'class' => 'admin'));
+        $this->showPageTitle();
+        $this->showPageNoticeBlock();
+        $this->elementStart('div', array('id' => 'content_inner'));
+        // show the actual content (forms, lists, whatever)
+        $this->showContent();
+        $this->elementEnd('div');
+        $this->elementEnd('div');
+    }
+
     /**
      * show human-readable instructions for the page, or
      * a success/failure on save.
@@ -262,6 +280,17 @@ class AdminPanelAction extends Action
 
         return $result;
     }
+
+    function canAdmin($name)
+    {
+        $isOK = false;
+
+        if (Event::handle('AdminPanelCheck', array($name, &$isOK))) {
+            $isOK = in_array($name, common_config('admin', 'panels'));
+        }
+
+        return $isOK;
+    }
 }
 
 /**
@@ -307,34 +336,44 @@ class AdminPanelNav extends Widget
 
         if (Event::handle('StartAdminPanelNav', array($this))) {
 
-            if ($this->canAdmin('site')) {
+            if (AdminPanelAction::canAdmin('site')) {
                 $this->out->menuItem(common_local_url('siteadminpanel'), _('Site'),
                                      _('Basic site configuration'), $action_name == 'siteadminpanel', 'nav_site_admin_panel');
             }
 
-            if ($this->canAdmin('design')) {
+            if (AdminPanelAction::canAdmin('design')) {
                 $this->out->menuItem(common_local_url('designadminpanel'), _('Design'),
                                      _('Design configuration'), $action_name == 'designadminpanel', 'nav_design_admin_panel');
             }
 
-            if ($this->canAdmin('user')) {
+            if (AdminPanelAction::canAdmin('user')) {
                 $this->out->menuItem(common_local_url('useradminpanel'), _('User'),
-                                     _('User configuration'), $action_name == 'useradminpanel', 'nav_design_admin_panel');
+                                     _('User configuration'), $action_name == 'useradminpanel', 'nav_user_admin_panel');
             }
 
-            if ($this->canAdmin('access')) {
+            if (AdminPanelAction::canAdmin('access')) {
                 $this->out->menuItem(common_local_url('accessadminpanel'), _('Access'),
-                                     _('Access configuration'), $action_name == 'accessadminpanel', 'nav_design_admin_panel');
+                                     _('Access configuration'), $action_name == 'accessadminpanel', 'nav_access_admin_panel');
             }
 
-            if ($this->canAdmin('paths')) {
+            if (AdminPanelAction::canAdmin('paths')) {
                 $this->out->menuItem(common_local_url('pathsadminpanel'), _('Paths'),
-                                    _('Paths configuration'), $action_name == 'pathsadminpanel', 'nav_design_admin_panel');
+                                    _('Paths configuration'), $action_name == 'pathsadminpanel', 'nav_paths_admin_panel');
             }
 
-            if ($this->canAdmin('sessions')) {
+            if (AdminPanelAction::canAdmin('sessions')) {
                 $this->out->menuItem(common_local_url('sessionsadminpanel'), _('Sessions'),
-                                     _('Sessions configuration'), $action_name == 'sessionsadminpanel', 'nav_design_admin_panel');
+                                     _('Sessions configuration'), $action_name == 'sessionsadminpanel', 'nav_sessions_admin_panel');
+            }
+
+            if (AdminPanelAction::canAdmin('sitenotice')) {
+                $this->out->menuItem(common_local_url('sitenoticeadminpanel'), _('Site notice'),
+                                     _('Edit site notice'), $action_name == 'sitenoticeadminpanel', 'nav_sitenotice_admin_panel');
+            }
+
+            if (AdminPanelAction::canAdmin('snapshot')) {
+                $this->out->menuItem(common_local_url('snapshotadminpanel'), _('Snapshots'),
+                                     _('Snapshots configuration'), $action_name == 'snapshotadminpanel', 'nav_snapshot_admin_panel');
             }
 
             Event::handle('EndAdminPanelNav', array($this));
@@ -342,8 +381,4 @@ class AdminPanelNav extends Widget
         $this->action->elementEnd('ul');
     }
 
-    function canAdmin($name)
-    {
-        return in_array($name, common_config('admin', 'panels'));
-    }
 }