source: trunk/admin/include/add_core_tabs.inc.php @ 17210

Last change on this file since 17210 was 16928, checked in by mistic100, 12 years ago

feature 2703: make it easy for plugins to add tabs in admin screens
centralize all core tabs in one file

File size: 8.0 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Piwigo - a PHP based photo gallery                                    |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2008-2012 Piwigo Team                  http://piwigo.org |
6// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
7// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
8// +-----------------------------------------------------------------------+
9// | This program is free software; you can redistribute it and/or modify  |
10// | it under the terms of the GNU General Public License as published by  |
11// | the Free Software Foundation                                          |
12// |                                                                       |
13// | This program is distributed in the hope that it will be useful, but   |
14// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
15// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
16// | General Public License for more details.                              |
17// |                                                                       |
18// | You should have received a copy of the GNU General Public License     |
19// | along with this program; if not, write to the Free Software           |
20// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
21// | USA.                                                                  |
22// +-----------------------------------------------------------------------+
23
24add_event_handler('tabsheet_before_select', 'add_core_tabs', 0, 2);
25
26function add_core_tabs($sheets, $tab_id)
27{
28  switch($tab_id)
29  {
30    case 'album':
31      global $admin_album_base_url;
32      $sheets['properties'] = array('caption' => l10n('Properties'), 'url' => $admin_album_base_url.'-properties');
33      $sheets['sort_order'] = array('caption' => l10n('Manage photo ranks'), 'url' => $admin_album_base_url.'-sort_order');
34      $sheets['permissions'] = array('caption' => l10n('Permissions'), 'url' => $admin_album_base_url.'-permissions');
35      $sheets['notification'] = array('caption' => l10n('Notification'), 'url' => $admin_album_base_url.'-notification');
36      break;
37     
38    case 'albums':
39      global $my_base_url;
40      $sheets['list'] = array('caption' => l10n('List'), 'url' => $my_base_url.'cat_list');
41      $sheets['move'] = array('caption' => l10n('Move'), 'url' => $my_base_url.'cat_move');
42      $sheets['permalinks'] = array('caption' => l10n('Permalinks'), 'url' => $my_base_url.'permalinks');
43      break;
44     
45    case 'batch_manager':
46      global $manager_link;
47      $sheets['global'] = array('caption' => l10n('global mode'), 'url' => $manager_link.'global');
48      $sheets['unit'] = array('caption' => l10n('unit mode'), 'url' => $manager_link.'unit');
49      break;
50     
51    case 'cat_options':
52      global $link_start, $conf;
53      $sheets['status'] = array('caption' => l10n('Public / Private'), 'url' => $link_start.'cat_options&amp;section=status');
54      $sheets['visible'] = array('caption' => l10n('Lock'), 'url' => $link_start.'cat_options&amp;section=visible');
55      if ($conf['activate_comments'])
56        $sheets['comments'] = array('caption' => l10n('Comments'), 'url' => $link_start.'cat_options&amp;section=comments');
57      if ($conf['allow_random_representative'])
58        $sheets['representative'] = array('caption' => l10n('Representative'), 'url' => $link_start.'cat_options&amp;section=representative');
59      break;
60     
61    case 'comments':
62      $sheets[''] = array('caption' => l10n('User comments validation'), 'url' => '');
63      break;
64     
65    case 'configuration':
66      global $conf_link;
67      $sheets['main'] = array('caption' => l10n('Main'), 'url' => $conf_link.'main');
68      $sheets['sizes'] = array('caption' => l10n('Photo sizes'), 'url' => $conf_link.'sizes');
69      $sheets['watermark'] = array('caption' => l10n('Watermark'), 'url' => $conf_link.'watermark');
70      $sheets['display'] = array('caption' => l10n('Display'), 'url' => $conf_link.'display');
71      $sheets['comments'] = array('caption' => l10n('Comments'), 'url' => $conf_link.'comments');
72      $sheets['default'] = array('caption' => l10n('Guest Settings'), 'url' => $conf_link.'default');
73      break;
74     
75    case 'help':
76      global $help_link;
77      $sheets['add_photos'] = array('caption' => l10n('Add Photos'), 'url' => $help_link.'add_photos');
78      $sheets['permissions'] = array('caption' => l10n('Permissions'), 'url' => $help_link.'permissions');
79      $sheets['groups'] = array('caption' => l10n('Groups'), 'url' => $help_link.'groups');
80      $sheets['virtual_links'] = array('caption' => l10n('Virtual Links'), 'url' => $help_link.'virtual_links');
81      $sheets['misc'] = array('caption' => l10n('Miscellaneous'), 'url' => $help_link.'misc');
82      break;
83     
84    case 'history':
85      global $link_start;
86      $sheets['stats'] = array('caption' => l10n('Statistics'), 'url' => $link_start.'stats');
87      $sheets['history'] = array('caption' => l10n('Search'), 'url' => $link_start.'history');
88      break;
89     
90    case 'languages':
91      global $my_base_url;
92      $sheets['installed'] = array('caption' => l10n('Installed Languages'), 'url' => $my_base_url.'&amp;tab=installed');
93      $sheets['update'] = array('caption' => l10n('Check for updates'), 'url' => $my_base_url.'&amp;tab=update');
94      $sheets['new'] = array('caption' => l10n('Add New Language'), 'url' => $my_base_url.'&amp;tab=new');
95      break;
96     
97    case 'nbm':
98      global $base_url;
99      $sheets['param'] = array('caption' => l10n('Parameter'), 'url' => $base_url.'?page=notification_by_mail&amp;mode=param');
100      $sheets['subscribe'] = array('caption' => l10n('Subscribe'), 'url' => $base_url.'?page=notification_by_mail&amp;mode=subscribe');
101      $sheets['send'] = array('caption' => l10n('Send'), 'url' => $base_url.'?page=notification_by_mail&amp;mode=send');
102      break;
103     
104    case 'photo':
105      global $admin_photo_base_url;
106      $sheets['properties'] = array('caption' => l10n('Properties'), 'url' => $admin_photo_base_url.'-properties');
107      $sheets['coi'] = array('caption' => l10n('Center of interest'), 'url' => $admin_photo_base_url.'-coi');
108      break;
109     
110    case 'photos_add':
111      global $conf;
112      $sheets['direct'] = array('caption' => l10n('Web Form'), 'url' => PHOTOS_ADD_BASE_URL.'&amp;section=direct');
113      $sheets['applications'] = array('caption' => l10n('Applications'), 'url' => PHOTOS_ADD_BASE_URL.'&amp;section=applications');
114      if ($conf['enable_synchronization'])
115        $sheets['ftp'] = array('caption' => l10n('FTP + Synchronization'), 'url' => PHOTOS_ADD_BASE_URL.'&amp;section=ftp');
116      break;
117     
118    case 'plugins':
119      global $my_base_url;
120      $sheets['installed'] = array('caption' => l10n('Plugin list'), 'url' => $my_base_url.'&amp;tab=installed');
121      $sheets['update'] = array('caption' => l10n('Check for updates'), 'url' => $my_base_url.'&amp;tab=update');
122      $sheets['new'] = array('caption' => l10n('Other plugins'), 'url' => $my_base_url.'&amp;tab=new');
123      break;
124     
125    case 'rating':
126      $sheets['rating'] = array('caption' => l10n('Photos'), 'url' => get_root_url().'admin.php?page=rating');
127      $sheets['rating_user'] = array('caption' => l10n('Users'), 'url' => get_root_url().'admin.php?page=rating_user');
128      break;
129     
130    case 'themes':
131      global $my_base_url;
132      $sheets['installed'] = array('caption' => l10n('Installed Themes'), 'url' => $my_base_url.'&amp;tab=installed');
133      $sheets['update'] = array('caption' => l10n('Check for updates'), 'url' => $my_base_url.'&amp;tab=update');
134      $sheets['new'] = array('caption' => l10n('Add New Theme'), 'url' => $my_base_url.'&amp;tab=new');
135      break;
136     
137    case 'updates':
138      global $my_base_url;
139      $sheets['pwg'] = array('caption' => l10n('Piwigo Update'), 'url' => $my_base_url);
140      $sheets['ext'] = array('caption' => l10n('Extensions Update'), 'url' => $my_base_url.'&amp;tab=ext');
141      break;
142  }
143 
144  return $sheets;
145}
146
147?>
Note: See TracBrowser for help on using the repository browser.