]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - lib/adminpanelnav.php
Merge branch '1.0.x' of git://gitorious.org/statusnet/mainline
[quix0rs-gnu-social.git] / lib / adminpanelnav.php
1 <?php
2 /**
3  * StatusNet - the distributed open-source microblogging tool
4  * Copyright (C) 2011, StatusNet, Inc.
5  *
6  * Menu for admin panels
7  * 
8  * PHP version 5
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU Affero General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Affero General Public License for more details.
19  *
20  * You should have received a copy of the GNU Affero General Public License
21  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22  *
23  * @category  Menu
24  * @package   StatusNet
25  * @author    Evan Prodromou <evan@status.net>
26  * @copyright 2011 StatusNet, Inc.
27  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
28  * @link      http://status.net/
29  */
30
31 if (!defined('STATUSNET')) {
32     // This check helps protect against security problems;
33     // your code file can't be executed directly from the web.
34     exit(1);
35 }
36
37 /**
38  * Menu for admin panels
39  *
40  * @category Output
41  * @package  StatusNet
42  * @author   Evan Prodromou <evan@status.net>
43  * @author   Sarven Capadisli <csarven@status.net>
44  * @copyright 2011 StatusNet, Inc.
45  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
46  * @link     http://status.net/
47  */
48
49 class AdminPanelNav extends Menu
50 {
51     /**
52      * Show the menu
53      *
54      * @return void
55      */
56     function show()
57     {
58         $action_name = $this->action->trimmed('action');
59         $user = common_current_user();
60         $nickname = $user->nickname;
61         $name = $user->getProfile()->getBestName();
62
63         // Stub section w/ home link
64         $this->action->elementStart('ul');
65         $this->action->element('h3', null, _('Home'));
66         $this->action->elementStart('ul', 'nav');
67         $this->out->menuItem(common_local_url('all', array('nickname' =>
68                                                            $nickname)),
69                              _('Home'),
70                              sprintf(_('%s and friends'), $name),
71                              $this->action == 'all', 'nav_timeline_personal');
72
73         $this->action->elementEnd('ul');
74         $this->action->elementEnd('ul');
75
76         $this->action->elementStart('ul');
77         $this->action->element('h3', null, _('Admin'));
78         $this->action->elementStart('ul', array('class' => 'nav'));
79
80         if (Event::handle('StartAdminPanelNav', array($this))) {
81
82             if (AdminPanelAction::canAdmin('site')) {
83                 // TRANS: Menu item title/tooltip
84                 $menu_title = _('Basic site configuration');
85                 // TRANS: Menu item for site administration
86                 $this->out->menuItem(common_local_url('siteadminpanel'), _m('MENU', 'Site'),
87                                      $menu_title, $action_name == 'siteadminpanel', 'nav_site_admin_panel');
88             }
89
90             if (AdminPanelAction::canAdmin('design')) {
91                 // TRANS: Menu item title/tooltip
92                 $menu_title = _('Design configuration');
93                 // TRANS: Menu item for site administration
94                 $this->out->menuItem(common_local_url('designadminpanel'), _m('MENU', 'Design'),
95                                      $menu_title, $action_name == 'designadminpanel', 'nav_design_admin_panel');
96             }
97
98             if (AdminPanelAction::canAdmin('user')) {
99                 // TRANS: Menu item title/tooltip
100                 $menu_title = _('User configuration');
101                 // TRANS: Menu item for site administration
102                 $this->out->menuItem(common_local_url('useradminpanel'), _('User'),
103                                      $menu_title, $action_name == 'useradminpanel', 'nav_user_admin_panel');
104             }
105
106             if (AdminPanelAction::canAdmin('access')) {
107                 // TRANS: Menu item title/tooltip
108                 $menu_title = _('Access configuration');
109                 // TRANS: Menu item for site administration
110                 $this->out->menuItem(common_local_url('accessadminpanel'), _('Access'),
111                                      $menu_title, $action_name == 'accessadminpanel', 'nav_access_admin_panel');
112             }
113
114             if (AdminPanelAction::canAdmin('paths')) {
115                 // TRANS: Menu item title/tooltip
116                 $menu_title = _('Paths configuration');
117                 // TRANS: Menu item for site administration
118                 $this->out->menuItem(common_local_url('pathsadminpanel'), _('Paths'),
119                                     $menu_title, $action_name == 'pathsadminpanel', 'nav_paths_admin_panel');
120             }
121
122             if (AdminPanelAction::canAdmin('sessions')) {
123                 // TRANS: Menu item title/tooltip
124                 $menu_title = _('Sessions configuration');
125                 // TRANS: Menu item for site administration
126                 $this->out->menuItem(common_local_url('sessionsadminpanel'), _('Sessions'),
127                                      $menu_title, $action_name == 'sessionsadminpanel', 'nav_sessions_admin_panel');
128             }
129
130             if (AdminPanelAction::canAdmin('sitenotice')) {
131                 // TRANS: Menu item title/tooltip
132                 $menu_title = _('Edit site notice');
133                 // TRANS: Menu item for site administration
134                 $this->out->menuItem(common_local_url('sitenoticeadminpanel'), _('Site notice'),
135                                      $menu_title, $action_name == 'sitenoticeadminpanel', 'nav_sitenotice_admin_panel');
136             }
137
138             if (AdminPanelAction::canAdmin('snapshot')) {
139                 // TRANS: Menu item title/tooltip
140                 $menu_title = _('Snapshots configuration');
141                 // TRANS: Menu item for site administration
142                 $this->out->menuItem(common_local_url('snapshotadminpanel'), _('Snapshots'),
143                                      $menu_title, $action_name == 'snapshotadminpanel', 'nav_snapshot_admin_panel');
144             }
145
146             if (AdminPanelAction::canAdmin('license')) {
147                 // TRANS: Menu item title/tooltip
148                 $menu_title = _('Set site license');
149                 // TRANS: Menu item for site administration
150                 $this->out->menuItem(common_local_url('licenseadminpanel'), _('License'),
151                                      $menu_title, $action_name == 'licenseadminpanel', 'nav_license_admin_panel');
152             }
153
154             if (AdminPanelAction::canAdmin('plugins')) {
155                 // TRANS: Menu item title/tooltip
156                 $menu_title = _('Plugins configuration');
157                 // TRANS: Menu item for site administration
158                 $this->out->menuItem(common_local_url('pluginsadminpanel'), _('Plugins'),
159                                      $menu_title, $action_name == 'pluginsadminpanel', 'nav_design_admin_panel');
160             }
161
162             Event::handle('EndAdminPanelNav', array($this));
163         }
164         $this->action->elementEnd('ul');
165         $this->action->elementEnd('ul');
166     }
167 }