- 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

264
admin.php
View file

@ -37,232 +37,32 @@ 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;
$page['page'] = $_GET['page'];
}
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;
}
}
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 )
{
$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->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'),
@ -287,7 +87,8 @@ $template->assign_vars(array(
'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();
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>'
)
);
}
include(PHPWG_ROOT_PATH.'admin/'.$page['page'].'.php');
// +-----------------------------------------------------------------------+
// | 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\'

View file

@ -30,9 +30,11 @@ if (!defined('PHPWG_ROOT_PATH'))
die ("Hacking attempt!");
}
include_once(PHPWG_ROOT_PATH.'admin/include/isadmin.inc.php');
// +-----------------------------------------------------------------------+
// | modification registration |
// +-----------------------------------------------------------------------+
// print '<pre>';
// print_r($_POST);
// print '</pre>';
@ -129,21 +131,21 @@ UPDATE '.CATEGORIES_TABLE.'
}
}
}
// +-----------------------------------------------------------------------+
// | template init |
// +-----------------------------------------------------------------------+
$template->set_filenames(array('cat_options'=>'admin/cat_options.tpl'));
if (!isset($_GET['section']))
{
$page['section'] = 'upload';
}
else
{
$page['section'] = $_GET['section'];
}
$template->set_filenames(
array(
'cat_options' => 'admin/cat_options.tpl',
'double_select' => 'admin/double_select.tpl'
)
);
$page['section'] = isset($_GET['section']) ? $_GET['section'] : 'upload';
$base_url = PHPWG_ROOT_PATH.'admin.php?page=cat_options&amp;section=';
$template->assign_vars(
array(
'L_SUBMIT'=>$lang['submit'],
@ -153,7 +155,6 @@ $template->assign_vars(
)
);
$template->assign_vars(array(strtoupper($page['section']).'_CLASS'=>'opened'));
// +-----------------------------------------------------------------------+
// | form display |
// +-----------------------------------------------------------------------+
@ -189,7 +190,7 @@ SELECT id,name,uppercats,global_rank
;';
$template->assign_vars(
array(
'L_CAT_TITLE' => $lang['cat_upload_title'],
'L_SECTION' => $lang['cat_upload_title'],
'L_CAT_OPTIONS_TRUE' => $lang['authorized'],
'L_CAT_OPTIONS_FALSE' => $lang['forbidden'],
'L_CAT_OPTIONS_INFO' => $lang['cat_upload_info'],
@ -211,7 +212,7 @@ SELECT id,name,uppercats,global_rank
;';
$template->assign_vars(
array(
'L_CAT_TITLE' => $lang['cat_comments_title'],
'L_SECTION' => $lang['cat_comments_title'],
'L_CAT_OPTIONS_TRUE' => $lang['authorized'],
'L_CAT_OPTIONS_FALSE' => $lang['forbidden'],
'L_CAT_OPTIONS_INFO' => $lang['cat_comments_info'],
@ -233,7 +234,7 @@ SELECT id,name,uppercats,global_rank
;';
$template->assign_vars(
array(
'L_CAT_TITLE' => $lang['cat_lock_title'],
'L_SECTION' => $lang['cat_lock_title'],
'L_CAT_OPTIONS_TRUE' => $lang['unlocked'],
'L_CAT_OPTIONS_FALSE' => $lang['locked'],
'L_CAT_OPTIONS_INFO' => $lang['cat_lock_info'],
@ -255,7 +256,7 @@ SELECT id,name,uppercats,global_rank
;';
$template->assign_vars(
array(
'L_CAT_TITLE' => $lang['cat_status_title'],
'L_SECTION' => $lang['cat_status_title'],
'L_CAT_OPTIONS_TRUE' => $lang['cat_public'],
'L_CAT_OPTIONS_FALSE' => $lang['cat_private'],
'L_CAT_OPTIONS_INFO' => $lang['cat_status_info'],
@ -278,7 +279,7 @@ SELECT id,name,uppercats,global_rank
;';
$template->assign_vars(
array(
'L_CAT_TITLE' => l10n('Representative'),
'L_SECTION' => l10n('Representative'),
'L_CAT_OPTIONS_TRUE' => l10n('singly represented'),
'L_CAT_OPTIONS_FALSE' => l10n('randomly represented'),
'L_CAT_OPTIONS_INFO' => l10n('')
@ -289,8 +290,11 @@ SELECT id,name,uppercats,global_rank
}
display_select_cat_wrapper($query_true,array(),'category_option_true');
display_select_cat_wrapper($query_false,array(),'category_option_false');
// +-----------------------------------------------------------------------+
// | sending html code |
// +-----------------------------------------------------------------------+
$template->assign_var_from_handle('DOUBLE_SELECT', 'double_select');
$template->assign_var_from_handle('ADMIN_CONTENT', 'cat_options');
?>

View file

@ -196,12 +196,22 @@ SELECT user_id, cat_id
// +-----------------------------------------------------------------------+
// | template initialization |
// +-----------------------------------------------------------------------+
$template->set_filenames(array('cat_perm'=>'admin/cat_perm.tpl'));
$form_action = PHPWG_ROOT_PATH.'admin.php';
$form_action.= '?page=cat_perm&amp;cat='.$page['cat'];
$template->assign_vars(array('F_ACTION' => $form_action));
$template->assign_vars(
array(
'TITLE' =>
sprintf(
l10n('Manage permissions for category "%s"'),
get_cat_display_name_from_id($page['cat'])
)
'F_ACTION' =>
add_session_id(
PHPWG_ROOT_PATH.'admin.php?page=cat_perm&amp;cat='.$page['cat']
)
)
);
// +-----------------------------------------------------------------------+
// | form construction |

View file

@ -120,11 +120,21 @@ SELECT cat_id
// | template init |
// +-----------------------------------------------------------------------+
$template->set_filenames(array('group_perm'=>'admin/cat_options.tpl'));
$template->set_filenames(
array(
'group_perm' => 'admin/group_perm.tpl',
'double_select' => 'admin/double_select.tpl'
)
);
$template->assign_vars(
array(
'L_RESET'=>$lang['reset'],
'TITLE' =>
sprintf(
l10n('Manage permissions for group "%s"'),
get_groupname($page['group']
)
),
'L_CAT_OPTIONS_TRUE'=>$lang['authorized'],
'L_CAT_OPTIONS_FALSE'=>$lang['forbidden'],
'L_CAT_OPTIONS_INFO'=>$lang['permuser_info'],
@ -171,6 +181,7 @@ display_select_cat_wrapper($query_false,array(),'category_option_false');
// | html code display |
// +-----------------------------------------------------------------------+
$template->assign_var_from_handle('DOUBLE_SELECT', 'double_select');
$template->assign_var_from_handle('ADMIN_CONTENT', 'group_perm');
?>

View file

@ -193,6 +193,44 @@ $template->assign_vars(
)
);
// waiting elements
$query = '
SELECT COUNT(*)
FROM '.WAITING_TABLE.'
WHERE validated=\'false\'
;';
list($nb_waiting) = mysql_fetch_row(pwg_query($query));
if ($nb_waiting > 0)
{
$template->assign_block_vars(
'waiting',
array(
'URL' => add_session_id(PHPWG_ROOT_PATH.'admin.php?page=waiting'),
'INFO' => sprintf(l10n('%d waiting for validation'), $nb_waiting)
)
);
}
// unvalidated comments
$query = '
SELECT COUNT(*)
FROM '.COMMENTS_TABLE.'
WHERE validated=\'false\'
;';
list($nb_comments) = mysql_fetch_row(pwg_query($query));
if ($nb_comments > 0)
{
$template->assign_block_vars(
'unvalidated',
array(
'URL' => add_session_id(PHPWG_ROOT_PATH.'admin.php?page=comments'),
'INFO' => sprintf(l10n('%d waiting for validation'), $nb_comments)
)
);
}
// +-----------------------------------------------------------------------+
// | sending html code |
// +-----------------------------------------------------------------------+

View file

@ -167,7 +167,12 @@ $storage_category = get_cat_display_name_cache($row['uppercats'],
$url,
false);
//----------------------------------------------------- template initialization
$template->set_filenames(array('picture_modify'=>'admin/picture_modify.tpl'));
$template->set_filenames(
array(
'picture_modify' => 'admin/picture_modify.tpl'
)
);
$template->assign_vars(array(
'TITLE_IMG'=>$title,
'STORAGE_CATEGORY_IMG'=>$storage_category,
@ -250,6 +255,9 @@ SELECT id,name,uppercats,global_rank
OR representative_picture_id IS NULL
;';
display_select_cat_wrapper($query, array(), 'dismissed_option');
//----------------------------------------------------------- sending html code
$template->assign_var_from_handle('ADMIN_CONTENT', 'picture_modify');
?>

View file

@ -109,15 +109,28 @@ SELECT cat_id
mass_inserts(USER_ACCESS_TABLE, array('user_id','cat_id'), $inserts);
}
//----------------------------------------------------- template initialization
$template->set_filenames(array('user_perm'=>'admin/cat_options.tpl'));
// +-----------------------------------------------------------------------+
// | template init |
// +-----------------------------------------------------------------------+
$template->set_filenames(
array(
'user_perm' => 'admin/user_perm.tpl',
'double_select' => 'admin/double_select.tpl'
)
);
$template->assign_vars(
array(
'L_RESET'=>$lang['reset'],
'TITLE' =>
sprintf(
l10n('Manage permissions for user "%s"'),
get_username($page['user']
)
),
'L_CAT_OPTIONS_TRUE'=>$lang['authorized'],
'L_CAT_OPTIONS_FALSE'=>$lang['forbidden'],
'L_CAT_OPTIONS_INFO'=>$lang['permuser_info'],
'F_ACTION' =>
add_session_id(
@ -157,7 +170,10 @@ $query_false.= '
;';
display_select_cat_wrapper($query_false,array(),'category_option_false');
//----------------------------------------------------------- sending html code
// +-----------------------------------------------------------------------+
// | sending html code |
// +-----------------------------------------------------------------------+
$template->assign_var_from_handle('DOUBLE_SELECT', 'double_select');
$template->assign_var_from_handle('ADMIN_CONTENT', 'user_perm');
?>

View file

@ -1,3 +1,29 @@
2005-08-17 Pierrick LE GALL
* 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).
2005-08-16 Pierrick LE GALL
* modification : admin/group_list screen completely rewrite to

View file

@ -192,7 +192,7 @@ function language_select($default, $select_name = "language")
{
$available_lang = get_languages();
$lang_select = '<select name="' . $select_name . '" onchange="this.form.submit()">';
$lang_select = '<select name="' . $select_name . '">';
foreach ($available_lang as $code => $displayname)
{
$selected = ( strtolower($default) == strtolower($code) ) ? ' selected="selected"' : '';
@ -449,4 +449,12 @@ function parse_comment_content($content)
return $content;
}
function get_cat_display_name_from_id($cat_id,
$url = 'category.php?cat=',
$replace_space = true)
{
$cat_info = get_cat_info($cat_id);
get_cat_display_name($cat_info['id'], $url, $replace_space);
}
?>

View file

@ -454,4 +454,31 @@ function create_user_infos($user_id)
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
mass_inserts(USER_INFOS_TABLE, array_keys($insert), array($insert));
}
/**
* returns the groupname corresponding to the given group identifier if
* exists
*
* @param int group_id
* @return mixed
*/
function get_groupname($group_id)
{
$query = '
SELECT name
FROM '.GROUPS_TABLE.'
WHERE id = '.intval($group_id).'
;';
$result = pwg_query($query);
if (mysql_num_rows($result) > 0)
{
list($groupname) = mysql_fetch_row($result);
}
else
{
return false;
}
return $groupname;
}
?>

View file

@ -25,19 +25,6 @@
// | USA. |
// +-----------------------------------------------------------------------+
// Dynamic change of language with database persistency
//
// FIXME : ce bout de code fait planter l'assignation d'un language a
// plusieurs users simultanement dans la nouvelle page admin/user_list.php
//
// if (isset($_POST['language']))
// {
// $query = "UPDATE ".USERS_TABLE." SET language = '";
// $query.= $_POST['language'];
// $query.= "' WHERE id = ".$_POST['userid'].";";
// pwg_query($query);
// }
// retrieving connected user informations
if (isset($_COOKIE['id']))
{

View file

@ -1,72 +1,75 @@
<!-- BEGIN install_warning -->
<p class="install_warning">{L_INSTALL_WARNING}</div>
<!-- END install_warning -->
<table style="width:100%;">
<tr>
<td valign="top" style="padding:10px;width:1%;">
<div class="table1">
<td valign="top" style="width:1%;">
<div id="theNavbar">
<dl>
<dt>{lang:links}</dt>
<dd>
<ul>
<li><a href="{U_RETURN}">{lang:home}</a></li>
</ul>
</dd>
<div class="titreMenu">{L_LINKS}</div>
<div class="menu">
<ul class="menu">
<li><a class="adminMenu" href="{U_RETURN}">{L_GALLERY_INDEX}</a></li>
<dt>{lang:general}</dt>
<dd>
<ul>
<li><a href="{U_FAQ}">{lang:instructions}</a></li>
<li><a href="{U_SITES}">{lang:remote_sites}</a></li>
<li><a href="{U_HISTORY}">{lang:history}</a></li>
<li><a href="{U_CAT_UPDATE}">{lang:update}</a></li>
<li><a href="{U_MAINTENANCE}">{lang:Maintenance}</a></li>
</ul>
</div>
<div class="titreMenu">{L_GENERAL}</div>
<div class="menu">
<ul class="menu">
<li><a class="adminMenu" href="{U_FAQ}">{L_FAQ}</a></li>
<li><a class="adminMenu" href="{U_SITES}">{L_SITES}</a></li>
<li><a class="adminMenu" href="{U_HISTORY}">{L_HISTORY}</a></li>
<li><a class="adminMenu" href="{U_CAT_UPDATE}">{L_UPDATE}</a></li>
<li><a class="adminMenu" href="{U_MAINTENANCE}">{lang:Maintenance}</a></li>
</dd>
<dt>{lang:config}</dt>
<dd>
<ul>
<li><a href="{U_CONFIG_GENERAL}">{lang:general}</a></li>
<li><a href="{U_CONFIG_COMMENTS}">{lang:comments}</a></li>
<li><a href="{U_CONFIG_DISPLAY}">{lang:conf_default}</a></li>
<li><a href="{U_CONFIG_UPLOAD}">{lang:upload}</a></li>
<li><a href="{U_CONFIG_SESSION}">{lang:conf_cookie}</a></li>
<li><a href="{U_CONFIG_METADATA}">{lang:metadata}</a></li>
</ul>
</div>
<div class="titreMenu">{L_CONFIGURATION}</div>
<div class="menu">
<ul class="menu">
<li><a class="adminMenu" href="{U_CONFIG_GENERAL}">{L_CONFIG_GENERAL}</a></li>
<li><a class="adminMenu" href="{U_CONFIG_COMMENTS}">{L_CONFIG_COMMENTS}</a></li>
<li><a class="adminMenu" href="{U_CONFIG_DISPLAY}">{L_CONFIG_DISPLAY}</a></li>
<li><a class="adminMenu" href="{U_CONFIG_UPLOAD}">{L_CONFIG_UPLOAD}</a></li>
<li><a class="adminMenu" href="{U_CONFIG_SESSION}">{L_CONFIG_SESSION}</a></li>
<li><a class="adminMenu" href="{U_CONFIG_METADATA}">{L_CONFIG_METADATA}</a></li>
</ul>
</div>
<div class="titreMenu">{L_CATEGORIES}</div>
<div class="menu">
<ul class="menu">
<li><a class="adminMenu" href="{U_CATEGORIES}">{L_MANAGE}</a></li>
<li><a class="adminMenu" href="{U_CAT_UPLOAD}">{L_CAT_UPLOAD}</a></li>
<li><a class="adminMenu" href="{U_CAT_COMMENTS}">{L_CAT_COMMENTS}</a></li>
<li><a class="adminMenu" href="{U_CAT_VISIBLE}">{L_CAT_VISIBLE}</a></li>
<li><a class="adminMenu" href="{U_CAT_STATUS}">{L_CAT_STATUS}</a></li>
</dd>
<dt>{lang:categories}</dt>
<dd>
<ul>
<li><a href="{U_CATEGORIES}">{lang:manage}</a></li>
<li><a href="{U_CAT_UPLOAD}">{lang:upload}</a></li>
<li><a href="{U_CAT_COMMENTS}">{lang:comments}</a></li>
<li><a href="{U_CAT_VISIBLE}">{lang:lock}</a></li>
<li><a href="{U_CAT_STATUS}">{lang:cat_security}</a></li>
<!-- BEGIN representative -->
<li><a class="adminMenu" href="{representative.URL}">{lang:Representative}</a></li>
<li><a href="{representative.URL}">{lang:Representative}</a></li>
<!-- END representative -->
</ul>
</div>
<div class="titreMenu">{L_IMAGES}</div>
<div class="menu">
<ul class="menu">
<li><a class="adminMenu" href="{U_WAITING}">{L_WAITING}</a></li>
<li><a class="adminMenu" href="{U_THUMBNAILS}">{L_THUMBNAILS}</a></li>
<li><a class="adminMenu" href="{U_COMMENTS}">{L_COMMENTS}</a></li>
<li><a class="adminMenu" href="{U_CADDIE}">Caddie</a></li>
</dd>
<dt>{lang:pictures}</dt>
<dd>
<ul>
<li><a href="{U_WAITING}">{lang:waiting}</a></li>
<li><a href="{U_THUMBNAILS}">{lang:thumbnails}</a></li>
<li><a href="{U_COMMENTS}">{lang:comments}</a></li>
<li><a href="{U_CADDIE}">{lang:Caddie}</a></li>
</ul>
</div>
<div class="titreMenu">{L_IDENTIFY}</div>
<div class="menu">
<ul class="menu">
<li><a class="adminMenu" href="{U_USERS}">{L_USERS}</a></li>
<li><a class="adminMenu" href="{U_GROUPS}">{L_GROUPS}</a></li>
</dd>
<dt>{lang:identification}</dt>
<dd>
<ul>
<li><a href="{U_USERS}">{lang:users}</a></li>
<li><a href="{U_GROUPS}">{lang:groups}</a></li>
</ul>
</div>
</div>
</dd>
</dl>
</div> <!-- end div#theNavbar -->
</td>
<td style="padding:10px;width:99%;" valign="top">
<div class="home">
<div class="titrePage">{PAGE_TITLE}</div>
<td style="width:99%;" valign="top">
<div id="adminMain">
<!-- BEGIN errors -->
<div id="errors">
@ -87,9 +90,8 @@
</ul>
</div>
<!-- END infos -->
<div id="adminMain">
{ADMIN_CONTENT}
</div>
</div>
</td>
</tr>

View file

@ -1,3 +1,5 @@
<h1>{lang:title_categories}</h1>
<div class="admin">{CATEGORIES_NAV}</div>
<form id="categoryOrdering" action="" method="post">

View file

@ -1,3 +1,5 @@
<h1>{lang:title_edit_cat}</h1>
<h2>{CATEGORIES_NAV}</h2>
<ul class="categoryActions">

View file

@ -1,30 +1,11 @@
<div class="admin">{L_CAT_TITLE}</div>
<h1>{lang:title_cat_options}</h1>
<form method="post" action="{F_ACTION}">
<table class="doubleSelect">
<tr>
<td>
<h3>{L_CAT_OPTIONS_TRUE}</h3>
<select class="categoryList" name="cat_true[]" multiple="multiple" size="30">
<!-- BEGIN category_option_true -->
<option class="{category_option_true.CLASS}" {category_option_true.SELECTED} value="{category_option_true.VALUE}">{category_option_true.OPTION}</option>
<!-- END category_option_true -->
</select>
<p><input type="submit" value="&raquo;" name="falsify" style="font-size:15px;"/></p>
</td>
<td>
<h3>{L_CAT_OPTIONS_FALSE}</h3>
<select class="categoryList" name="cat_false[]" multiple="multiple" size="30">
<!-- BEGIN category_option_false -->
<option class="{category_option_false.CLASS}" {category_option_false.SELECTED} value="{category_option_false.VALUE}">{category_option_false.OPTION}</option>
<!-- END category_option_false -->
</select>
<p><input type="submit" value="&laquo;" name="trueify" style="font-size:15px;" /></p>
</td>
</tr>
</table>
<fieldset>
<legend>{L_SECTION}</legend>
{DOUBLE_SELECT}
</fieldset>
</form>
<div class="information">{L_CAT_OPTIONS_INFO}</div>
<p class="information">{L_CAT_OPTIONS_INFO}</div>

View file

@ -1,3 +1,5 @@
<h1>{TITLE}</h1>
<form action="{F_ACTION}" method="post" id="categoryPermissions">
<h2>{lang:Groups}</h2>

View file

@ -1,3 +1,5 @@
<h1>{lang:title_configuration}</h1>
<form method="post" action="{F_ACTION}">
<table width="100%" align="center">
<!-- BEGIN general -->

View file

@ -0,0 +1,23 @@
<table class="doubleSelect">
<tr>
<td>
<h3>{L_CAT_OPTIONS_TRUE}</h3>
<select class="categoryList" name="cat_true[]" multiple="multiple" size="30">
<!-- BEGIN category_option_true -->
<option {category_option_true.SELECTED} value="{category_option_true.VALUE}">{category_option_true.OPTION}</option>
<!-- END category_option_true -->
</select>
<p><input type="submit" value="&raquo;" name="falsify" style="font-size:15px;"/></p>
</td>
<td>
<h3>{L_CAT_OPTIONS_FALSE}</h3>
<select class="categoryList" name="cat_false[]" multiple="multiple" size="30">
<!-- BEGIN category_option_false -->
<option {category_option_false.SELECTED} value="{category_option_false.VALUE}">{category_option_false.OPTION}</option>
<!-- END category_option_false -->
</select>
<p><input type="submit" value="&laquo;" name="trueify" style="font-size:15px;" /></p>
</td>
</tr>
</table>

View file

@ -1,3 +1,5 @@
<h1>{lang:Batch management}</h1>
<div class="admin">{CATEGORY_TITLE}</div>
<p style="text-align:center;">

View file

@ -1,3 +1,5 @@
<h1>{lang:title_groups}</h1>
<form class="filter" method="post" name="add_user" action="{F_ADD_ACTION}">
<fieldset>
<legend>{lang:Add group}</legend>

View file

@ -0,0 +1,7 @@
<h1>{TITLE}</h1>
<form method="post" action="{F_ACTION}">
{DOUBLE_SELECT}
</form>
<p>{lang:Only private categories are listed}</p>

View file

@ -1,3 +1,5 @@
<h1>{lang:title_instructions}</h1>
<table style="width:100%;">
<!-- BEGIN cat -->
<tr class="admin">

View file

@ -1,3 +1,5 @@
<h1>{lang:title_default}</h1>
<dl>
<dt>{lang:PhpWebGallery version}</dt>
<dd>
@ -19,18 +21,23 @@
<dt>{lang:Database}</dt>
<dd>
<ul>
<li>{DB_ELEMENTS}</li>
<li>
{DB_ELEMENTS}
<!-- BEGIN waiting -->
(<a href="{waiting.URL}">{waiting.INFO}</a>)
<!-- END waiting -->
</li>
<li>{DB_CATEGORIES}</li>
<li>{DB_USERS}</li>
<li>{DB_GROUPS}</li>
<li>{DB_COMMENTS}</li>
<li>
{DB_COMMENTS}
<!-- BEGIN unvalidated -->
(<a href="{unvalidated.URL}">{unvalidated.INFO}</a>)
<!-- END unvalidated -->
</li>
<li>{DB_DATE}</li>
</ul>
</dd>
<dt></dt>
<dd></dd>
<dt></dt>
<dd></dd>
</dl>

View file

@ -1,3 +1,5 @@
<h1>{lang:Maintenance}</h1>
<ul>
<li><a href="{U_MAINT_CATEGORIES}">{lang:update categories informations}</a></li>
<li><a href="{U_MAINT_IMAGES}">{lang:update images informations}</a></li>

View file

@ -1,3 +1,5 @@
<h1>{lang:title_picmod}</h1>
<div class="admin">{TITLE_IMG}</div>
<form action="{F_ACTION}" method="POST">
<table style="width:100%;">
@ -60,76 +62,64 @@
</table>
</form>
<form name="form1" method="post" action="{F_ACTION}" style="text-align:center;width:800px;">
<form name="form1" method="post" action="{F_ACTION}">
<fieldset>
<legend>{lang:Association to categories}</legend>
<div style="clear:both;"></div>
<div style="height:auto;">
<div style="float:left;padding:10px;width:300px;">
<span class="titreMenu">{L_CAT_ASSOCIATED}</span><br />
<select style="height:auto;width:280px" name="cat_associated[]" multiple="multiple" size="10">
<table class="doubleSelect">
<tr>
<td>
<h3>{L_CAT_ASSOCIATED}</h3>
<select class="categoryList" name="cat_associated[]" multiple="multiple" size="30">
<!-- BEGIN associated_option -->
<option class="{associated_option.CLASS}" {associated_option.SELECTED} value="{associated_option.VALUE}">{associated_option.OPTION}</option>
<option {associated_option.SELECTED} value="{associated_option.VALUE}">{associated_option.OPTION}</option>
<!-- END associated_option -->
</select>
</div>
<p><input type="submit" value="&raquo;" name="dissociate" style="font-size:15px;"/></p>
</td>
<div style="float:left;padding-top:80px;padding-bottom:80px;text-align:center;width:160px;" >
<input type="submit" value="&laquo;" name="associate" style="font-size:15px;" class="bouton" /><br/>
<input type="submit" value="&raquo;" name="dissociate" style="font-size:15px;" class="bouton" />
</div>
<div style="float:right;padding:10px;width:300px;">
<span class="titreMenu">{L_CAT_DISSOCIATED}</span><br />
<select style="width:280px" name="cat_dissociated[]" multiple="multiple" size="10">
<td>
<h3>{L_CAT_DISSOCIATED}</h3>
<select class="categoryList" name="cat_dissociated[]" multiple="multiple" size="30">
<!-- BEGIN dissociated_option -->
<option class="{dissociated_option.CLASS}" {dissociated_option.SELECTED} value="{dissociated_option.VALUE}">{dissociated_option.OPTION}</option>
<option {dissociated_option.SELECTED} value="{dissociated_option.VALUE}">{dissociated_option.OPTION}</option>
<!-- END dissociated_option -->
</select>
</div>
</div>
<div style="clear:both;"></div>
<input type="reset" name="reset" value="{L_RESET}" class="bouton" />
<p><input type="submit" value="&laquo;" name="associate" style="font-size:15px;" /></p>
</td>
</tr>
</table>
</fieldset>
</form>
<form name="form2" method="post" action="{F_ACTION}" style="text-align:center;width:800px;">
<form name="form2" method="post" action="{F_ACTION}">
<fieldset>
<legend>{lang:Representation of categories}</legend>
<div style="clear:both;"></div>
<div style="height:auto;">
<div style="float:left;padding:10px;width:300px;">
<span class="titreMenu">{L_REPRESENTS}</span><br />
<select style="height:auto;width:280px" name="cat_elected[]" multiple="multiple" size="10">
<table class="doubleSelect">
<tr>
<td>
<h3>{L_REPRESENTS}</h3>
<select class="categoryList" name="cat_elected[]" multiple="multiple" size="30">
<!-- BEGIN elected_option -->
<option class="{elected_option.CLASS}" {elected_option.SELECTED} value="{elected_option.VALUE}">{elected_option.OPTION}</option>
<option {elected_option.SELECTED} value="{elected_option.VALUE}">{elected_option.OPTION}</option>
<!-- END elected_option -->
</select>
</div>
<p><input type="submit" value="&raquo;" name="dismiss" style="font-size:15px;"/></p>
</td>
<div style="float:left;padding-top:80px;padding-bottom:80px;text-align:center;width:160px;" >
<input type="submit" value="&laquo;" name="elect" style="font-size:15px;" class="bouton" /><br/>
<input type="submit" value="&raquo;" name="dismiss" style="font-size:15px;" class="bouton" />
</div>
<div style="float:right;padding:10px;width:300px;">
<span class="titreMenu">{L_DOESNT_REPRESENT}</span><br />
<select style="width:280px" name="cat_dismissed[]" multiple="multiple" size="10">
<td>
<h3>{L_DOESNT_REPRESENT}</h3>
<select class="categoryList" name="cat_dismissed[]" multiple="multiple" size="30">
<!-- BEGIN dismissed_option -->
<option class="{dismissed_option.CLASS}" {dismissed_option.SELECTED} value="{dismissed_option.VALUE}">{dismissed_option.OPTION}</option>
<option {dismissed_option.SELECTED} value="{dismissed_option.VALUE}">{dismissed_option.OPTION}</option>
<!-- END dismissed_option -->
</select>
</div>
</div>
<div style="clear:both;"></div>
<input type="reset" name="reset" value="{L_RESET}" class="bouton" />
<p><input type="submit" value="&laquo;" name="elect" style="font-size:15px;" /></p>
</td>
</tr>
</table>
</fieldset>
</form>

View file

@ -1,3 +1,5 @@
<h1>{lang:remote_sites}</h1>
{REMOTE_SITE_TITLE}
<!-- BEGIN update -->

View file

@ -1,3 +1,5 @@
<h1>{lang:title_history}</h1>
<div class="admin">{L_STAT_TITLE}</div>
<img class="image" src="{IMG_REPORT}" alt="{L_STAT_MONTHLY_ALT}" />
<div class="admin">{L_STAT_MONTH_TITLE}</div>

View file

@ -1,3 +1,5 @@
<h1>{lang:title_thumbnails}</h1>
<!-- BEGIN results -->
<div class="admin">{L_RESULTS}</div>
<table style="width:100%;">

View file

@ -1,3 +1,5 @@
<h1>{lang:title_update}</h1>
<!-- BEGIN update -->
<div class="admin">{L_RESULT_UPDATE}</div>
<ul style="text-align:left;">

View file

@ -1,3 +1,5 @@
<h1>{lang:title_liste_users}</h1>
<form class="filter" method="post" name="add_user" action="{F_ADD_ACTION}">
<fieldset>
<legend>{lang:Add a user}</legend>
@ -83,7 +85,6 @@
<td>{user.EMAIL}</td>
<td>{user.GROUPS}</td>
<td style="text-align:center;">
<a href="{user.U_MOD}"><img src="./template/default/theme/profile.png" style="border:none" alt="profile" title="profile" /></a>
<a href="{user.U_PERM}"><img src="./template/default/theme/permissions.png" style="border:none" alt="{L_PERMISSIONS}" title="{L_PERMISSIONS}" /></a>
</td>
</tr>

View file

@ -0,0 +1,7 @@
<h1>{TITLE}</h1>
<form method="post" action="{F_ACTION}">
{DOUBLE_SELECT}
</form>
<p>{lang:Only private categories are listed}</p>

View file

@ -1,3 +1,5 @@
<h1>{lang:title_waiting}</h1>
<form action="{F_ACTION}" method="post">
<table style="width:100%;" >
<tr class="throw">

View file

@ -366,6 +366,10 @@ input,select,textarea
div#adminMain {
text-align: left;
background-color: #5f5f5f;
border: 1px solid black;
display: block;
width: 100%;
}
div#adminMain h2 {
@ -530,6 +534,22 @@ table.doubleSelect td {
padding: 0 5px;
}
div#adminMain h1 {
margin-top: 0;
background-image: url(theme/tableh1_bg.gif);
color: #e0e0e0;
font-family: 'Trebuchet MS', Verdana, sans-serif;
font-weight: 600;
font-size: 16px;
padding-right: 10px;
padding-left: 10px;
border-bottom: 1px solid black;
border-right: 1px solid black;
height: 25px;
line-height: 25px;
text-align: left;
}
div#adminMain dl {
margin: 10px;
}
@ -543,3 +563,37 @@ div#adminMain dl>dt {
font-style: italic;
font-size: 110%;
}
div#theNavbar {
background-color: #5f5f5f;
border: 1px solid black;
text-align: left;
}
div#theNavbar>dl,
div#theNavbar>dl>dd
{
margin: 0;
}
div#theNavbar>dl>dt {
background-image: url(theme/tableh1_bg.gif);
color: #fff48e;
font-size: 12px;
font-weight: 600;
padding-top: 0;
padding-right: 10px;
padding-left: 10px;
border-bottom: 1px solid black;
border-right: 1px solid black;
height: 25px;
line-height: 25px;
text-align: center;
}
div#theNavbar>dl>dd>ul {
white-space: nowrap;
list-style-type: square;
padding-left: 15px;
margin: 5px;
}

Binary file not shown.