source: trunk/admin.php @ 8406

Last change on this file since 8406 was 8394, checked in by plg, 13 years ago

feature 2089: implement the "Bulk Manager" plugin as the new "Batch Manager".
The new "Batch Manager" offers as many features as the old "Bulk Manager" and
more to come.

The old Batch Manager (Caddie/Recent Pictures) is not removed yet and changes
that occured since last summer are not reported yet in the Batch Manager:
category/album, photo order for a given album, deletion of synchronized photos.

  • Property svn:eol-style set to LF
File size: 7.8 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Piwigo - a PHP based picture gallery                                  |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2008-2010 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
24//----------------------------------------------------------- include
25define('PHPWG_ROOT_PATH','./');
26define('IN_ADMIN', true);
27include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
28
29include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
30include_once(PHPWG_ROOT_PATH.'admin/include/functions_plugins.inc.php');
31
32trigger_action('loc_begin_admin');
33
34// +-----------------------------------------------------------------------+
35// | Check Access and exit when user status is not ok                      |
36// +-----------------------------------------------------------------------+
37check_status(ACCESS_ADMINISTRATOR);
38
39// tags
40if (isset($_GET['fckb_tags']))
41{
42  $query = '
43SELECT
44    id AS tag_id,
45    name AS tag_name
46  FROM '.TAGS_TABLE.'
47;';
48  echo json_encode(get_fckb_taglist($query));
49  exit();
50}
51
52// theme changer
53if (isset($_GET['change_theme']))
54{
55  $admin_themes = array('roma', 'clear');
56
57  $new_admin_theme = array_pop(
58    array_diff(
59      $admin_themes,
60      array($conf['admin_theme'])
61      )
62    );
63
64  conf_update_param('admin_theme', $new_admin_theme);
65
66  redirect('admin.php');
67}
68
69// +-----------------------------------------------------------------------+
70// |                    synchronize user informations                      |
71// +-----------------------------------------------------------------------+
72
73sync_users();
74
75// +-----------------------------------------------------------------------+
76// |                            variables init                             |
77// +-----------------------------------------------------------------------+
78
79if (isset($_GET['page'])
80    and preg_match('/^[a-z_]*$/', $_GET['page'])
81    and is_file(PHPWG_ROOT_PATH.'admin/'.$_GET['page'].'.php'))
82{
83  $page['page'] = $_GET['page'];
84}
85else
86{
87  $page['page'] = 'intro';
88}
89
90$page['errors'] = array();
91$page['infos']  = array();
92
93if (isset($_SESSION['page_infos']))
94{
95  $page['infos'] = array_merge($page['infos'], $_SESSION['page_infos']);
96  unset($_SESSION['page_infos']);
97}
98
99$link_start = PHPWG_ROOT_PATH.'admin.php?page=';
100$conf_link = $link_start.'configuration&amp;section=';
101//----------------------------------------------------- template initialization
102$title = l10n('Piwigo Administration'); // for include/page_header.php
103$page['page_banner'] = '<h1>'.l10n('Piwigo Administration').'</h1>';
104$page['body_id'] = 'theAdminPage';
105
106$template->set_filenames(array('admin' => 'admin.tpl'));
107
108$template->assign(
109  array(
110    'USERNAME' => $user['username'],
111    'ENABLE_SYNCHRONIZATION' => $conf['enable_synchronization'],
112    'U_SITE_MANAGER'=> $link_start.'site_manager',
113    'U_HISTORY_STAT'=> $link_start.'stats',
114    'U_FAQ'=> $link_start.'help',
115    'U_SITES'=> $link_start.'remote_site',
116    'U_MAINTENANCE'=> $link_start.'maintenance',
117    'U_NOTIFICATION_BY_MAIL'=> $link_start.'notification_by_mail',
118    'U_CONFIG_GENERAL'=> $link_start.'configuration',
119    'U_CONFIG_DISPLAY'=> $conf_link.'default',
120    'U_CONFIG_EXTENTS'=> $link_start.'extend_for_templates',
121    'U_CONFIG_MENUBAR'=> $link_start.'menubar',
122    'U_CONFIG_LANGUAGES' => $link_start.'languages_installed',
123    'U_CONFIG_THEMES'=> $link_start.'themes_installed',
124    'U_CATEGORIES'=> $link_start.'cat_list',
125    'U_MOVE'=> $link_start.'cat_move',
126    'U_CAT_OPTIONS'=> $link_start.'cat_options',
127    'U_CAT_UPDATE'=> $link_start.'site_update&amp;site=1',
128    'U_WAITING'=> $link_start.'upload',
129    'U_RATING'=> $link_start.'rating',
130    'U_CADDIE'=> $link_start.'element_set&amp;cat=caddie',
131    'U_RECENT_SET'=> $link_start.'element_set&amp;cat=recent',
132    'U_BATCH'=> $link_start.'batch_manager',
133    'U_TAGS'=> $link_start.'tags',
134    'U_THUMBNAILS'=> $link_start.'thumbnail',
135    'U_USERS'=> $link_start.'user_list',
136    'U_GROUPS'=> $link_start.'group_list',
137    'U_PERMALINKS'=> $link_start.'permalinks',
138    'U_RETURN'=> make_index_url(),
139    'U_ADMIN'=> PHPWG_ROOT_PATH.'admin.php',
140    'U_LOGOUT'=> PHPWG_ROOT_PATH.'index.php?act=logout',
141    'U_PLUGINS'=> $link_start.'plugins_list',
142    'U_ADD_PHOTOS' => $link_start.'photos_add',
143    'U_CHANGE_THEME' => PHPWG_ROOT_PATH.'admin.php?change_theme=1',
144    'U_PENDING_COMMENTS' => $link_start.'comments',
145    )
146  );
147
148//---------------------------------------------------------------- plugin menus
149$plugin_menu_links = trigger_event('get_admin_plugin_menu_links', array() );
150
151function UC_name_compare($a, $b)
152{
153  return strcmp(strtolower($a['NAME']), strtolower($b['NAME']));
154}
155usort($plugin_menu_links, 'UC_name_compare');
156$template->assign('plugin_menu_items', $plugin_menu_links);
157
158include(PHPWG_ROOT_PATH.'admin/'.$page['page'].'.php');
159
160//------------------------------------------------------------- content display
161
162// +-----------------------------------------------------------------------+
163// |                            errors & infos                             |
164// +-----------------------------------------------------------------------+
165
166$template->assign('ACTIVE_MENU', get_active_menu($page['page']));
167
168if (count($page['errors']) != 0)
169{
170  $template->assign('errors', $page['errors']);
171}
172
173if (count($page['infos']) != 0)
174{
175  $template->assign('infos', $page['infos']);
176}
177
178// Add the Piwigo Official menu
179  $template->assign( 'pwgmenu', pwg_URL() );
180
181include(PHPWG_ROOT_PATH.'include/page_header.php');
182
183trigger_action('loc_end_admin');
184
185$template->pparse('admin');
186
187// +-----------------------------------------------------------------------+
188// |                     order permission refreshment                      |
189// +-----------------------------------------------------------------------+
190// Only for pages witch change permissions
191if (
192    in_array($page['page'],
193      array(
194        'site_manager', // delete site
195        'site_update',  // ?only POST
196        'cat_list',     // delete cat
197        'cat_modify',   // delete cat; public/private; lock/unlock
198        'cat_move',     // ?only POST
199        'cat_options',  // ?only POST; public/private; lock/unlock
200        'cat_perm',     // ?only POST
201        'element_set',  // ?only POST; associate/dissociate
202        'picture_modify', // ?only POST; associate/dissociate
203        'user_list',    // ?only POST; group assoc
204        'user_perm',
205        'group_perm',
206        'group_list',   // delete group
207      )
208    )
209  )
210{
211  invalidate_user_cache();
212}
213
214include(PHPWG_ROOT_PATH.'include/page_tail.php');
215?>
Note: See TracBrowser for help on using the repository browser.