translator = $translator; } public function execute() { $label = $this->translator->translate('Installation_SystemCheckSettings'); $result = new DiagnosticResult($label); foreach ($this->getRequiredSettings() as $setting) { if (!$setting->check()) { $status = $setting->getErrorResult(); $comment = sprintf( '%s

%s
%s
', $setting, $this->translator->translate('Installation_SystemCheckPhpSetting', array($setting)), $this->translator->translate('Installation_RestartWebServer') ); } else { $status = DiagnosticResult::STATUS_OK; $comment = $setting; } $result->addItem(new DiagnosticResultItem($status, $comment)); } return array($result); } /** * @return RequiredPhpSetting[] */ private function getRequiredSettings() { $requiredSettings[] = new RequiredPhpSetting('session.auto_start', 0); $maxExecutionTime = new RequiredPhpSetting('max_execution_time', 0); $maxExecutionTime->addRequiredValue(-1, '='); $maxExecutionTime->addRequiredValue(30, '>='); $maxExecutionTime->setErrorResult(DiagnosticResult::STATUS_WARNING); $requiredSettings[] = $maxExecutionTime; return $requiredSettings; } }