Fixed bug #12092 (Follow-up to bug #9355): The errorhandling can make TYPO3 Backend...
authorRupert Germann <rupi@gmx.li>
Thu, 1 Oct 2009 12:27:01 +0000 (12:27 +0000)
committerRupert Germann <rupi@gmx.li>
Thu, 1 Oct 2009 12:27:01 +0000 (12:27 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@6088 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/config_default.php
typo3/init.php
typo3/sysext/cms/tslib/index_ts.php

index 0fc4481..8442adf 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,6 +13,7 @@
 
        * Follow-up to bug #11357: fixed a parse error in index_re.php
        * Fixed bug #11979: TCEforms suggest doesn't find everything on large sites and is slow  (thanks to Steffen Gebert)
+       * Fixed bug #12092 (Follow-up to bug #9355): The errorhandling can make TYPO3 Backend unusable
 
 2009-09-30  Steffen Kamper  <info@sk-typo3.de>
 
index 08dfb4f..25c1e62 100644 (file)
@@ -159,7 +159,7 @@ $TYPO3_CONF_VARS = Array(
                'useCachingFramework' => 0,                             // Boolean: Enable this if you want to use the caching framework by default for the core caches cache_pages, cache_pagesection and cache_hash.
                'displayErrors' => -1,                                  // Integer, -1,0,1,2. 0=Do not display any PHP error messages. 1=Display error messages. 2=Display only if client matches TYPO3_CONF_VARS[SYS][devIPmask]. -1=Default setting. With this option, you can override the PHP setting "display_errors". It is suggested that you set this to "0" and enable the "error_log" option in php.ini instead.
                'exceptionHandler'  => 't3lib_error_ProductionExceptionHandler',        // String: Classname to handle exceptions that might happen in the TYPO3-code. Leave empty to disable exception handling, or set to t3lib_error_ProductionExceptionHandler for nice error messages when something wents wrong, or to t3lib_error_DebugExceptionHandler for a complete stack trace of any encountered exception. Note that if devIPmask matches, t3lib_error_DebugExceptionHandler will be used, regardless of this setting.
-               'errorHandler'      => 't3lib_error_ErrorHandler',      // String: Classname to handle PHP errors. The default will turn the error into an exception (to be handled by the exceptionHandler).
+               'errorHandler'      => '',      // String: Classname to handle PHP errors. E.g.: t3lib_error_ErrorHandler.This class will turn the error into an exception (to be handled by the exceptionHandler).
                'exceptionalErrors' => E_ALL ^ E_NOTICE,        // Integer: The E_* constant that will be handled as an exception by t3lib_error_ErrorHandler. Default is "E_ALL ^ E_NOTICE" (6135) and "0" if displayError=0. Some values for errors: E_ALL=6143, E_ALL ^ E_NOTICE ^ E_WARNING=6133. See php documentation for more details on this integer.
        ),
        'EXT' => Array (        // Options related to the Extension Management
index 8d75754..09de0a6 100644 (file)
@@ -188,9 +188,11 @@ t3lib_autoloader::registerAutoloader();
 // Error & Exception handling
 // *********************
 if ($TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionHandler'] !== '') {
-       $errorHandler = t3lib_div::makeInstance($TYPO3_CONF_VARS['SYS']['errorHandler']);
-               // register an error handler for the given exceptionalErrors
-       $errorHandler->setErrorHandlerForExceptionalErrors($TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionalErrors']);
+       if ($TYPO3_CONF_VARS['SYS']['errorHandler'] !== '') {
+               $errorHandler = t3lib_div::makeInstance($TYPO3_CONF_VARS['SYS']['errorHandler']);
+                       // register an error handler for the given exceptionalErrors
+               $errorHandler->setErrorHandlerForExceptionalErrors($TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionalErrors']);
+       }
        $exceptionHandler = t3lib_div::makeInstance($TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionHandler']);
 }
 
index 9693a7e..3d4b175 100644 (file)
@@ -132,10 +132,12 @@ $TT->pull();
 // *********************
 if ($TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionHandler'] !== '') {
        $TT->push('Register Exceptionhandler', '');
+       if ($TYPO3_CONF_VARS['SYS']['errorHandler'] !== '') {
                $errorHandler = t3lib_div::makeInstance($TYPO3_CONF_VARS['SYS']['errorHandler']);
                        // register an error handler for the given exceptionalErrors
                $errorHandler->setErrorHandlerForExceptionalErrors($TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionalErrors']);
-               $exceptionHandler = t3lib_div::makeInstance($TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionHandler']);
+       }
+       $exceptionHandler = t3lib_div::makeInstance($TYPO3_CONF_VARS['SC_OPTIONS']['errors']['exceptionHandler']);
        $TT->pull();
 }