aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormistic100 <mistic@piwigo.org>2011-12-18 21:46:24 +0000
committermistic100 <mistic@piwigo.org>2011-12-18 21:46:24 +0000
commitca230a6f53e3a102faf5cb3633465ee8fc326663 (patch)
tree9613ef04023af2927ed452c370af4814fb866fc5
parentf5004995306cb603d63724c98af2d657c3c4a64b (diff)
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
-rw-r--r--identification.php14
-rw-r--r--include/common.inc.php5
-rw-r--r--include/page_header.php16
-rw-r--r--include/picture_comment.inc.php13
-rw-r--r--nbm.php15
-rw-r--r--password.php10
-rw-r--r--picture.php13
-rw-r--r--profile.php9
-rw-r--r--register.php17
-rw-r--r--search.php10
-rw-r--r--themes/Sylvia/theme.css12
-rw-r--r--themes/default/template/about.tpl3
-rw-r--r--themes/default/template/comments.tpl2
-rw-r--r--themes/default/template/identification.tpl10
-rw-r--r--themes/default/template/index.tpl2
-rw-r--r--themes/default/template/infos_errors.tpl19
-rw-r--r--themes/default/template/nbm.tpl20
-rw-r--r--themes/default/template/notification.tpl2
-rw-r--r--themes/default/template/password.tpl20
-rw-r--r--themes/default/template/picture.tpl19
-rw-r--r--themes/default/template/profile.tpl12
-rw-r--r--themes/default/template/register.tpl10
-rw-r--r--themes/default/template/search.tpl10
-rw-r--r--themes/default/template/tags.tpl2
-rw-r--r--themes/default/theme.css4
25 files changed, 83 insertions, 186 deletions
diff --git a/identification.php b/identification.php
index 70e46b18e..9a3128536 100644
--- a/identification.php
+++ b/identification.php
@@ -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']))
diff --git a/include/common.inc.php b/include/common.inc.php
index 32eb7920a..d4e8984e8 100644
--- a/include/common.inc.php
+++ b/include/common.inc.php
@@ -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();
diff --git a/include/page_header.php b/include/page_header.php
index 506e93920..55dc3f5c5 100644
--- a/include/page_header.php
+++ b/include/page_header.php
@@ -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());
diff --git a/include/picture_comment.inc.php b/include/picture_comment.inc.php
index 064e02056..0273e7b71 100644
--- a/include/picture_comment.inc.php
+++ b/include/picture_comment.inc.php
@@ -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) )
diff --git a/nbm.php b/nbm.php
index e9e541cad..cb6ae9997 100644
--- a/nbm.php
+++ b/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,16 +64,7 @@ $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');
if (!isset($themeconf['hide_menu_on']) OR !in_array('theNBMPage', $themeconf['hide_menu_on']))
diff --git a/password.php b/password.php
index 1dd88cd17..271026371 100644
--- a/password.php
+++ b/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');
diff --git a/picture.php b/picture.php
index fb7b19307..bcc1a2939 100644
--- a/picture.php
+++ b/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,22 +336,17 @@ 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;
diff --git a/profile.php b/profile.php
index 779e4ea81..ab1bcf677 100644
--- a/profile.php
+++ b/profile.php
@@ -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');
diff --git a/register.php b/register.php
index 63199e8f1..b5cdfb61c 100644
--- a/register.php
+++ b/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']))
diff --git a/search.php b/search.php
index f59323db9..201531e31 100644
--- a/search.php
+++ b/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');
diff --git a/themes/Sylvia/theme.css b/themes/Sylvia/theme.css
index bc8b131a9..9093cd475 100644
--- a/themes/Sylvia/theme.css
+++ b/themes/Sylvia/theme.css
@@ -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;
}
diff --git a/themes/default/template/about.tpl b/themes/default/template/about.tpl
index 55f2ec830..407ca2839 100644
--- a/themes/default/template/about.tpl
+++ b/themes/default/template/about.tpl
@@ -8,6 +8,9 @@
</ul>
<h2>{'About'|@translate}</h2>
</div>
+
+ {include file='infos_errors.tpl'}
+
<div id="piwigoAbout">
{$ABOUT_MESSAGE}
{if isset($THEME_ABOUT) }
diff --git a/themes/default/template/comments.tpl b/themes/default/template/comments.tpl
index 28a0a5074..8ea49754c 100644
--- a/themes/default/template/comments.tpl
+++ b/themes/default/template/comments.tpl
@@ -10,6 +10,8 @@
<h2>{'User comments'|@translate}</h2>
</div>
+{include file='infos_errors.tpl'}
+
<form class="filter" action="{$F_ACTION}" method="get">
<fieldset>
diff --git a/themes/default/template/identification.tpl b/themes/default/template/identification.tpl
index 3deff9c54..ecdff0bb1 100644
--- a/themes/default/template/identification.tpl
+++ b/themes/default/template/identification.tpl
@@ -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>
diff --git a/themes/default/template/index.tpl b/themes/default/template/index.tpl
index 5b33c66c0..815dcbd8e 100644
--- a/themes/default/template/index.tpl
+++ b/themes/default/template/index.tpl
@@ -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)}
diff --git a/themes/default/template/infos_errors.tpl b/themes/default/template/infos_errors.tpl
new file mode 100644
index 000000000..ce2db88d9
--- /dev/null
+++ b/themes/default/template/infos_errors.tpl
@@ -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} \ No newline at end of file
diff --git a/themes/default/template/nbm.tpl b/themes/default/template/nbm.tpl
index 943f9cdc7..c586e9e46 100644
--- a/themes/default/template/nbm.tpl
+++ b/themes/default/template/nbm.tpl
@@ -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>
diff --git a/themes/default/template/notification.tpl b/themes/default/template/notification.tpl
index 935957060..2a0718f5e 100644
--- a/themes/default/template/notification.tpl
+++ b/themes/default/template/notification.tpl
@@ -14,6 +14,8 @@
</ul>
<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>
diff --git a/themes/default/template/password.tpl b/themes/default/template/password.tpl
index 493e1000f..2546adea2 100644
--- a/themes/default/template/password.tpl
+++ b/themes/default/template/password.tpl
@@ -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)}&amp;key={$key}{/if}" method="post">
diff --git a/themes/default/template/picture.tpl b/themes/default/template/picture.tpl
index acfdc95e6..7eca7e650 100644
--- a/themes/default/template/picture.tpl
+++ b/themes/default/template/picture.tpl
@@ -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}
diff --git a/themes/default/template/profile.tpl b/themes/default/template/profile.tpl
index 7870cf832..0cd94c6b8 100644
--- a/themes/default/template/profile.tpl
+++ b/themes/default/template/profile.tpl
@@ -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 -->
diff --git a/themes/default/template/register.tpl b/themes/default/template/register.tpl
index 4530ad5bf..e1ecfffc5 100644
--- a/themes/default/template/register.tpl
+++ b/themes/default/template/register.tpl
@@ -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>
diff --git a/themes/default/template/search.tpl b/themes/default/template/search.tpl
index b2b83b2b7..dd40a66c1 100644
--- a/themes/default/template/search.tpl
+++ b/themes/default/template/search.tpl
@@ -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>
diff --git a/themes/default/template/tags.tpl b/themes/default/template/tags.tpl
index 88c781142..2858ae9f3 100644
--- a/themes/default/template/tags.tpl
+++ b/themes/default/template/tags.tpl
@@ -20,6 +20,8 @@
<h2>{'Tags'|@translate}</h2>
</div>
+{include file='infos_errors.tpl'}
+
{if isset($tags)}
{if $display_mode == 'cloud'}
<div id="fullTagCloud">
diff --git a/themes/default/theme.css b/themes/default/theme.css
index d8a219d89..73a2e0d20 100644
--- a/themes/default/theme.css
+++ b/themes/default/theme.css
@@ -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;
}