ef11d5281c
feature 765: Sort alphabetically the admin plugin menus and plugin list git-svn-id: http://piwigo.org/svn/trunk@2144 68402e56-0260-453c-a942-63ccdbb3a9ee
193 lines
7 KiB
PHP
193 lines
7 KiB
PHP
<?php
|
|
// +-----------------------------------------------------------------------+
|
|
// | PhpWebGallery - a PHP based picture gallery |
|
|
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
|
|
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
|
|
// +-----------------------------------------------------------------------+
|
|
// | file : $Id$
|
|
// | last update : $Date$
|
|
// | last modifier : $Author$
|
|
// | revision : $Revision$
|
|
// +-----------------------------------------------------------------------+
|
|
// | 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();
|
|
|
|
|
|
if ($page['page'] == 'intro')
|
|
{
|
|
include_once(PHPWG_ROOT_PATH.'admin/include/functions_check_integrity.inc.php');
|
|
check_integrity();
|
|
}
|
|
|
|
$link_start = PHPWG_ROOT_PATH.'admin.php?page=';
|
|
$conf_link = $link_start.'configuration&section=';
|
|
//----------------------------------------------------- template initialization
|
|
$title = l10n('PhpWebGallery Administration'); // for include/page_header.php
|
|
$page['page_banner'] = '<h1>'.l10n('PhpWebGallery Administration').'</h1>';
|
|
$page['body_id'] = 'theAdminPage';
|
|
|
|
$template->set_filenames(array('admin' => 'admin.tpl'));
|
|
|
|
$template->assign_vars(
|
|
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_block_vars(
|
|
'web_services',
|
|
array(
|
|
'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'
|
|
)
|
|
);
|
|
|
|
foreach ($plugin_menu_links as $menu_item)
|
|
{
|
|
$template->assign_block_vars('plugin_menu.menu_item', $menu_item);
|
|
}
|
|
|
|
include(PHPWG_ROOT_PATH.'admin/'.$page['page'].'.php');
|
|
|
|
//------------------------------------------------------------- content display
|
|
|
|
// +-----------------------------------------------------------------------+
|
|
// | errors & infos |
|
|
// +-----------------------------------------------------------------------+
|
|
|
|
if (count($page['errors']) != 0)
|
|
{
|
|
foreach ($page['errors'] as $error)
|
|
{
|
|
$template->assign_block_vars('errors.error',array('ERROR'=>$error));
|
|
}
|
|
}
|
|
|
|
if (count($page['infos']) != 0)
|
|
{
|
|
foreach ($page['infos'] as $info)
|
|
{
|
|
$template->assign_block_vars('infos.info',array('INFO'=>$info));
|
|
}
|
|
}
|
|
|
|
include(PHPWG_ROOT_PATH.'include/page_header.php');
|
|
$template->parse('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');
|
|
?>
|