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',