diff options
author | plegall <plg@piwigo.org> | 2005-08-17 14:25:38 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2005-08-17 14:25:38 +0000 |
commit | 20f05416971676e5433da86f3f924d4efe2f92df (patch) | |
tree | 406375600205f9e264694da57de66a0f14ea1acd /admin.php | |
parent | de22732f93fad45f94d8c95fdca4cdf6a870327d (diff) |
- 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
Diffstat (limited to 'admin.php')
-rw-r--r-- | admin.php | 316 |
1 files changed, 46 insertions, 270 deletions
@@ -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']); -} - -$_GET['page'] = isset($_GET['page']) ? $_GET['page'] : 'intro'; - -switch ( $_GET['page'] ) -{ - 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.= ' > '.$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; - } -} -if ( $title == '' ) $title = $lang['title_default']; +// +-----------------------------------------------------------------------+ +// | variables init | +// +-----------------------------------------------------------------------+ -// waiting -$query = 'SELECT id FROM '.WAITING_TABLE; -$query.= " WHERE validated='false'"; -$query.= ';'; -$result = pwg_query( $query ); -$nb_waiting = ''; -if ( mysql_num_rows( $result ) > 0 ) +if (isset($_GET['page']) + and preg_match('/^[a-z_]*$/', $_GET['page']) + and is_file(PHPWG_ROOT_PATH.'admin/'.$_GET['page'].'.php')) { - $nb_waiting = ' [ '.mysql_num_rows( $result ).' ]'; + $page['page'] = $_GET['page']; } -// comments -$query = 'SELECT id FROM '.COMMENTS_TABLE; -$query.= " WHERE validated='false'"; -$query.= ';'; -$result = pwg_query( $query ); -$nb_comments = ''; -if ( mysql_num_rows( $result ) > 0 ) +else { - $nb_comments = ' [ '.mysql_num_rows( $result ).' ]'; + $page['page'] = 'intro'; } $link_start = PHPWG_ROOT_PATH.'admin.php?page='; $conf_link = $link_start.'configuration&section='; $opt_link = $link_start.'cat_options&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&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&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\' |