source: trunk/admin.php @ 8418

Last change on this file since 8418 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
RevLine 
[217]1<?php
[354]2// +-----------------------------------------------------------------------+
[2297]3// | Piwigo - a PHP based picture gallery                                  |
4// +-----------------------------------------------------------------------+
[5196]5// | Copyright(C) 2008-2010 Piwigo Team                  http://piwigo.org |
[2297]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// +-----------------------------------------------------------------------+
[217]23
[345]24//----------------------------------------------------------- include
[364]25define('PHPWG_ROOT_PATH','./');
[393]26define('IN_ADMIN', true);
[364]27include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
[808]28
[1072]29include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
[1655]30include_once(PHPWG_ROOT_PATH.'admin/include/functions_plugins.inc.php');
[1072]31
[5933]32trigger_action('loc_begin_admin');
33
[808]34// +-----------------------------------------------------------------------+
[1072]35// | Check Access and exit when user status is not ok                      |
36// +-----------------------------------------------------------------------+
37check_status(ACCESS_ADMINISTRATOR);
38
[5067]39// tags
40if (isset($_GET['fckb_tags']))
41{
42  $query = '
43SELECT
[5189]44    id AS tag_id,
45    name AS tag_name
[5067]46  FROM '.TAGS_TABLE.'
47;';
[5189]48  echo json_encode(get_fckb_taglist($query));
[5067]49  exit();
50}
51
[5098]52// theme changer
53if (isset($_GET['change_theme']))
54{
[5123]55  $admin_themes = array('roma', 'clear');
[5098]56
57  $new_admin_theme = array_pop(
58    array_diff(
59      $admin_themes,
[5123]60      array($conf['admin_theme'])
[5098]61      )
62    );
63
[5139]64  conf_update_param('admin_theme', $new_admin_theme);
[5098]65
66  redirect('admin.php');
67}
68
[1072]69// +-----------------------------------------------------------------------+
[808]70// |                    synchronize user informations                      |
71// +-----------------------------------------------------------------------+
72
73sync_users();
74
[817]75// +-----------------------------------------------------------------------+
76// |                            variables init                             |
77// +-----------------------------------------------------------------------+
[708]78
[1705]79if (isset($_GET['page'])
[817]80    and preg_match('/^[a-z_]*$/', $_GET['page'])
[1705]81    and is_file(PHPWG_ROOT_PATH.'admin/'.$_GET['page'].'.php'))
[217]82{
[1705]83  $page['page'] = $_GET['page'];
[217]84}
[1705]85else
[217]86{
[1705]87  $page['page'] = 'intro';
[217]88}
[393]89
[1655]90$page['errors'] = array();
91$page['infos']  = array();
92
[8168]93if (isset($_SESSION['page_infos']))
94{
95  $page['infos'] = array_merge($page['infos'], $_SESSION['page_infos']);
96  unset($_SESSION['page_infos']);
97}
98
[393]99$link_start = PHPWG_ROOT_PATH.'admin.php?page=';
[602]100$conf_link = $link_start.'configuration&amp;section=';
[393]101//----------------------------------------------------- template initialization
[2342]102$title = l10n('Piwigo Administration'); // for include/page_header.php
103$page['page_banner'] = '<h1>'.l10n('Piwigo Administration').'</h1>';
[850]104$page['body_id'] = 'theAdminPage';
[393]105
[817]106$template->set_filenames(array('admin' => 'admin.tpl'));
[614]107
[2216]108$template->assign(
[817]109  array(
[5098]110    'USERNAME' => $user['username'],
[6365]111    'ENABLE_SYNCHRONIZATION' => $conf['enable_synchronization'],
[1029]112    'U_SITE_MANAGER'=> $link_start.'site_manager',
[1727]113    'U_HISTORY_STAT'=> $link_start.'stats',
[1004]114    'U_FAQ'=> $link_start.'help',
115    'U_SITES'=> $link_start.'remote_site',
116    'U_MAINTENANCE'=> $link_start.'maintenance',
[1091]117    'U_NOTIFICATION_BY_MAIL'=> $link_start.'notification_by_mail',
[1894]118    'U_CONFIG_GENERAL'=> $link_start.'configuration',
[1004]119    'U_CONFIG_DISPLAY'=> $conf_link.'default',
[2434]120    'U_CONFIG_EXTENTS'=> $link_start.'extend_for_templates',
[2488]121    'U_CONFIG_MENUBAR'=> $link_start.'menubar',
[5357]122    'U_CONFIG_LANGUAGES' => $link_start.'languages_installed',
[5153]123    'U_CONFIG_THEMES'=> $link_start.'themes_installed',
[1004]124    'U_CATEGORIES'=> $link_start.'cat_list',
125    'U_MOVE'=> $link_start.'cat_move',
126    'U_CAT_OPTIONS'=> $link_start.'cat_options',
[1058]127    'U_CAT_UPDATE'=> $link_start.'site_update&amp;site=1',
[5997]128    'U_WAITING'=> $link_start.'upload',
[1042]129    'U_RATING'=> $link_start.'rating',
[1004]130    'U_CADDIE'=> $link_start.'element_set&amp;cat=caddie',
[2579]131    'U_RECENT_SET'=> $link_start.'element_set&amp;cat=recent',
[8394]132    'U_BATCH'=> $link_start.'batch_manager',
[1119]133    'U_TAGS'=> $link_start.'tags',
[1004]134    'U_THUMBNAILS'=> $link_start.'thumbnail',
135    'U_USERS'=> $link_start.'user_list',
136    'U_GROUPS'=> $link_start.'group_list',
[1866]137    'U_PERMALINKS'=> $link_start.'permalinks',
[1082]138    'U_RETURN'=> make_index_url(),
[2574]139    'U_ADMIN'=> PHPWG_ROOT_PATH.'admin.php',
[3522]140    'U_LOGOUT'=> PHPWG_ROOT_PATH.'index.php?act=logout',
[2574]141    'U_PLUGINS'=> $link_start.'plugins_list',
[5089]142    'U_ADD_PHOTOS' => $link_start.'photos_add',
[5098]143    'U_CHANGE_THEME' => PHPWG_ROOT_PATH.'admin.php?change_theme=1',
[5997]144    'U_PENDING_COMMENTS' => $link_start.'comments',
[817]145    )
146  );
[1058]147
[2107]148//---------------------------------------------------------------- plugin menus
[2144]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');
[2216]156$template->assign('plugin_menu_items', $plugin_menu_links);
[1655]157
[2107]158include(PHPWG_ROOT_PATH.'admin/'.$page['page'].'.php');
159
160//------------------------------------------------------------- content display
161
[792]162// +-----------------------------------------------------------------------+
163// |                            errors & infos                             |
164// +-----------------------------------------------------------------------+
[817]165
[5173]166$template->assign('ACTIVE_MENU', get_active_menu($page['page']));
167
[792]168if (count($page['errors']) != 0)
169{
[2216]170  $template->assign('errors', $page['errors']);
[792]171}
[817]172
[792]173if (count($page['infos']) != 0)
174{
[2216]175  $template->assign('infos', $page['infos']);
[792]176}
177
[2339]178// Add the Piwigo Official menu
[2328]179  $template->assign( 'pwgmenu', pwg_URL() );
[2488]180
[2107]181include(PHPWG_ROOT_PATH.'include/page_header.php');
[5933]182
183trigger_action('loc_end_admin');
184
[2216]185$template->pparse('admin');
[817]186
[657]187// +-----------------------------------------------------------------------+
188// |                     order permission refreshment                      |
189// +-----------------------------------------------------------------------+
[1945]190// Only for pages witch change permissions
[1952]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
[2107]202        'picture_modify', // ?only POST; associate/dissociate
[1952]203        'user_list',    // ?only POST; group assoc
204        'user_perm',
205        'group_perm',
206        'group_list',   // delete group
207      )
208    )
209  )
[1945]210{
[1978]211  invalidate_user_cache();
[1945]212}
213
[1978]214include(PHPWG_ROOT_PATH.'include/page_tail.php');
[362]215?>
Note: See TracBrowser for help on using the repository browser.