X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fdisplay_messages.php;h=5ef7941ae256927d39c1e0c5e621148109d0e312;hb=afbf184ca18815211509b4634beb23fb145142a3;hp=47a55f99fc66d0df5711fa77cf8f9909f010419c;hpb=8f6e76d2772a1d5e72cb37287b1270c1496066be;p=squirrelmail.git diff --git a/functions/display_messages.php b/functions/display_messages.php index 47a55f99..5ef7941a 100644 --- a/functions/display_messages.php +++ b/functions/display_messages.php @@ -36,12 +36,15 @@ function error_message($message, $mailbox, $sort, $startMessage) { /** * Displays error message * - * Second argument ($color array) is removed in 1.5.2. + * 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) { - error_box($message); +function plain_error_message($message, $return_output=FALSE) { + return error_box($message, NULL, $return_output); } /** @@ -65,7 +68,8 @@ function logout_error( $errString, $errTitle = '' ) { /* As of 1.5.2, plugin parameters are combined into one array; plugins on this hook must be updated */ - do_hook('logout_error', $temp=array(&$errString, &$errTitle, &$login_link)); + $temp = array(&$errString, &$errTitle, &$login_link); + do_hook('logout_error', $temp); if ( $errTitle == '' ) { $errTitle = $errString; @@ -98,7 +102,7 @@ function logout_error( $errString, $errTitle = '' ) { $sm_attribute_str = ''; if (isset($hide_sm_attributions) && !$hide_sm_attributions) { - $sm_attribute_str = _("SquirrelMail Webmail Application") . "\n" + $sm_attribute_str = _("SquirrelMail Webmail") . "\n" . _("By the SquirrelMail Project Team"); } @@ -124,25 +128,36 @@ function logout_error( $errString, $errTitle = '' ) { * for $color array, new function uses it for optional link data. Function * will ignore color array and use standard colors instead. * + * The $return_output argument was added in 1.5.2 + * * @param string $string Error message to be displayed * @param array $link Optional array containing link details to be displayed. * Array uses three keys. 'URL' key is required and should contain link URL. * 'TEXT' key is optional and should contain link name. 'FRAME' key is * optional and should contain link target attribute. + * @param boolean $return_output When TRUE, output is returned to caller + * instead of being sent to browser (OPTIONAL; + * default = FALSE) * * @since 1.3.2 */ -function error_box($string, $link=NULL) { - global $pageheader_sent, $oTemplate; +function error_box($string, $link=NULL, $return_output=FALSE) { + global $pageheader_sent, $oTemplate, $org_title; $err = _("ERROR"); do_hook('error_box', $string); - - /* check if the page header has been sent; if not, send it! */ - if (!isset($pageheader_sent) && !$pageheader_sent) { - displayHtmlHeader('SquirrelMail: '.$err); + if ( !isset($org_title) ) $org_title = 'SquirrelMail'; + + // check if the page header has been sent; if not, send it! + // + // (however, if $return_output is turned on, the output of this + // should be being used in some other page, so we don't have + // to worry about page headers in that case) + // + if (!$return_output && empty($pageheader_sent)) { + displayHtmlHeader($org_title . ': '.$err); $pageheader_sent = TRUE; - echo "\n\n"; + echo create_body(); // this is template-safe (see create_body() function) } // Double check the link for everything we need @@ -161,7 +176,10 @@ function error_box($string, $link=NULL) { $oTemplate->assign('error', $err); $oTemplate->assign('errorMessage', $string); $oTemplate->assign('link', $link); - $oTemplate->display('error_box.tpl'); + $output = $oTemplate->fetch('error_box.tpl'); + + if ($return_output) return $output; + echo $output; } /**