From 284a0d8a7f0396b04cb9ba956a6117cad862a5c5 Mon Sep 17 00:00:00 2001 From: stevetruckstuff Date: Thu, 6 Apr 2006 20:01:45 +0000 Subject: [PATCH] Create template for errors when not logged in. git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@11040 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- functions/display_messages.php | 130 ++++++++++++++--------------- templates/default/error_logout.tpl | 67 +++++++++++++++ templates/default/stylesheet.tpl | 26 ++++++ 3 files changed, 156 insertions(+), 67 deletions(-) create mode 100644 templates/default/error_logout.tpl diff --git a/functions/display_messages.php b/functions/display_messages.php index f01808f5..f0c79f25 100644 --- a/functions/display_messages.php +++ b/functions/display_messages.php @@ -22,15 +22,13 @@ * @param array $color color theme * @since 1.0 */ -function error_message($message, $mailbox, $sort, $startMessage, $color) { +function error_message($message, $mailbox, $sort, $startMessage) { $urlMailbox = urlencode($mailbox); - $string = '' . $message . ''. - ''. - '". - sprintf (_("Click here to return to %s"), - strtoupper($mailbox) == 'INBOX' ? _("INBOX") : imap_utf7_decode_local($mailbox)). - ''; - error_box($string, $color); + $link = array ( + 'URL' => sqm_baseuri()."src/right_main.php?sort=$sort&startMessage=$startMessage&mailbox=$urlMailbox", + 'TEXT' => sprintf (_("Click here to return to %s"), strtoupper($mailbox) == 'INBOX' ? _("INBOX") : imap_utf7_decode_local($mailbox)) + ); + error_box($message, $link); } /** @@ -39,52 +37,24 @@ function error_message($message, $mailbox, $sort, $startMessage, $color) { * @param array $color color theme * @since 1.0 */ -function plain_error_message($message, $color) { - error_box($message, $color); +function plain_error_message($message) { + error_box($message); } /** * Displays error when user is logged out - * + * * Error strings can be overriden by logout_error hook * @param string $errString error message * @param string $errTitle title of page with error message * @since 1.2.6 */ function logout_error( $errString, $errTitle = '' ) { - global $frame_top, $org_logo, $org_name, $org_logo_width, $org_logo_height, - $hide_sm_attributions, $version, $squirrelmail_language, - $color, $theme, $theme_default; + global $frame_top, $org_logo, $org_logo_width, $org_logo_height, $org_name, + $hide_sm_attributions, $squirrelmail_language, $oTemplate; $base_uri = sqm_baseuri(); - /* Display width and height like good little people */ - $width_and_height = ''; - if (isset($org_logo_width) && is_numeric($org_logo_width) && $org_logo_width>0) { - $width_and_height = " width=\"$org_logo_width\""; - } - if (isset($org_logo_height) && is_numeric($org_logo_height) && $org_logo_height>0) { - $width_and_height .= " height=\"$org_logo_height\""; - } - - if (!isset($frame_top) || $frame_top == '' ) { - $frame_top = '_top'; - } - - // load default theme if possible - if (!isset($color) && @file_exists($theme[$theme_default]['PATH'])) - @include ($theme[$theme_default]['PATH']); - - if ( !isset( $color ) ) { - $color = array(); - $color[0] = '#dcdcdc'; /* light gray TitleBar */ - $color[1] = '#800000'; /* red */ - $color[2] = '#cc0000'; /* light red Warning/Error Messages */ - $color[4] = '#ffffff'; /* white Normal Background */ - $color[7] = '#0000cc'; /* blue Links */ - $color[8] = '#000000'; /* black Normal text */ - } - list($junk, $errString, $errTitle) = do_hook('logout_error', $errString, $errTitle); if ( $errTitle == '' ) { @@ -94,42 +64,59 @@ function logout_error( $errString, $errTitle = '' ) { displayHtmlHeader( $org_name.' - '.$errTitle, '', false ); - echo '\n\n". - '
'; - - if (isset($org_logo) && ($org_logo != '')) { - echo ''.sprintf(_(
\n"; + /* If they don't have a logo, don't bother.. */ + $logo_str = ''; + if (isset($org_logo) && $org_logo) { + /* Display width and height like good little people */ + $width_and_height = ''; + if (isset($org_logo_width) && is_numeric($org_logo_width) && + $org_logo_width>0) { + $width_and_height = " width=\"$org_logo_width\""; + } + if (isset($org_logo_height) && is_numeric($org_logo_height) && + $org_logo_height>0) { + $width_and_height .= " height=\"$org_logo_height\""; + } + + $logo_str = '
'."\n"; } - echo ( $hide_sm_attributions ? '' : - '' . _("SquirrelMail Webmail Application") . '
'. - _("By the SquirrelMail Project Team") . "
\n" ). - ''. - '
'. - ''. - ''. - ''. - ''. - '
'. - '' . _("ERROR") . ''. - '
' . $errString . '
'. - ''. - ''. - _("Go to the login page") . '
'; + + $sm_attribute_str = ''; + if (isset($hide_sm_attributions) && !$hide_sm_attributions) { + $sm_attribute_str = _("SquirrelMail Webmail Application")."
\n" . + _("By the SquirrelMail Project Team")."
\n"; + } + + $login_link = array ( + 'URL' => $base_uri . 'src/login.php', + 'FRAME' => $frame_top + ); + + $oTemplate->assign('logo_str', $logo_str); + $oTemplate->assign('sm_attribute_str', $sm_attribute_str); + $oTemplate->assign('login_link', $login_link); + $oTemplate->assign('errorMessage', $errString); + $oTemplate->display('error_logout.tpl'); + + $oTemplate->display('footer.tpl'); } /** * Displays error message - * + * * Since 1.4.1 function checks if page header is already displayed. * Since 1.4.3 and 1.5.1 function contains error_box hook. * Use plain_error_message() and make sure that page header is created, * if you want compatibility with 1.4.0 and older. - * @param string $string - * @param array $color + * @param string $string Error message to be displayed + * @param mixed $link Optional array containing link details to be displayed * @since 1.3.2 */ -function error_box($string, $color) { +function error_box($string, $link=NULL) { global $pageheader_sent, $oTemplate; $err = _("ERROR"); @@ -145,9 +132,18 @@ function error_box($string, $color) { echo "\n\n"; } + // Double check the link for everything we need + if (!is_null($link)) { + if (!isset($link['FRAME'])) + $link['FRAME'] = ''; + if (!isset($link['TEXT'])) + $link['TEXT'] = $link['URL']; + } + /** ERROR is pre-translated to avoid multiple translation calls. **/ $oTemplate->assign('error', $err); $oTemplate->assign('errorMessage', $string); + $oTemplate->assign('link', $link); $oTemplate->display('error_box.tpl'); } @@ -163,4 +159,4 @@ function error_option_save($message) { $optpage_save_error=array(); $optpage_save_error=array_merge($optpage_save_error,array($message)); -} \ No newline at end of file +} diff --git a/templates/default/error_logout.tpl b/templates/default/error_logout.tpl new file mode 100644 index 00000000..93abdae8 --- /dev/null +++ b/templates/default/error_logout.tpl @@ -0,0 +1,67 @@ + + +
+ + + + +
+ +
+
+
+ + + + +
+ + + + + + + + + + +
+ +
+ +
+ '. _("Go to the login page") .''; ?> +
+
+
+
\ No newline at end of file diff --git a/templates/default/stylesheet.tpl b/templates/default/stylesheet.tpl index f8af6a7d..18b0140b 100644 --- a/templates/default/stylesheet.tpl +++ b/templates/default/stylesheet.tpl @@ -331,6 +331,32 @@ img { background: ; } +/* error_logout.tpl definitions */ +#sqm_errorLogout { + width:100%; + text-align:center; +} +#sqm_errorLogout table { + border:0; + margin:0; + padding:0; + border-spacing:0; + margin-left:auto; + margin-right:auto; +} +#sqm_errorLogout td { + padding:2px; +} +.sqm_errorLogoutImage { + margin-left:auto; + margin-right:auto; + padding:2px; +} +.sqm_errorLogoutTop { + text-align:center; + font-size:80%; +} + /* page_header.tpl definitions */ .sqm_currentFolder { background: ; -- 2.25.1