X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fdisplay_messages.php;h=5ef7941ae256927d39c1e0c5e621148109d0e312;hb=8f557b942c5a3fb6663c349f4cc7d4a1c8aa4504;hp=2e26932a4c33c145fa7e5df63a538477acf6468f;hpb=bbc2c67ddfafcf46486b2518c0e25b5ee7caf808;p=squirrelmail.git
diff --git a/functions/display_messages.php b/functions/display_messages.php
index 2e26932a..5ef7941a 100644
--- a/functions/display_messages.php
+++ b/functions/display_messages.php
@@ -3,149 +3,195 @@
/**
* display_messages.php
*
- * Copyright (c) 1999-2003 The SquirrelMail Project Team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
* This contains all messages, including information, error, and just
* about any other message you can think of.
*
- * $Id$
+ * @copyright © 1999-2007 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
* @package squirrelmail
*/
+
/**
- * Find out where squirrelmail lives and try to be smart about it.
- * The only problem would be when squirrelmail lives in directories
- * called "src", "functions", or "plugins", but people who do that need
- * to be beaten with a steel pipe anyway.
+ * Displays error message and URL to message listing
*
- * @return string the base uri of squirrelmail installation.
+ * Fifth argument ($color array) is removed in 1.5.2.
+ * @param string $message error message
+ * @param string $mailbox mailbox name
+ * @param integer $sort sort order
+ * @param integer $startMessage first message
+ * @since 1.0
*/
-function sqm_baseuri(){
- global $base_uri, $PHP_SELF;
- /**
- * If it is in the session, just return it.
- */
- if (isset($base_uri)){
- return $base_uri;
- }
- $dirs = array('|src/.*|', '|plugins/.*|', '|functions/.*|');
- $repl = array('', '', '');
- $base_uri = preg_replace($dirs, $repl, $PHP_SELF);
- return $base_uri;
-}
-
-function error_message($message, $mailbox, $sort, $startMessage, $color) {
+function error_message($message, $mailbox, $sort, $startMessage) {
$urlMailbox = urlencode($mailbox);
- if (strtoupper($mailbox) == 'INBOX')
- $mailbox = _("INBOX");
- $string = '
' . $message . ' |
'."\n".
- ''.
- '" .
- sprintf (_("Click here to return to %s"), $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") : htmlspecialchars(imap_utf7_decode_local($mailbox)))
+ );
+ error_box($message, $link);
}
-function plain_error_message($message, $color) {
- error_box($message, $color);
+/**
+ * Displays error message
+ *
+ * Second argument ($color array) is changed to boolean $return_output as of 1.5.2.
+ * @param string $message error message
+ * @param boolean $return_output When TRUE, output is returned to caller
+ * instead of being sent to browser (OPTIONAL;
+ * default = FALSE)
+ * @since 1.0
+ */
+function plain_error_message($message, $return_output=FALSE) {
+ return error_box($message, NULL, $return_output);
}
+/**
+ * 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;
+ global $frame_top, $org_logo, $org_logo_width, $org_logo_height, $org_name,
+ $hide_sm_attributions, $squirrelmail_language, $oTemplate;
$base_uri = sqm_baseuri();
- include_once( SM_PATH . 'functions/page_header.php' );
- if ( !isset( $org_logo ) ) {
- // Don't know yet why, but in some accesses $org_logo is not set.
- include( SM_PATH . 'config/config.php' );
- }
- /* 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';
- }
-
- 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 */
- }
+ $login_link = array (
+ 'URI' => $base_uri . 'src/login.php',
+ 'FRAME' => $frame_top
+ );
+
+ /* As of 1.5.2, plugin parameters are combined into one array;
+ plugins on this hook must be updated */
+ $temp = array(&$errString, &$errTitle, &$login_link);
+ do_hook('logout_error', $temp);
if ( $errTitle == '' ) {
$errTitle = $errString;
}
set_up_language($squirrelmail_language, true);
- displayHtmlHeader( $errTitle, '', false );
+ displayHtmlHeader( $org_name.' - '.$errTitle, '', false );
+
+ /* If they don't have a logo, don't bother.. */
+ $logo_str = '';
+ if (isset($org_logo) && $org_logo) {
+
+ if (isset($org_logo_width) && is_numeric($org_logo_width) &&
+ $org_logo_width>0) {
+ $width = $org_logo_width;
+ } else {
+ $width = '';
+ }
+ if (isset($org_logo_height) && is_numeric($org_logo_height) &&
+ $org_logo_height>0) {
+ $height = $org_logo_height;
+ } else {
+ $height = '';
+ }
- echo "\n\n" .
- '';
+ $logo_str = create_image($org_logo, sprintf(_("%s Logo"), $org_name),
+ $width, $height, '', 'sqm_loginImage');
- if (isset($org_logo) && ($org_logo != '')) {
- echo "
\n";
}
- echo ( $hide_sm_attributions ? '' :
- '' . sprintf (_("SquirrelMail version %s"), $version) . "
\n".
- ' ' . _("By the SquirrelMail Development Team") . "
\n" ) .
- "