mirror of
https://github.com/Piwigo/Piwigo.git
synced 2025-04-26 19:29:58 +03:00
feature:2538 Make a unified messages management
use only $page['infos'] and $page['errors'] vars and and necessary template to all main pages git-svn-id: http://piwigo.org/svn/trunk@12764 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
f500499530
commit
ca230a6f53
25 changed files with 83 additions and 186 deletions
|
@ -31,15 +31,13 @@ include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
|
|||
check_status(ACCESS_FREE);
|
||||
|
||||
//-------------------------------------------------------------- identification
|
||||
$errors = array();
|
||||
|
||||
$redirect_to = '';
|
||||
if ( !empty($_GET['redirect']) )
|
||||
{
|
||||
$redirect_to = urldecode($_GET['redirect']);
|
||||
if ( is_a_guest() )
|
||||
{
|
||||
array_push($errors, l10n('You are not authorized to access the requested page'));
|
||||
array_push($page['errors'], l10n('You are not authorized to access the requested page'));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,7 +46,7 @@ if (isset($_POST['login']))
|
|||
if (!isset($_COOKIE[session_name()]))
|
||||
{
|
||||
array_push(
|
||||
$errors,
|
||||
$page['errors'],
|
||||
l10n('Cookies are blocked or not supported by your browser. You must enable cookies to connect.')
|
||||
);
|
||||
}
|
||||
|
@ -68,7 +66,7 @@ if (isset($_POST['login']))
|
|||
}
|
||||
else
|
||||
{
|
||||
array_push( $errors, l10n('Invalid password!') );
|
||||
array_push($page['errors'], l10n('Invalid password!') );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -96,12 +94,6 @@ if ($conf['allow_user_registration'])
|
|||
$template->assign('U_REGISTER', get_root_url().'register.php' );
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- errors display
|
||||
if ( sizeof( $errors ) != 0 )
|
||||
{
|
||||
$template->assign('errors', $errors);
|
||||
}
|
||||
|
||||
// include menubar
|
||||
$themeconf = $template->get_template_vars('themeconf');
|
||||
if (!isset($themeconf['hide_menu_on']) OR !in_array('theIdentificationPage', $themeconf['hide_menu_on']))
|
||||
|
|
|
@ -63,7 +63,10 @@ if ( !empty($_SERVER["PATH_INFO"]) )
|
|||
// rewriting of language and otherarray values via URI params
|
||||
//
|
||||
$conf = array();
|
||||
$page = array();
|
||||
$page = array(
|
||||
'infos' => array(),
|
||||
'errors' => array(),
|
||||
);
|
||||
$user = array();
|
||||
$lang = array();
|
||||
$header_msgs = array();
|
||||
|
|
|
@ -98,6 +98,22 @@ if ( isset( $refresh ) and intval($refresh) >= 0
|
|||
));
|
||||
}
|
||||
|
||||
|
||||
// messages
|
||||
foreach (array('errors','infos') as $mode)
|
||||
{
|
||||
if (isset($_SESSION['page_'.$mode]))
|
||||
{
|
||||
$page[$mode] = array_merge($page[$mode], $_SESSION['page_'.$mode]);
|
||||
unset($_SESSION['page_'.$mode]);
|
||||
}
|
||||
|
||||
if (count($page[$mode]) != 0)
|
||||
{
|
||||
$template->assign($mode, $page[$mode]);
|
||||
}
|
||||
}
|
||||
|
||||
trigger_action('loc_end_page_header');
|
||||
|
||||
header('Content-Type: text/html; charset='.get_pwg_charset());
|
||||
|
|
|
@ -53,28 +53,23 @@ if ( $page['show_comments'] and isset( $_POST['content'] ) )
|
|||
|
||||
include_once(PHPWG_ROOT_PATH.'include/functions_comment.inc.php');
|
||||
|
||||
$comment_action = insert_user_comment($comm, @$_POST['key'], $infos );
|
||||
$comment_action = insert_user_comment($comm, @$_POST['key'], $page['infos']);
|
||||
|
||||
switch ($comment_action)
|
||||
{
|
||||
case 'moderate':
|
||||
array_push( $infos, l10n('An administrator must authorize your comment before it is visible.') );
|
||||
array_push($page['infos'], l10n('An administrator must authorize your comment before it is visible.') );
|
||||
case 'validate':
|
||||
array_push( $infos, l10n('Your comment has been registered'));
|
||||
array_push($page['infos'], l10n('Your comment has been registered'));
|
||||
break;
|
||||
case 'reject':
|
||||
set_status_header(403);
|
||||
array_push($infos, l10n('Your comment has NOT been registered because it did not pass the validation rules') );
|
||||
array_push($page['errors'], l10n('Your comment has NOT been registered because it did not pass the validation rules') );
|
||||
break;
|
||||
default:
|
||||
trigger_error('Invalid comment action '.$comment_action, E_USER_WARNING);
|
||||
}
|
||||
|
||||
$template->assign(
|
||||
($comment_action=='reject') ? 'errors' : 'infos',
|
||||
$infos
|
||||
);
|
||||
|
||||
// allow plugins to notify what's going on
|
||||
trigger_action( 'user_comment_insertion',
|
||||
array_merge($comm, array('action'=>$comment_action) )
|
||||
|
|
13
nbm.php
13
nbm.php
|
@ -37,13 +37,9 @@ trigger_action('loading_lang');
|
|||
load_language('lang', PHPWG_ROOT_PATH.PWG_LOCAL_DIR, array('no_fallback'=>true, 'local'=>true) );
|
||||
|
||||
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Main |
|
||||
// +-----------------------------------------------------------------------+
|
||||
$page['errors'] = array();
|
||||
$page['infos'] = array();
|
||||
|
||||
if (isset($_GET['subscribe'])
|
||||
and preg_match('/^[A-Za-z0-9]{16}$/', $_GET['subscribe']))
|
||||
{
|
||||
|
@ -68,15 +64,6 @@ $page['body_id'] = 'theNBMPage';
|
|||
|
||||
$template->set_filenames(array('nbm'=>'nbm.tpl'));
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | errors & infos |
|
||||
// +-----------------------------------------------------------------------+
|
||||
$template->assign(
|
||||
array(
|
||||
'errors' => $page['errors'],
|
||||
'infos' => $page['infos'],
|
||||
)
|
||||
);
|
||||
|
||||
// include menubar
|
||||
$themeconf = $template->get_template_vars('themeconf');
|
||||
|
|
10
password.php
10
password.php
|
@ -240,10 +240,6 @@ function reset_password()
|
|||
// +-----------------------------------------------------------------------+
|
||||
// | Process form |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
$page['errors'] = array();
|
||||
$page['infos'] = array();
|
||||
|
||||
if (isset($_POST['submit']))
|
||||
{
|
||||
check_pwg_token();
|
||||
|
@ -345,12 +341,6 @@ $template->assign(
|
|||
)
|
||||
);
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | infos & errors display |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
$template->assign('errors', $page['errors']);
|
||||
$template->assign('infos', $page['infos']);
|
||||
|
||||
// include menubar
|
||||
$themeconf = $template->get_template_vars('themeconf');
|
||||
|
|
13
picture.php
13
picture.php
|
@ -189,8 +189,6 @@ function default_picture_content($content, $element_info)
|
|||
// | initialization |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
$infos = array();
|
||||
|
||||
// caching first_rank, last_rank, current_rank in the displayed
|
||||
// section. This should also help in readability.
|
||||
$page['first_rank'] = 0;
|
||||
|
@ -338,23 +336,18 @@ UPDATE '.USER_CACHE_CATEGORIES_TABLE.'
|
|||
switch ($comment_action)
|
||||
{
|
||||
case 'moderate':
|
||||
array_push($infos, l10n('An administrator must authorize your comment before it is visible.'));
|
||||
array_push($page['infos'], l10n('An administrator must authorize your comment before it is visible.'));
|
||||
case 'validate':
|
||||
array_push($infos, l10n('Your comment has been registered'));
|
||||
array_push($page['infos'], l10n('Your comment has been registered'));
|
||||
break;
|
||||
case 'reject':
|
||||
set_status_header(403);
|
||||
array_push($infos, l10n('Your comment has NOT been registered because it did not pass the validation rules'));
|
||||
array_push($page['errors'], l10n('Your comment has NOT been registered because it did not pass the validation rules'));
|
||||
break;
|
||||
default:
|
||||
trigger_error('Invalid comment action '.$comment_action, E_USER_WARNING);
|
||||
}
|
||||
|
||||
$template->assign(
|
||||
($comment_action=='reject') ? 'errors' : 'infos',
|
||||
$infos
|
||||
);
|
||||
|
||||
unset($_POST['content']);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ SELECT '.implode(',', $fields).'
|
|||
$userdata = array_merge($userdata, $default_user);
|
||||
}
|
||||
|
||||
save_profile_from_post($userdata, $errors);
|
||||
save_profile_from_post($userdata, $page['errors']);
|
||||
|
||||
$title= l10n('Your Gallery Customization');
|
||||
$page['body_id'] = 'theProfilePage';
|
||||
|
@ -75,13 +75,6 @@ SELECT '.implode(',', $fields).'
|
|||
make_index_url(), // for redirect
|
||||
$userdata );
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | errors display |
|
||||
// +-----------------------------------------------------------------------+
|
||||
if (count($errors) != 0)
|
||||
{
|
||||
$template->assign('errors', $errors);
|
||||
}
|
||||
|
||||
// include menubar
|
||||
$themeconf = $template->get_template_vars('themeconf');
|
||||
|
|
17
register.php
17
register.php
|
@ -37,28 +37,27 @@ if (!$conf['allow_user_registration'])
|
|||
page_forbidden('User registration closed');
|
||||
}
|
||||
|
||||
$errors = array();
|
||||
if (isset($_POST['submit']))
|
||||
{
|
||||
if (!verify_ephemeral_key(@$_POST['key']))
|
||||
{
|
||||
set_status_header(403);
|
||||
array_push($errors, 'Invalid/expired form key');
|
||||
array_push($page['errors'], 'Invalid/expired form key');
|
||||
}
|
||||
|
||||
if ($_POST['password'] != $_POST['password_conf'])
|
||||
{
|
||||
array_push($errors, l10n('please enter your password again'));
|
||||
array_push($page['errors'], l10n('please enter your password again'));
|
||||
}
|
||||
|
||||
$errors =
|
||||
$page['errors'] =
|
||||
register_user($_POST['login'],
|
||||
$_POST['password'],
|
||||
$_POST['mail_address'],
|
||||
true,
|
||||
$errors);
|
||||
$page['errors']);
|
||||
|
||||
if (count($errors) == 0)
|
||||
if (count($page['errors']) == 0)
|
||||
{
|
||||
$user_id = get_userid($_POST['login']);
|
||||
log_user($user_id, false);
|
||||
|
@ -91,12 +90,6 @@ $template->assign(array(
|
|||
'obligatory_user_mail_address' => $conf['obligatory_user_mail_address'],
|
||||
));
|
||||
|
||||
//-------------------------------------------------------------- errors display
|
||||
if (count($errors) != 0)
|
||||
{
|
||||
$template->assign('errors', $errors);
|
||||
}
|
||||
|
||||
// include menubar
|
||||
$themeconf = $template->get_template_vars('themeconf');
|
||||
if (!isset($themeconf['hide_menu_on']) OR !in_array('theRegisterPage', $themeconf['hide_menu_on']))
|
||||
|
|
10
search.php
10
search.php
|
@ -31,7 +31,6 @@ include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
|
|||
check_status(ACCESS_GUEST);
|
||||
|
||||
//------------------------------------------------------------------ form check
|
||||
$errors = array();
|
||||
$search = array();
|
||||
if (isset($_POST['submit']))
|
||||
{
|
||||
|
@ -148,11 +147,11 @@ INSERT INTO '.SEARCH_TABLE.'
|
|||
}
|
||||
else
|
||||
{
|
||||
array_push($errors, l10n('Empty query. No criteria has been entered.'));
|
||||
array_push($page['errors'], l10n('Empty query. No criteria has been entered.'));
|
||||
}
|
||||
}
|
||||
//----------------------------------------------------------------- redirection
|
||||
if (isset($_POST['submit']) and count($errors) == 0)
|
||||
if (isset($_POST['submit']) and count($page['errors']) == 0)
|
||||
{
|
||||
redirect(
|
||||
make_index_url(
|
||||
|
@ -222,11 +221,6 @@ SELECT id,name,global_rank,uppercats
|
|||
;';
|
||||
display_select_cat_wrapper($query, array(), 'category_options', false);
|
||||
|
||||
//-------------------------------------------------------------- errors display
|
||||
if (sizeof($errors) != 0)
|
||||
{
|
||||
$template->assign('errors', $errors);
|
||||
}
|
||||
|
||||
// include menubar
|
||||
$themeconf = $template->get_template_vars('themeconf');
|
||||
|
|
|
@ -249,19 +249,15 @@
|
|||
.infos {
|
||||
color:#f70;
|
||||
border:0;
|
||||
background-color: transparent;
|
||||
margin-left:125px;
|
||||
padding:5px 0px 0pt 10pt;
|
||||
min-height: 48px;
|
||||
background:transparent url(icon/infos.png) no-repeat center right;
|
||||
margin-left:40px;
|
||||
text-align:left;
|
||||
}
|
||||
.errors {
|
||||
color:#f33;
|
||||
border:0;
|
||||
background: transparent url(icon/errors.png) no-repeat scroll right top;
|
||||
margin-left:125px;
|
||||
padding:5px 0px 0pt 10pt;
|
||||
min-height: 48px;
|
||||
background:transparent url(icon/errors.png) no-repeat center right;
|
||||
margin-left:40px;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
|
|
@ -8,6 +8,9 @@
|
|||
</ul>
|
||||
<h2>{'About'|@translate}</h2>
|
||||
</div>
|
||||
|
||||
{include file='infos_errors.tpl'}
|
||||
|
||||
<div id="piwigoAbout">
|
||||
{$ABOUT_MESSAGE}
|
||||
{if isset($THEME_ABOUT) }
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
<h2>{'User comments'|@translate}</h2>
|
||||
</div>
|
||||
|
||||
{include file='infos_errors.tpl'}
|
||||
|
||||
<form class="filter" action="{$F_ACTION}" method="get">
|
||||
|
||||
<fieldset>
|
||||
|
|
|
@ -10,15 +10,7 @@
|
|||
<h2>{'Identification'|@translate}</h2>
|
||||
</div>
|
||||
|
||||
{if isset($errors) }
|
||||
<div class="errors">
|
||||
<ul>
|
||||
{foreach from=$errors item=error}
|
||||
<li>{$error}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{include file='infos_errors.tpl'}
|
||||
|
||||
<form action="{$F_LOGIN_ACTION}" method="post" name="login_form" class="properties">
|
||||
<fieldset>
|
||||
|
|
|
@ -79,6 +79,8 @@
|
|||
|
||||
</div>{* <!-- titrePage --> *}
|
||||
|
||||
{include file='infos_errors.tpl'}
|
||||
|
||||
{if !empty($PLUGIN_INDEX_CONTENT_BEGIN)}{$PLUGIN_INDEX_CONTENT_BEGIN}{/if}
|
||||
|
||||
{if !empty($category_search_results)}
|
||||
|
|
19
themes/default/template/infos_errors.tpl
Normal file
19
themes/default/template/infos_errors.tpl
Normal file
|
@ -0,0 +1,19 @@
|
|||
{if isset($errors) }
|
||||
<div class="errors">
|
||||
<ul>
|
||||
{foreach from=$errors item=error}
|
||||
<li>{$error}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if not empty($infos)}
|
||||
<div class="infos">
|
||||
<ul>
|
||||
{foreach from=$infos item=info}
|
||||
<li>{$info}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
|
@ -9,24 +9,6 @@
|
|||
<h2>{'Notification'|@translate}</h2>
|
||||
</div>
|
||||
|
||||
{if not empty($errors)}
|
||||
<div class="errors">
|
||||
<ul>
|
||||
{foreach from=$errors item=error}
|
||||
<li>{$error}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if not empty($infos)}
|
||||
<div class="infos">
|
||||
<ul>
|
||||
{foreach from=$infos item=info}
|
||||
<li>{$info}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{include file='infos_errors.tpl'}
|
||||
|
||||
</div>
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
<h2>{'Notification'|@translate}</h2>
|
||||
</div>
|
||||
|
||||
{include file='infos_errors.tpl'}
|
||||
|
||||
<div class="notification">
|
||||
<p>{'The RSS notification feed provides notification on news from this website : new photos, updated albums, new comments. Use a RSS feed reader.'|@translate}</p>
|
||||
|
||||
|
|
|
@ -12,25 +12,7 @@
|
|||
<h2>{$title}</h2>
|
||||
</div>
|
||||
|
||||
{if count($errors)}
|
||||
<div class="errors">
|
||||
<ul>
|
||||
{foreach from=$errors item=error}
|
||||
<li>{$error}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if count($infos)}
|
||||
<div class="infos">
|
||||
<ul>
|
||||
{foreach from=$infos item=info}
|
||||
<li>{$info}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{include file='infos_errors.tpl'}
|
||||
|
||||
{if $action ne 'none'}
|
||||
<form id="lostPassword" action="{$form_action}?action={$action}{if isset($key)}&key={$key}{/if}" method="post">
|
||||
|
|
|
@ -7,24 +7,7 @@
|
|||
<div id="content" class="pictureContent">
|
||||
{/if}
|
||||
|
||||
{if isset($errors)}
|
||||
<div class="errors">
|
||||
<ul>
|
||||
{foreach from=$errors item=error}
|
||||
<li>{$error}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{if isset($infos)}
|
||||
<div class="infos">
|
||||
<ul>
|
||||
{foreach from=$infos item=info}
|
||||
<li>{$info}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{include file='infos_errors.tpl'}
|
||||
|
||||
{if !empty($PLUGIN_PICTURE_BEFORE)}{$PLUGIN_PICTURE_BEFORE}{/if}
|
||||
|
||||
|
|
|
@ -1,16 +1,6 @@
|
|||
{if isset($MENUBAR)}{$MENUBAR}{/if}
|
||||
<div id="content" class="content">
|
||||
|
||||
{if isset($errors)}
|
||||
<div class="errors">
|
||||
<ul>
|
||||
{foreach from=$errors item=error}
|
||||
<li>{$error}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="titrePage">
|
||||
<ul class="categoryActions">
|
||||
<li><a href="{$U_HOME}" title="{'Home'|@translate}" class="pwg-state-default pwg-button">
|
||||
|
@ -20,5 +10,7 @@
|
|||
<h2>{'Profile'|@translate}</h2>
|
||||
</div>
|
||||
|
||||
{include file='infos_errors.tpl'}
|
||||
|
||||
{$PROFILE_CONTENT}
|
||||
</div> <!-- content -->
|
||||
|
|
|
@ -12,15 +12,7 @@
|
|||
<h2>{'Registration'|@translate}</h2>
|
||||
</div>
|
||||
|
||||
{if isset($errors)}
|
||||
<div class="errors">
|
||||
<ul>
|
||||
{foreach from=$errors item=error}
|
||||
<li>{$error}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{include file='infos_errors.tpl'}
|
||||
|
||||
<form method="post" action="{$F_ACTION}" class="properties" name="register_form">
|
||||
<fieldset>
|
||||
|
|
|
@ -30,15 +30,7 @@
|
|||
<h2>{'Search'|@translate}</h2>
|
||||
</div>
|
||||
|
||||
{if isset($errors) }
|
||||
<div class="errors">
|
||||
<ul>
|
||||
{foreach from=$errors item=error}
|
||||
<li>{$error}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{include file='infos_errors.tpl'}
|
||||
|
||||
<form class="filter" method="post" name="search" action="{$F_SEARCH_ACTION}">
|
||||
<fieldset>
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
<h2>{'Tags'|@translate}</h2>
|
||||
</div>
|
||||
|
||||
{include file='infos_errors.tpl'}
|
||||
|
||||
{if isset($tags)}
|
||||
{if $display_mode == 'cloud'}
|
||||
<div id="fullTagCloud">
|
||||
|
|
|
@ -734,14 +734,14 @@ INPUT[type="radio"], INPUT[type="checkbox"] {
|
|||
font-weight: bold;
|
||||
margin: 5px;
|
||||
border: 1px solid red;
|
||||
background: #ffe1e1 url(icon/errors.png) no-repeat top right;
|
||||
background: #ffe1e1 url(icon/errors.png) no-repeat center right;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
|
||||
/* Informations box */
|
||||
.infos {
|
||||
color: #002000;
|
||||
background: #98fb98 url(icon/infos.png) no-repeat top right;
|
||||
background: #98fb98 url(icon/infos.png) no-repeat center right;
|
||||
margin: 5px;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue