/** * @param jIniFileModifier $ini */ protected function modifyIni($ini) { $trueIni = parse_ini_file($ini->getFileName(), true); if (isset($trueIni['fileLogger'])) { foreach ($trueIni['fileLogger'] as $opt => $val) { if ($val[0] != '!') { continue; } if ($val == '!response') { $this->addValue($ini, $opt, 'logger', 'htmlbar'); } else { if ($val == '!firebug') { $this->addValue($ini, $opt, 'logger', 'firebug'); } } $ini->removeValue($opt, 'fileLogger'); } } if ($ini->isSection('error_handling')) { $errorlog = $ini->getValue('logFile', 'error_handling'); $ini->removeValue('logFile', 'error_handling'); if ($ini->getValue('showInFirebug', 'error_handling')) { $this->addValue($ini, 'error', 'logger', 'firebug'); } $ini->removeValue('showInFirebug', 'error_handling'); $ini->renameValue('quietMessage', 'errorMessage', 'error_handling'); foreach (array('default', 'error', 'warning', 'notice', 'strict', 'deprecated', 'exception') as $typerr) { $toDo = $ini->getValue($typerr, 'error_handling'); $ini->removeValue($typerr, 'error_handling'); if (is_null($toDo)) { continue; } if ($typerr == 'exception') { $typerr = 'error'; } if (strpos($toDo, 'LOGFILE') !== false && $errorlog) { $ini->setValue($typerr, $errorlog, 'fileLogger'); $this->addValue($ini, $typerr, 'logger', 'file'); } if (strpos($toDo, 'MAIL') !== false && $gJConfig) { $this->addValue($ini, $typerr, 'logger', 'mail'); } if (strpos($toDo, 'SYSLOG') !== false) { $this->addValue($ini, $typerr, 'logger', 'syslog'); } } $logEmail = $ini->getValue('email', 'error_handling'); $logEmailHeaders = $ini->getValue('emailHeaders', 'error_handling'); if ($logEmail) { $ini->removeValue('email', 'error_handling'); $ini->setValue('email', $logEmail, 'mailLogger'); } if ($logEmailHeaders) { $ini->removeValue('emailHeaders', 'error_handling'); $ini->setValue('emailHeaders', $logEmailHeaders, 'mailLogger'); } } }