public function execute()
{
$label = $this->translator->translate('Installation_SystemCheckFileIntegrity');
if (Development::isEnabled()) {
return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_OK));
}
$messages = Filechecks::getFileIntegrityInformation();
$ok = array_shift($messages);
if (empty($messages)) {
return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_OK));
}
if ($ok) {
$status = DiagnosticResult::STATUS_WARNING;
return array(DiagnosticResult::singleResult($label, $status, $messages[0]));
}
$comment = $this->translator->translate('General_FileIntegrityWarningExplanation');
// Keep only the 20 first lines else it becomes unmanageable
if (count($messages) > 20) {
$messages = array_slice($messages, 0, 20);
$messages[] = '...';
}
$comment .= '<br/><br/><pre style="overflow-x: scroll;max-width: 600px;">' . implode("\n", $messages) . '</pre>';
return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_WARNING, $comment));
}