aboutsummaryrefslogtreecommitdiffstats
path: root/BSF/admin.php
diff options
context:
space:
mode:
authorvdigital <vdigital@piwigo.org>2008-05-23 21:05:41 +0000
committervdigital <vdigital@piwigo.org>2008-05-23 21:05:41 +0000
commit77fd1f51a3c5f5a52f72ef8a299fe368228e2285 (patch)
treea67ede42904657ccf3349ecdaef1cec8b8e36ff8 /BSF/admin.php
parent553727dffacc48e8337c1d141f2a25af359e74b1 (diff)
git-svn-id: http://piwigo.org/svn/trunk@2357 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'BSF/admin.php')
-rw-r--r--BSF/admin.php172
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&amp;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&amp;site=1',
+ 'U_WAITING'=> $link_start.'comments',
+ 'U_RATING'=> $link_start.'rating',
+ 'U_CADDIE'=> $link_start.'element_set&amp;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');
+?>