public function execute()
{
$label = $this->translator->translate('CustomPiwikJs_DiagnosticPiwikJsWritable');
$file = new File(PIWIK_DOCUMENT_ROOT . '/piwik.js');
if ($file->hasWriteAccess()) {
return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_OK, ''));
}
$comment = $this->translator->translate('CustomPiwikJs_DiagnosticPiwikJsNotWritable');
if (!SettingsServer::isWindows()) {
$realpath = Filesystem::realpath(PIWIK_INCLUDE_PATH . '/piwik.js');
$command = "<br/><code> chmod +w {$realpath}<br/> chown " . Filechecks::getUserAndGroup() . " " . $realpath . "</code><br />";
$comment .= $this->translator->translate('CustomPiwikJs_DiagnosticPiwikJsMakeWritable', $command);
}
return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_WARNING, $comment));
}