diff options
Diffstat (limited to 'BSF/admin.php')
-rw-r--r-- | BSF/admin.php | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/BSF/admin.php b/BSF/admin.php new file mode 100644 index 000000000..f932b53a4 --- /dev/null +++ b/BSF/admin.php @@ -0,0 +1,172 @@ +<?php +// +-----------------------------------------------------------------------+ +// | Piwigo - a PHP based picture gallery | +// +-----------------------------------------------------------------------+ +// | Copyright(C) 2008 Piwigo Team http://piwigo.org | +// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net | +// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick | +// +-----------------------------------------------------------------------+ +// | This program is free software; you can redistribute it and/or modify | +// | it under the terms of the GNU General Public License as published by | +// | the Free Software Foundation | +// | | +// | This program is distributed in the hope that it will be useful, but | +// | WITHOUT ANY WARRANTY; without even the implied warranty of | +// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | +// | General Public License for more details. | +// | | +// | You should have received a copy of the GNU General Public License | +// | along with this program; if not, write to the Free Software | +// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | +// | USA. | +// +-----------------------------------------------------------------------+ + +//----------------------------------------------------------- include +define('PHPWG_ROOT_PATH','./'); +define('IN_ADMIN', true); +include_once( PHPWG_ROOT_PATH.'include/common.inc.php' ); + +include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); +include_once(PHPWG_ROOT_PATH.'admin/include/functions_plugins.inc.php'); + +// +-----------------------------------------------------------------------+ +// | Check Access and exit when user status is not ok | +// +-----------------------------------------------------------------------+ +check_status(ACCESS_ADMINISTRATOR); + +// +-----------------------------------------------------------------------+ +// | synchronize user informations | +// +-----------------------------------------------------------------------+ + +sync_users(); + +// +-----------------------------------------------------------------------+ +// | variables init | +// +-----------------------------------------------------------------------+ + +if (isset($_GET['page']) + and preg_match('/^[a-z_]*$/', $_GET['page']) + and is_file(PHPWG_ROOT_PATH.'admin/'.$_GET['page'].'.php')) +{ + $page['page'] = $_GET['page']; +} +else +{ + $page['page'] = 'intro'; +} + +$page['errors'] = array(); +$page['infos'] = array(); + +$link_start = PHPWG_ROOT_PATH.'admin.php?page='; +$conf_link = $link_start.'configuration&section='; +//----------------------------------------------------- template initialization +$title = l10n('Piwigo Administration'); // for include/page_header.php +$page['page_banner'] = '<h1>'.l10n('Piwigo Administration').'</h1>'; +$page['body_id'] = 'theAdminPage'; + +$template->set_filenames(array('admin' => 'admin.tpl')); + +$template->assign( + array( + 'U_SITE_MANAGER'=> $link_start.'site_manager', + 'U_HISTORY_STAT'=> $link_start.'stats', + 'U_FAQ'=> $link_start.'help', + 'U_SITES'=> $link_start.'remote_site', + 'U_MAINTENANCE'=> $link_start.'maintenance', + 'U_NOTIFICATION_BY_MAIL'=> $link_start.'notification_by_mail', + 'U_ADVANCED_FEATURE'=> $link_start.'advanced_feature', + 'U_CONFIG_GENERAL'=> $link_start.'configuration', + 'U_CONFIG_DISPLAY'=> $conf_link.'default', + 'U_CATEGORIES'=> $link_start.'cat_list', + 'U_MOVE'=> $link_start.'cat_move', + 'U_CAT_OPTIONS'=> $link_start.'cat_options', + 'U_CAT_UPDATE'=> $link_start.'site_update&site=1', + 'U_WAITING'=> $link_start.'comments', + 'U_RATING'=> $link_start.'rating', + 'U_CADDIE'=> $link_start.'element_set&cat=caddie', + 'U_TAGS'=> $link_start.'tags', + 'U_THUMBNAILS'=> $link_start.'thumbnail', + 'U_USERS'=> $link_start.'user_list', + 'U_GROUPS'=> $link_start.'group_list', + 'U_PERMALINKS'=> $link_start.'permalinks', + 'U_RETURN'=> make_index_url(), + 'U_ADMIN'=> PHPWG_ROOT_PATH.'admin.php' + ) + ); +if ($conf['ws_access_control']) // Do we need to display ws_checker +{ + $template->assign('U_WS_CHECKER', $link_start.'ws_checker' ); +} + +//---------------------------------------------------------------- plugin menus +$plugin_menu_links = trigger_event('get_admin_plugin_menu_links', array() ); + +function UC_name_compare($a, $b) +{ + return strcmp(strtolower($a['NAME']), strtolower($b['NAME'])); +} +usort($plugin_menu_links, 'UC_name_compare'); + +array_unshift($plugin_menu_links, + array( + 'NAME' => l10n('admin'), + 'URL' => $link_start.'plugins_list' + ) + ); + +$template->assign('plugin_menu_items', $plugin_menu_links); + +include(PHPWG_ROOT_PATH.'admin/'.$page['page'].'.php'); + +//------------------------------------------------------------- content display + +// +-----------------------------------------------------------------------+ +// | errors & infos | +// +-----------------------------------------------------------------------+ + +if (count($page['errors']) != 0) +{ + $template->assign('errors', $page['errors']); +} + +if (count($page['infos']) != 0) +{ + $template->assign('infos', $page['infos']); +} + +// Add the Piwigo Official menu + $template->assign( 'pwgmenu', pwg_URL() ); + +include(PHPWG_ROOT_PATH.'include/page_header.php'); +$template->pparse('admin'); + +// +-----------------------------------------------------------------------+ +// | order permission refreshment | +// +-----------------------------------------------------------------------+ +// Only for pages witch change permissions +if ( + in_array($page['page'], + array( + 'site_manager', // delete site + 'site_update', // ?only POST + 'cat_list', // delete cat + 'cat_modify', // delete cat; public/private; lock/unlock + 'cat_move', // ?only POST + 'cat_options', // ?only POST; public/private; lock/unlock + 'cat_perm', // ?only POST + 'element_set', // ?only POST; associate/dissociate + 'picture_modify', // ?only POST; associate/dissociate + 'user_list', // ?only POST; group assoc + 'user_perm', + 'group_perm', + 'group_list', // delete group + ) + ) + ) +{ + invalidate_user_cache(); +} + +include(PHPWG_ROOT_PATH.'include/page_tail.php'); +?> |