From 180d2a8800a493e89c54b87b71f422cfd7d7500c Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Mon, 21 Apr 2014 10:52:46 +0000 Subject: [PATCH] allow to display all PHP errors --- lam/lib/config.inc | 2 ++ lam/lib/security.inc | 4 ++++ lam/templates/config/mainmanage.php | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lam/lib/config.inc b/lam/lib/config.inc index ff57829e..c6ad7536 100644 --- a/lam/lib/config.inc +++ b/lam/lib/config.inc @@ -1463,6 +1463,8 @@ class LAMCfgMain { const ERROR_REPORTING_DEFAULT = 'default'; /** PHP error reporting setting from php.ini */ const ERROR_REPORTING_SYSTEM = 'system'; + /** PHP error reporting setting as E_ALL | E_STRICT */ + const ERROR_REPORTING_ALL = 'all'; /** Default profile */ public $default; diff --git a/lam/lib/security.inc b/lam/lib/security.inc index 57afbc64..b25b321e 100644 --- a/lam/lib/security.inc +++ b/lam/lib/security.inc @@ -69,6 +69,10 @@ function startSecureSession($redirectToLogin = true, $initSecureData = false) { if (empty($_SESSION['cfgMain']) || ($_SESSION['cfgMain']->errorReporting == LAMCfgMain::ERROR_REPORTING_DEFAULT)) { ini_set('error_reporting', 'E_ALL & ~E_NOTICE'); } + elseif ($_SESSION['cfgMain']->errorReporting == LAMCfgMain::ERROR_REPORTING_ALL) { + ini_set('error_reporting', E_ALL | E_STRICT); + ini_set('display_errors', 'On'); + } // check session id if (! isset($_SESSION["sec_session_id"]) || ($_SESSION["sec_session_id"] != session_id())) { // session id is invalid diff --git a/lam/templates/config/mainmanage.php b/lam/templates/config/mainmanage.php index 93a29c0e..e58c09ca 100644 --- a/lam/templates/config/mainmanage.php +++ b/lam/templates/config/mainmanage.php @@ -426,7 +426,8 @@ $loggingTable->addElement(new htmlInputField('logFile', $destinationPath), true) $loggingTable->addElement(new htmlSpacer(null, '10px'), true); $errorLogOptions = array( _('PHP system setting') => LAMCfgMain::ERROR_REPORTING_SYSTEM, - _('default') => LAMCfgMain::ERROR_REPORTING_DEFAULT + _('default') => LAMCfgMain::ERROR_REPORTING_DEFAULT, + _('all') => LAMCfgMain::ERROR_REPORTING_ALL ); $errorLogSelect = new htmlTableExtendedSelect('errorReporting', $errorLogOptions, array($cfg->errorReporting), _('PHP error reporting'), '244'); $errorLogSelect->setHasDescriptiveElements(true);