- modification : major simplification of admin.php. Titles are managed by

included page, localized items are managed directly in the template.

- new : sub template admin/double_select is included in templates
  admin/cat_options, admin/user_perm and admin/group_perm. I haven't been
  able to use it in admin/picture_modify because it seems impossible to have
  two instance of the same sub-template without interfering.

- modification : bug 99, in profile manager, no auto submit when changing
  language (useless and generate accessibility problem).

- improvement : HTML semantically correct for administration menu, simpler
  syntax, less tags, correct tags (dl/dt/dd instead of div/div).

- modification : number of waiting elements and unvalidated comments are
  displayed in admin/intro instead of administration menu (with a link to
  the dedicated pages).

- deletion : no link to profile from admin/user_list anymore (no need).


git-svn-id: http://piwigo.org/svn/trunk@817 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
plegall
2005-08-17 14:25:38 +00:00
parent de22732f93
commit 20f0541697
34 changed files with 517 additions and 508 deletions
+46 -270
View File
@@ -37,257 +37,58 @@ include_once( PHPWG_ROOT_PATH.'admin/include/isadmin.inc.php' );
sync_users();
//--------------------------------------- validating page and creation of title
$page_valide = false;
$title = '';
$username='';
if (isset($_POST['username']))
{
$username = $_POST['username'];
}
else if (isset($_POST['userid']))
{
$username = get_username($_POST['userid']);
}
else if (isset($_GET['user_id']))
{
$username = get_username($_GET['user_id']);
}
// +-----------------------------------------------------------------------+
// | variables init |
// +-----------------------------------------------------------------------+
$_GET['page'] = isset($_GET['page']) ? $_GET['page'] : 'intro';
switch ( $_GET['page'] )
if (isset($_GET['page'])
and preg_match('/^[a-z_]*$/', $_GET['page'])
and is_file(PHPWG_ROOT_PATH.'admin/'.$_GET['page'].'.php'))
{
case 'user_list' :
{
$title = $lang['title_liste_users'];
$page_valide = true;
break;
}
case 'profile' :
{
$title = $lang['title_user_modify'];
$page_valide = true;
break;
}
case 'user_perm':
$title = $lang['title_user_perm'].' '.$username;
$page_valide = true; break;
case 'group_list' :
$title = $lang['title_groups']; $page_valide = true; break;
case 'group_perm' :
if (!is_numeric($_GET['group_id']))
{
$_GET['group_id'] = -1;
}
$query = '
SELECT name
FROM '.GROUPS_TABLE.'
WHERE id = '.$_GET['group_id'].'
;';
$result = pwg_query($query);
if (mysql_num_rows($result) > 0 )
{
$row = mysql_fetch_array($result);
$title = $lang['title_group_perm'].' "'.$row['name'].'"';
$page_valide = true;
}
else
{
$page_valide = false;
}
break;
case 'stats':
$title = $lang['title_history']; $page_valide = true; break;
case 'update':
$title = $lang['title_update']; $page_valide = true; break;
case 'configuration':
$title = $lang['title_configuration']; $page_valide = true; break;
case 'help':
$title = $lang['title_instructions']; $page_valide = true; break;
case 'cat_perm':
$title = $lang['title_cat_perm'];
if ( isset( $_GET['cat'] ) )
{
check_cat_id( $_GET['cat'] );
if ( isset( $page['cat'] ) and is_numeric( $page['cat'] ) )
{
$result = get_cat_info( $page['cat'] );
$name = get_cat_display_name($result['name'], '');
$title.= ' "'.$name.'"';
}
}
$page_valide = true;
break;
case 'cat_list':
$title = $lang['title_categories']; $page_valide = true; break;
case 'cat_modify':
$title = $lang['title_edit_cat']; $page_valide = true; break;
case 'infos_images':
$title = $lang['title_info_images']; $page_valide = true; break;
case 'waiting':
$title = $lang['title_waiting']; $page_valide = true; break;
case 'thumbnail':
$title = $lang['title_thumbnails'];
if ( isset( $_GET['dir'] ) )
{
$title.= ' '.$lang['title_thumbnails_2'].' <span class="titreImg">';
// $_GET['dir'] contains :
// ./galleries/vieux_lyon ou
// ./galleries/vieux_lyon/visite ou
// ./galleries/vieux_lyon/visite/truc ...
$dir = explode( "/", $_GET['dir'] );
$title.= $dir[2];
for ( $i = 2; $i < sizeof( $dir ) - 1; $i++ )
{
$title.= ' &gt; '.$dir[$i+1];
}
$title.= "</span>";
}
$page_valide = true;
break;
case 'comments' :
$title = $lang['title_comments'];
$page_valide = true;
break;
case 'picture_modify' :
$title = $lang['title_picmod'];
$page_valide = true;
break;
case 'remote_site' :
{
$title = $lang['remote_sites'];
$page_valide = true;
break;
}
case 'cat_options' :
{
$title = $lang['title_cat_options'];
$page_valide = true;
break;
}
case 'element_set' :
{
$title = 'batch management';
$page_valide = true;
break;
}
case 'maintenance' :
{
$title = l10n('Maintenance');
$page_valide = true;
break;
}
case 'representative' :
{
$title = l10n('Representative');
$page_valide = true;
break;
}
// case 'element_set_unit' :
// {
// $title = 'batch management';
// $page_valide = true;
// break;
// }
case 'intro' :
{
$_GET['page'] = 'intro';
$title = $lang['title_default'];
$page_valide = true;
break;
}
default :
{
break;
}
$page['page'] = $_GET['page'];
}
if ( $title == '' ) $title = $lang['title_default'];
// waiting
$query = 'SELECT id FROM '.WAITING_TABLE;
$query.= " WHERE validated='false'";
$query.= ';';
$result = pwg_query( $query );
$nb_waiting = '';
if ( mysql_num_rows( $result ) > 0 )
else
{
$nb_waiting = ' [ '.mysql_num_rows( $result ).' ]';
}
// comments
$query = 'SELECT id FROM '.COMMENTS_TABLE;
$query.= " WHERE validated='false'";
$query.= ';';
$result = pwg_query( $query );
$nb_comments = '';
if ( mysql_num_rows( $result ) > 0 )
{
$nb_comments = ' [ '.mysql_num_rows( $result ).' ]';
$page['page'] = 'intro';
}
$link_start = PHPWG_ROOT_PATH.'admin.php?page=';
$conf_link = $link_start.'configuration&amp;section=';
$opt_link = $link_start.'cat_options&amp;section=';
//----------------------------------------------------- template initialization
$title = l10n('PhpWebGallery administration'); // for include/page_header.php
include(PHPWG_ROOT_PATH.'include/page_header.php');
$template->set_filenames( array('admin'=>'admin.tpl') );
$template->assign_vars(array(
'L_TITLE'=>$lang['admin_panel'],
'L_LINKS'=>$lang['links'],
'L_GALLERY_INDEX'=>$lang['home'],
'L_GENERAL'=>$lang['general'],
'L_DEFAULT'=>$lang['gallery_default'],
'L_HISTORY'=>$lang['history'],
'L_FAQ'=>$lang['instructions'],
'L_CONFIGURATION'=>$lang['config'],
'L_CONFIG_GENERAL'=>$lang['general'],
'L_CONFIG_COMMENTS'=>$lang['comments'],
'L_CONFIG_DISPLAY'=>$lang['conf_default'],
'L_CONFIG_UPLOAD'=>$lang['upload'],
'L_CONFIG_SESSION'=>$lang['conf_cookie'],
'L_CONFIG_METADATA'=>$lang['metadata'],
'L_SITES'=>$lang['remote_sites'],
'L_CATEGORIES'=>$lang['categories'],
'L_MANAGE'=>$lang['manage'],
'L_IMAGES'=>$lang['pictures'],
'L_WAITING'=>$lang['waiting'].$nb_waiting,
'L_COMMENTS'=>$lang['comments'].$nb_comments,
'L_THUMBNAILS'=>$lang['thumbnails'],
'L_IDENTIFY'=>$lang['identification'],
'L_USERS'=>$lang['users'],
'L_GROUPS'=>$lang['groups'],
'L_UPDATE'=>$lang['update'],
'L_CAT_UPLOAD'=>$lang['upload'],
'L_CAT_COMMENTS'=>$lang['comments'],
'L_CAT_VISIBLE'=>$lang['lock'],
'L_CAT_STATUS'=>$lang['cat_security'],
$template->set_filenames(array('admin' => 'admin.tpl'));
'U_HISTORY'=>add_session_id($link_start.'stats' ),
'U_FAQ'=>add_session_id($link_start.'help' ),
'U_SITES'=>add_session_id($link_start.'remote_site'),
'U_MAINTENANCE'=>add_session_id($link_start.'maintenance'),
'U_CONFIG_GENERAL'=>add_session_id($conf_link.'general' ),
'U_CONFIG_COMMENTS'=>add_session_id($conf_link.'comments' ),
'U_CONFIG_DISPLAY'=>add_session_id($conf_link.'default' ),
'U_CONFIG_UPLOAD'=>add_session_id($conf_link.'upload' ),
'U_CONFIG_SESSION'=>add_session_id($conf_link.'session' ),
'U_CONFIG_METADATA'=>add_session_id($conf_link.'metadata' ),
'U_CATEGORIES'=>add_session_id($link_start.'cat_list' ),
'U_CAT_UPLOAD'=>add_session_id($opt_link.'upload'),
'U_CAT_COMMENTS'=>add_session_id($opt_link.'comments'),
'U_CAT_VISIBLE'=>add_session_id($opt_link.'visible'),
'U_CAT_STATUS'=>add_session_id($opt_link.'status'),
'U_CAT_OPTIONS'=>add_session_id($link_start.'cat_options'),
'U_CAT_UPDATE'=>add_session_id($link_start.'update'),
'U_WAITING'=>add_session_id($link_start.'waiting' ),
'U_COMMENTS'=>add_session_id($link_start.'comments' ),
'U_CADDIE'=>add_session_id($link_start.'element_set&amp;cat=caddie'),
'U_THUMBNAILS'=>add_session_id($link_start.'thumbnail' ),
'U_USERS'=>add_session_id($link_start.'user_list' ),
'U_GROUPS'=>add_session_id($link_start.'group_list' ),
'U_RETURN'=>add_session_id(PHPWG_ROOT_PATH.'category.php')
));
$template->assign_vars(
array(
'U_HISTORY'=>add_session_id($link_start.'stats' ),
'U_FAQ'=>add_session_id($link_start.'help' ),
'U_SITES'=>add_session_id($link_start.'remote_site'),
'U_MAINTENANCE'=>add_session_id($link_start.'maintenance'),
'U_CONFIG_GENERAL'=>add_session_id($conf_link.'general' ),
'U_CONFIG_COMMENTS'=>add_session_id($conf_link.'comments' ),
'U_CONFIG_DISPLAY'=>add_session_id($conf_link.'default' ),
'U_CONFIG_UPLOAD'=>add_session_id($conf_link.'upload' ),
'U_CONFIG_SESSION'=>add_session_id($conf_link.'session' ),
'U_CONFIG_METADATA'=>add_session_id($conf_link.'metadata' ),
'U_CATEGORIES'=>add_session_id($link_start.'cat_list' ),
'U_CAT_UPLOAD'=>add_session_id($opt_link.'upload'),
'U_CAT_COMMENTS'=>add_session_id($opt_link.'comments'),
'U_CAT_VISIBLE'=>add_session_id($opt_link.'visible'),
'U_CAT_STATUS'=>add_session_id($opt_link.'status'),
'U_CAT_OPTIONS'=>add_session_id($link_start.'cat_options'),
'U_CAT_UPDATE'=>add_session_id($link_start.'update'),
'U_WAITING'=>add_session_id($link_start.'waiting' ),
'U_COMMENTS'=>add_session_id($link_start.'comments' ),
'U_CADDIE'=>add_session_id($link_start.'element_set&amp;cat=caddie'),
'U_THUMBNAILS'=>add_session_id($link_start.'thumbnail' ),
'U_USERS'=>add_session_id($link_start.'user_list' ),
'U_GROUPS'=>add_session_id($link_start.'group_list' ),
'U_RETURN'=>add_session_id(PHPWG_ROOT_PATH.'category.php')
)
);
if ($conf['allow_random_representative'])
{
@@ -299,44 +100,16 @@ if ($conf['allow_random_representative'])
);
}
//--------------------------------------------------------------------- summary
$link_start = PHPWG_ROOT_PATH.'admin.php?page=';
//------------------------------------------------------------- content display
$page['errors'] = array();
$page['infos'] = array();
$page['infos'] = array();
include(PHPWG_ROOT_PATH.'admin/'.$page['page'].'.php');
if ($page_valide)
{
switch ($_GET['page'])
{
case 'comments' :
{
include(PHPWG_ROOT_PATH.'comments.php');
break;
}
case 'profile' :
{
include(PHPWG_ROOT_PATH.'profile.php');
break;
}
default :
{
include(PHPWG_ROOT_PATH.'admin/'.$_GET['page'].'.php');
}
}
}
else
{
$template->assign_vars(
array(
'ADMIN_CONTENT'
=>'<div style="text-align:center">'.$lang['default_message'].'</div>'
)
);
}
// +-----------------------------------------------------------------------+
// | errors & infos |
// +-----------------------------------------------------------------------+
if (count($page['errors']) != 0)
{
$template->assign_block_vars('errors',array());
@@ -345,6 +118,7 @@ if (count($page['errors']) != 0)
$template->assign_block_vars('errors.error',array('ERROR'=>$error));
}
}
if (count($page['infos']) != 0)
{
$template->assign_block_vars('infos',array());
@@ -356,9 +130,11 @@ if (count($page['infos']) != 0)
$template->parse('admin');
include(PHPWG_ROOT_PATH.'include/page_tail.php');
// +-----------------------------------------------------------------------+
// | order permission refreshment |
// +-----------------------------------------------------------------------+
$query = '
UPDATE '.USER_CACHE_TABLE.'
SET need_update = \'true\'