Index: t3lib/class.t3lib_timetrack.php =================================================================== --- t3lib/class.t3lib_timetrack.php (Revision 9067) +++ t3lib/class.t3lib_timetrack.php (Arbeitskopie) @@ -587,37 +587,15 @@ * @param boolean If set, then this will produce a alert() line for inclusion in JavaScript. * @param string URL for the tag (if you want it) * @return string + * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7 - use RuntimeException from now on */ public function debug_typo3PrintError($header, $text, $js, $baseUrl = '') { if ($js) { $errorMessage = 'alert(\'' . t3lib_div::slashJS($header . '\n' . $text) . '\');'; } else { - $errorMessage = ' - - - - '.($baseUrl ? '' : '').' - Error! - - - -
- -
-

'.$header.'

-

'.$text.'

-
-
- - '; + t3lib_div::logDeprecatedFunction(); + $messageObj = t3lib_div::makeInstance('t3lib_message_ErrorPageMessage', $text, $header); + $errorMessage = $messageObj->render(); } // Hook to modify error message Index: t3lib/class.t3lib_befunc.php =================================================================== --- t3lib/class.t3lib_befunc.php (Revision 9067) +++ t3lib/class.t3lib_befunc.php (Arbeitskopie) @@ -4078,6 +4078,7 @@ * @param boolean Will return an alert() with the content of header and text. * @param boolean Print header. * @return void + * @deprecated since TYPO3 4.5, will be removed in TYPO3 4.7 - use RuntimeException from now on */ public static function typo3PrintError($header, $text, $js = '', $head = 1) { // This prints out a TYPO3 error message. @@ -4085,36 +4086,9 @@ if ($js) { echo "alert('".t3lib_div::slashJS($header.'\n'.$text)."');"; } else { - echo $head?' - - Error! - - ':''; - echo '
- - - - - - - -
'. - ($GLOBALS['TBE_STYLES']['logo_login']?'':''). - '
- - - - -
- '; - echo '
'.$header.'

'.$text; - echo '
-
-
-
'; - echo $head?' - - ':''; + t3lib_div::logDeprecatedFunction(); + $messageObj = t3lib_div::makeInstance('t3lib_message_ErrorPageMessage', $text, $header); + $messageObj->output(); } } Index: t3lib/message/class.t3lib_message_errorpagemessage.php =================================================================== --- t3lib/message/class.t3lib_message_errorpagemessage.php (Revision 0) +++ t3lib/message/class.t3lib_message_errorpagemessage.php (Revision 0) @@ -0,0 +1,126 @@ + +* All rights reserved +* +* This script is part of the TYPO3 project. The TYPO3 project is +* free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* The GNU General Public License can be found at +* http://www.gnu.org/copyleft/gpl.html. +* A copy is found in the textfile GPL.txt and important notices to the license +* from the author is found in LICENSE.txt distributed with these scripts. +* +* +* This script is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* This copyright notice MUST APPEAR in all copies of the script! +***************************************************************/ + +/** + * A class representing error messages shown on a page. + * Classic Example: "No pages are found on rootlevel" + * + * @author Benjamin Mack + * @package TYPO3 + * @subpackage t3lib/message + */ +class t3lib_message_ErrorpageMessage extends t3lib_message_AbstractMessage { + + /** + * defines whether the message should be stored in the session + * (to survive redirects) or only for one request (default) + * + * @var string + */ + protected $htmlTemplate; + + /** + * Constructor for a error message + * + * @param string The message. + * @param string message title. + * @param integer Optional severity, must be either of t3lib_message_ErrorpageMessage::INFO, t3lib_message_ErrorpageMessage::OK, + * t3lib_message_ErrorpageMessage::WARNING or t3lib_message_ErrorpageMessage::ERROR. Default is t3lib_message_ErrorpageMessage::ERROR. + * @return void + */ + public function __construct($message, $title, $severity = self::ERROR) { + $this->htmlTemplate = TYPO3_mainDir . 'templates/errorpage.html'; + $this->setMessage($message); + $this->setTitle(strlen($title) > 0 ? $title : 'Error!'); + $this->setSeverity($severity); + } + + + /** + * Gets the filename of the HTML template. + * + * @return string The filename of the HTML template. + */ + public function getHtmlTemplate() { + return $this->htmlTemplate; + } + + /** + * Sets the filename to the HTML template + * + * @param string The filename to the HTML template. + * @return void + */ + public function setHtmlTemplate($htmlTemplate) { + $this->htmlTemplate = (string) $htmlTemplate; + } + + /** + * Renders the flash message. + * + * @return string The flash message as HTML. + */ + public function render() { + $classes = array( + self::NOTICE => 'notice', + self::INFO => 'information', + self::OK => 'ok', + self::WARNING => 'warning', + self::ERROR => 'error', + ); + + $markers = array( + '###CSS_CLASS###' => $classes[$this->severity], + '###LOGO###' => '', + '###TITLE###' => $this->title, + '###MESSAGE###' => $this->message, + '###BASEURL###' => t3lib_div::getIndpEnv('TYPO3_SITE_URL') + ); + + $content = t3lib_div::getUrl(PATH_site . $this->htmlTemplate); + $content = t3lib_parseHtml::substituteMarkerArray($content, $markers, '', FALSE, TRUE); + return $content; + } + + /** + * Renders the flash message and echoes it. + * + * @return void + */ + public function output() { + $content = $this->render(); + echo $content; + } + +} + + +if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/message/class.t3lib_message_errorpagemessage.php']) { + include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/message/class.t3lib_message_errorpagemessage.php']); +} + +?> \ No newline at end of file Index: typo3/templates/errorpage.html =================================================================== --- typo3/templates/errorpage.html (Revision 0) +++ typo3/templates/errorpage.html (Revision 0) @@ -0,0 +1,26 @@ + + + + + + Error! + + + +
+ ###LOGO### +
+

###TITLE###

+

###MESSAGE###

+
+
+ + \ No newline at end of file Index: t3lib/core_autoload.php =================================================================== --- t3lib/core_autoload.php (Revision 9067) +++ t3lib/core_autoload.php (Arbeitskopie) @@ -43,6 +43,7 @@ 't3lib_lock' => PATH_t3lib . 'class.t3lib_lock.php', 't3lib_matchcondition' => PATH_t3lib . 'class.t3lib_matchcondition.php', 't3lib_message_abstractmessage' => PATH_t3lib . 'message/class.t3lib_message_abstractmessage.php', + 't3lib_message_errorpagemessage' => PATH_t3lib . 'message/class.t3lib_message_errorpagemessage.php', 't3lib_modsettings' => PATH_t3lib . 'class.t3lib_modsettings.php', 't3lib_pageselect' => PATH_t3lib . 'class.t3lib_page.php', 't3lib_pagerenderer' => PATH_t3lib . 'class.t3lib_pagerenderer.php',