From ca230a6f53e3a102faf5cb3633465ee8fc326663 Mon Sep 17 00:00:00 2001 From: mistic100 Date: Sun, 18 Dec 2011 21:46:24 +0000 Subject: 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 --- identification.php | 14 +++----------- include/common.inc.php | 5 ++++- include/page_header.php | 16 ++++++++++++++++ include/picture_comment.inc.php | 13 ++++--------- nbm.php | 15 +-------------- password.php | 10 ---------- picture.php | 13 +++---------- profile.php | 9 +-------- register.php | 17 +++++------------ search.php | 10 ++-------- themes/Sylvia/theme.css | 12 ++++-------- themes/default/template/about.tpl | 3 +++ themes/default/template/comments.tpl | 2 ++ themes/default/template/identification.tpl | 10 +--------- themes/default/template/index.tpl | 2 ++ themes/default/template/infos_errors.tpl | 19 +++++++++++++++++++ themes/default/template/nbm.tpl | 20 +------------------- themes/default/template/notification.tpl | 2 ++ themes/default/template/password.tpl | 20 +------------------- themes/default/template/picture.tpl | 19 +------------------ themes/default/template/profile.tpl | 12 ++---------- themes/default/template/register.tpl | 10 +--------- themes/default/template/search.tpl | 10 +--------- themes/default/template/tags.tpl | 2 ++ themes/default/theme.css | 4 ++-- 25 files changed, 83 insertions(+), 186 deletions(-) create mode 100644 themes/default/template/infos_errors.tpl 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 @@

{'About'|@translate}

+ + {include file='infos_errors.tpl'} +
{$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 @@

{'User comments'|@translate}

+{include file='infos_errors.tpl'} +
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 @@

{'Identification'|@translate}

- {if isset($errors) } -
-
    - {foreach from=$errors item=error} -
  • {$error}
  • - {/foreach} -
-
- {/if} +{include file='infos_errors.tpl'}
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 @@ {* *} +{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) } +
+
    + {foreach from=$errors item=error} +
  • {$error}
  • + {/foreach} +
+
+{/if} + +{if not empty($infos)} +
+
    + {foreach from=$infos item=info} +
  • {$info}
  • + {/foreach} +
+
+{/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 @@

{'Notification'|@translate}

- {if not empty($errors)} -
-
    - {foreach from=$errors item=error} -
  • {$error}
  • - {/foreach} -
-
- {/if} - - {if not empty($infos)} -
-
    - {foreach from=$infos item=info} -
  • {$info}
  • - {/foreach} -
-
- {/if} +{include file='infos_errors.tpl'} 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 @@

{'Notification'|@translate}

+ + {include file='infos_errors.tpl'}

{'The RSS notification feed provides notification on news from this website : new photos, updated albums, new comments. Use a RSS feed reader.'|@translate}

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 @@

{$title}

- {if count($errors)} -
-
    - {foreach from=$errors item=error} -
  • {$error}
  • - {/foreach} -
-
- {/if} - - {if count($infos)} -
-
    - {foreach from=$infos item=info} -
  • {$info}
  • - {/foreach} -
-
- {/if} +{include file='infos_errors.tpl'} {if $action ne 'none'} 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 @@
{/if} -{if isset($errors)} -
-
    - {foreach from=$errors item=error} -
  • {$error}
  • - {/foreach} -
-
-{/if} -{if isset($infos)} -
-
    - {foreach from=$infos item=info} -
  • {$info}
  • - {/foreach} -
-
-{/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}
-{if isset($errors)} -
-
    - {foreach from=$errors item=error} -
  • {$error}
  • - {/foreach} -
-
-{/if} - +{include file='infos_errors.tpl'} + {$PROFILE_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 @@

{'Registration'|@translate}

-{if isset($errors)} -
-
    - {foreach from=$errors item=error} -
  • {$error}
  • - {/foreach} -
-
-{/if} +{include file='infos_errors.tpl'}
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 @@

{'Search'|@translate}

-{if isset($errors) } -
-
    - {foreach from=$errors item=error} -
  • {$error}
  • - {/foreach} -
-
-{/if} +{include file='infos_errors.tpl'}
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 @@

{'Tags'|@translate}

+{include file='infos_errors.tpl'} + {if isset($tags)} {if $display_mode == 'cloud'}
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; } -- cgit v1.2.3