mirror of
https://github.com/Findus23/matomo-DiagnosticsExtended.git
synced 2024-09-11 06:43:46 +02:00
add icon, notification and a few translatable strings
This commit is contained in:
parent
4c63d4b722
commit
32e37d1cac
13 changed files with 283 additions and 53 deletions
|
@ -36,7 +36,7 @@ class CurlVersionCheck implements Diagnostic
|
|||
public function __construct(LoggerInterface $logger, \Matomo\Cache\Lazy $lazyCache)
|
||||
{
|
||||
$this->logger = $logger;
|
||||
$this->label = "curl version check";
|
||||
$this->label = "🧪 curl version check";
|
||||
$this->lazyCache = $lazyCache;
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ namespace Piwik\Plugins\DiagnosticsExtended\Diagnostic;
|
|||
use Piwik\Date;
|
||||
use Piwik\Db;
|
||||
use Piwik\Http;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\Diagnostic;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\DiagnosticResult;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\DiagnosticResultItem;
|
||||
|
@ -37,7 +38,7 @@ class DatabaseVersionCheck implements Diagnostic
|
|||
public function __construct(LoggerInterface $logger, \Matomo\Cache\Lazy $lazyCache)
|
||||
{
|
||||
$this->logger = $logger;
|
||||
$this->label = "Database version check";
|
||||
$this->label = "🧪 " . Piwik::translate("DiagnosticsExtended_DatabaseVersionCheckLabel");
|
||||
$this->lazyCache = $lazyCache;
|
||||
}
|
||||
|
||||
|
@ -78,29 +79,37 @@ class DatabaseVersionCheck implements Diagnostic
|
|||
if (version_compare($currentVersion, $latestVersion, ">=")) {
|
||||
$results->addItem(new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_OK,
|
||||
"You are using the latest version of MariaDB " . $minorVersion
|
||||
Piwik::translate("DiagnosticsExtended_PhpVersionCheckLatestVersion",
|
||||
[$minorVersion])
|
||||
));
|
||||
} else {
|
||||
$results->addItem(new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_WARNING,
|
||||
"There is a newer MariaDB patch version ($latestVersion) available (you are using $version/$currentVersion).
|
||||
You should update to it as soon as possible
|
||||
(unless the distributor of your MariaDB binary is backporting security patches)."
|
||||
Piwik::translate("DiagnosticsExtended_DatabaseVersionCheckMariaDBOutdated", [
|
||||
$latestVersion, $version, $currentVersion
|
||||
])
|
||||
. " "
|
||||
. Piwik::translate("DiagnosticsExtended_BackportingDisclaimerMariaDB")
|
||||
. "."
|
||||
));
|
||||
}
|
||||
$formattedDate = (Date::factory($versionInfo["eol"]))->getLocalized(Date::DATE_FORMAT_LONG);
|
||||
if (new \DateTime() > new \DateTime($versionInfo["eol"])) {
|
||||
$results->addItem(new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_WARNING,
|
||||
"Your MariaDB version ($currentVersion) does not recieve security support by the MariaDB
|
||||
team anymore. You should update to a newer version
|
||||
(unless the distributor of your PHP binary is backporting security patches)."
|
||||
Piwik::translate("DiagnosticsExtended_DatabaseVersionCheckMariaDBEol", [
|
||||
$currentVersion, $formattedDate
|
||||
])
|
||||
. " "
|
||||
. Piwik::translate("DiagnosticsExtended_BackportingDisclaimerMariaDB")
|
||||
. "."
|
||||
));
|
||||
} else {
|
||||
$formattedDate = (Date::factory($versionInfo["eol"]))->getLocalized(Date::DATE_FORMAT_LONG);
|
||||
$results->addItem(new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_OK,
|
||||
"Your MariaDB version ($minorVersion) receives security support by the MariaDB
|
||||
team until $formattedDate."
|
||||
Piwik::translate("DiagnosticsExtended_DatabaseVersionCheckMariaDBNotEol", [
|
||||
$minorVersion, $formattedDate
|
||||
])
|
||||
));
|
||||
}
|
||||
return [$results];
|
||||
|
|
|
@ -27,7 +27,7 @@ class ExampleCheck implements Diagnostic
|
|||
|
||||
public function execute()
|
||||
{
|
||||
$result = new DiagnosticResult("label");
|
||||
$result = new DiagnosticResult("🧪 label");
|
||||
$result->addItem(new DiagnosticResultItem(DiagnosticResult::STATUS_ERROR, "error"));
|
||||
$result->addItem(new DiagnosticResultItem(DiagnosticResult::STATUS_WARNING, "warning"));
|
||||
$result->addItem(new DiagnosticResultItem(DiagnosticResult::STATUS_OK, "okay"));
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
namespace Piwik\Plugins\DiagnosticsExtended\Diagnostic;
|
||||
|
||||
use Piwik\Http;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\Diagnostic;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\DiagnosticResult;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\DiagnosticResultItem;
|
||||
|
@ -16,7 +17,7 @@ use Piwik\SettingsPiwik;
|
|||
use Piwik\Tracker\TrackerCodeGenerator;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class GzipMatomoJsCheck implements Diagnostic
|
||||
class MatomoJsCheck implements Diagnostic
|
||||
{
|
||||
/**
|
||||
* @var LoggerInterface
|
||||
|
@ -37,7 +38,7 @@ class GzipMatomoJsCheck implements Diagnostic
|
|||
public function __construct(LoggerInterface $logger)
|
||||
{
|
||||
$this->logger = $logger;
|
||||
$this->label = "matomo.js gzip";
|
||||
$this->label = "🧪 " . "matomo.js"; # no need to make it translatable
|
||||
}
|
||||
|
||||
|
||||
|
@ -62,18 +63,23 @@ class GzipMatomoJsCheck implements Diagnostic
|
|||
$headers = $response["headers"];
|
||||
$data = $response["data"];
|
||||
if ($status != 200 || strpos($data, "c80d50af7d3db9be66a4d0a86db0286e4fd33292") === false) {
|
||||
return [DiagnosticResult::singleResult(
|
||||
$this->label,
|
||||
$result = new DiagnosticResult($this->label);
|
||||
$result->addItem(new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_INFORMATIONAL,
|
||||
"It seems like matomo.js can't be fetched properly"
|
||||
)];
|
||||
Piwik::translate("DiagnosticsExtended_MatomoJSCheckFailed")
|
||||
));
|
||||
$result->setLongErrorMessage(Piwik::translate("DiagnosticsExtended_MatomoJSCheckFailedCurlTip", [
|
||||
"<code>curl -v $checkURL</code>"
|
||||
]));
|
||||
return [$result];
|
||||
}
|
||||
$results = new DiagnosticResult($this->label);
|
||||
$contentType = $headers["content-type"];
|
||||
if ($contentType !== "application/javascript") {
|
||||
$results->addItem(new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_WARNING,
|
||||
"matomo.js should be delivered with an 'application/javascript' Content-Type. You are using '$contentType'."
|
||||
Piwik::translate("DiagnosticsExtended_MatomoJSCheckMIMEError",
|
||||
[$contentType])
|
||||
));
|
||||
|
||||
}
|
||||
|
@ -81,7 +87,7 @@ class GzipMatomoJsCheck implements Diagnostic
|
|||
if ($contentEncoding === "gzip") {
|
||||
$results->addItem(new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_OK,
|
||||
"matomo.js is delivered gzipped."
|
||||
Piwik::translate("DiagnosticsExtended_MatomoJSCheckGzipped")
|
||||
));
|
||||
|
||||
} else {
|
|
@ -33,7 +33,7 @@ class OpensslVersionCheck implements Diagnostic
|
|||
public function __construct(LoggerInterface $logger)
|
||||
{
|
||||
$this->logger = $logger;
|
||||
$this->label = "OpenSSL version check";
|
||||
$this->label = "🧪 OpenSSL version check";
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
namespace Piwik\Plugins\DiagnosticsExtended\Diagnostic;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\Diagnostic;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\DiagnosticResult;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\DiagnosticResultItem;
|
||||
|
@ -24,29 +25,38 @@ class PhpIniCheck implements Diagnostic
|
|||
* @var IniSetting[]
|
||||
*/
|
||||
private $iniSettings;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $label;
|
||||
|
||||
public function __construct(array $iniSettings, LoggerInterface $logger)
|
||||
{
|
||||
$this->logger = $logger;
|
||||
$this->iniSettings = $iniSettings;
|
||||
$this->label = "🧪 " . Piwik::translate("DiagnosticsExtended_PhpIniCheckLabel");
|
||||
}
|
||||
|
||||
public function execute()
|
||||
{
|
||||
$result = new DiagnosticResult("php.ini checks");
|
||||
$result = new DiagnosticResult($this->label);
|
||||
foreach ($this->iniSettings as $setting) {
|
||||
$key = $setting::$key;
|
||||
if ($this->booleanIni($key) === $setting::$targetValue) {
|
||||
$item = new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_OK,
|
||||
$setting::$targetValue ? "$key is enabled" : "$key is disabled"
|
||||
$setting::$targetValue
|
||||
? Piwik::translate("DiagnosticsExtended_PhpIniCheckIsEnabled", [$key])
|
||||
: Piwik::translate("DiagnosticsExtended_PhpIniCheckIsDisabled", [$key])
|
||||
);
|
||||
|
||||
} else {
|
||||
$status = $setting::$severe ? DiagnosticResult::STATUS_ERROR : DiagnosticResult::STATUS_WARNING;
|
||||
$item = new DiagnosticResultItem(
|
||||
$status,
|
||||
$setting::$targetValue ? "$key should be enabled" : "$key should be disabled"
|
||||
$setting::$targetValue
|
||||
? Piwik::translate("DiagnosticsExtended_PhpIniCheckShouldBeEnabled", [$key])
|
||||
: Piwik::translate("DiagnosticsExtended_PhpIniCheckShouldBeDisabled", [$key])
|
||||
);
|
||||
}
|
||||
$result->addItem($item);
|
||||
|
|
|
@ -35,7 +35,7 @@ class PhpUserCheck implements Diagnostic
|
|||
}
|
||||
if (posix_getuid() === 0) {
|
||||
return [DiagnosticResult::singleResult(
|
||||
"php running as root",
|
||||
"🧪 php running as root",
|
||||
DiagnosticResult::STATUS_WARNING,
|
||||
"PHP seems to be running as root. Unless you are using Matomo inside a docker container
|
||||
you should check your setup."
|
||||
|
|
|
@ -10,6 +10,7 @@ namespace Piwik\Plugins\DiagnosticsExtended\Diagnostic;
|
|||
|
||||
use Piwik\Date;
|
||||
use Piwik\Http;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\Diagnostic;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\DiagnosticResult;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\DiagnosticResultItem;
|
||||
|
@ -36,7 +37,7 @@ class PhpVersionCheck implements Diagnostic
|
|||
public function __construct(LoggerInterface $logger, \Matomo\Cache\Lazy $lazyCache)
|
||||
{
|
||||
$this->logger = $logger;
|
||||
$this->label = "php version check";
|
||||
$this->label = "🧪 " . Piwik::translate("DiagnosticsExtended_PhpVersionCheckLabel");
|
||||
$this->lazyCache = $lazyCache;
|
||||
}
|
||||
|
||||
|
@ -81,35 +82,45 @@ class PhpVersionCheck implements Diagnostic
|
|||
if (version_compare($currentVersion, $latestVersion, ">=")) {
|
||||
$results->addItem(new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_OK,
|
||||
"You are using the latest version of PHP " . $minorVersion
|
||||
Piwik::translate("DiagnosticsExtended_PhpVersionCheckLatestVersion", [$minorVersion])
|
||||
));
|
||||
} else {
|
||||
$results->addItem(new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_WARNING,
|
||||
"There is a newer PHP patch version ($latestVersion) available (you are using $currentVersion).
|
||||
You should update to it as soon as possible
|
||||
(unless the distributor of your PHP binary is backporting security patches)."
|
||||
Piwik::translate("DiagnosticsExtended_PhpVersionCheckOutdated", [
|
||||
$latestVersion, $currentVersion
|
||||
])
|
||||
. " "
|
||||
. Piwik::translate("DiagnosticsExtended_BackportingDisclaimerPHP")
|
||||
. "."
|
||||
));
|
||||
}
|
||||
if (empty($this->eolDates[$minorVersion])) {
|
||||
$results->addItem(new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_INFORMATIONAL,
|
||||
"No information is know about your PHP version ($currentVersion)."
|
||||
Piwik::translate("DiagnosticsExtended_PhpVersionCheckNoInformation", [
|
||||
$latestVersion, $currentVersion
|
||||
])
|
||||
));
|
||||
|
||||
} elseif (new \DateTime() > new \DateTime($this->eolDates[$minorVersion])) {
|
||||
$formattedDate = (Date::factory($this->eolDates[$minorVersion]))->getLocalized(Date::DATE_FORMAT_LONG);
|
||||
$results->addItem(new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_WARNING,
|
||||
"Your PHP version ($currentVersion) does not recieve security support by the PHP
|
||||
team anymore. You should update to a newer version
|
||||
(unless the distributor of your PHP binary is backporting security patches)."
|
||||
Piwik::translate("DiagnosticsExtended_PhpVersionCheckEol", [
|
||||
$currentVersion, $formattedDate
|
||||
])
|
||||
. " "
|
||||
. Piwik::translate("DiagnosticsExtended_BackportingDisclaimerPHP")
|
||||
. "."
|
||||
));
|
||||
} else {
|
||||
$formattedDate = (Date::factory($this->eolDates[$minorVersion]))->getLocalized(Date::DATE_FORMAT_LONG);
|
||||
$results->addItem(new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_OK,
|
||||
"Your PHP version ($minorVersion) receives security support by the PHP
|
||||
team until $formattedDate."
|
||||
Piwik::translate("DiagnosticsExtended_PhpVersionCheckEol", [
|
||||
$minorVersion, $formattedDate
|
||||
])
|
||||
));
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
|
@ -124,7 +135,7 @@ class PhpVersionCheck implements Diagnostic
|
|||
return DiagnosticResult::singleResult(
|
||||
$this->label,
|
||||
DiagnosticResult::STATUS_INFORMATIONAL,
|
||||
"Matomo could not check if your PHP version is up-to-date"
|
||||
Piwik::translate("DiagnosticsExtended_PhpVersionCheckNotWorking")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
135
Diagnostic/URLCheck.php
Normal file
135
Diagnostic/URLCheck.php
Normal file
|
@ -0,0 +1,135 @@
|
|||
<?php
|
||||
/**
|
||||
* Matomo - free/libre analytics platform
|
||||
*
|
||||
* @link https://matomo.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace Piwik\Plugins\DiagnosticsExtended\Diagnostic;
|
||||
|
||||
use Piwik\Http;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\Diagnostic;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\DiagnosticResult;
|
||||
use Piwik\Plugins\Diagnostics\Diagnostic\DiagnosticResultItem;
|
||||
use Piwik\SettingsPiwik;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class URLCheck implements Diagnostic
|
||||
{
|
||||
/**
|
||||
* @var LoggerInterface
|
||||
*/
|
||||
private $logger;
|
||||
|
||||
const SOCKET_TIMEOUT = 2;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $matomoURL;
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
private $criticalIssue;
|
||||
|
||||
public function __construct(LoggerInterface $logger)
|
||||
{
|
||||
$this->logger = $logger;
|
||||
$this->matomoURL = SettingsPiwik::getPiwikUrl();
|
||||
$this->criticalIssue = false;
|
||||
}
|
||||
|
||||
public function execute()
|
||||
{
|
||||
//TODO: don't check if running in development mode
|
||||
$result = new DiagnosticResult("Files that should not be public");
|
||||
$result->addItem($this->checkConfigIni());
|
||||
$result->addItem($this->checkRequestNotAllowed(
|
||||
".git/info/exclude",
|
||||
"Lines that start"
|
||||
));
|
||||
$result->addItem($this->checkRequestNotAllowed(
|
||||
"tmp/cache/token.php",
|
||||
"?php exit"
|
||||
));
|
||||
$result->addItem($this->checkRequestNotAllowed(
|
||||
"cache/tracker/matomocache_general.php",
|
||||
"unserialize"
|
||||
));
|
||||
|
||||
if ($this->criticalIssue) {
|
||||
$result->setLongErrorMessage(
|
||||
"Please check if your webserver processes the .htaccess files
|
||||
generated by Matomo properly. If you are using Nginx, please take a look at the
|
||||
<a href='https://github.com/matomo-org/matomo-nginx/' target='_blank' rel='noopener'>
|
||||
official matomo-nginx config</a> for reference.<br>
|
||||
Otherwise attackers might be able to read sensitive data."
|
||||
);
|
||||
}
|
||||
return array($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return DiagnosticResultItem
|
||||
*/
|
||||
protected function checkConfigIni()
|
||||
{
|
||||
$relativeUrl = "config/config.ini.php";
|
||||
list($status, $headers, $data) = $this->makeHTTPReququest($relativeUrl);
|
||||
if ($this->contains($data, "salt")) {
|
||||
return $this->isPublicError($relativeUrl, true);
|
||||
}
|
||||
if ($this->contains($data, ";")) {
|
||||
return new DiagnosticResultItem(
|
||||
DiagnosticResult::STATUS_WARNING,
|
||||
"<code>$relativeUrl</code> seems to be semi-public. " .
|
||||
"While attackers can't read the config now, the file is publicly accessible and if for whatever reason your webserver " .
|
||||
"stops executing PHP files, everyone can read your MySQL credentials and more" .
|
||||
"Please check your webserver config."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
protected function checkRequestNotAllowed($relativeUrl, $content, $critical = true): DiagnosticResultItem
|
||||
{
|
||||
list($status, $headers, $data) = $this->makeHTTPReququest($relativeUrl);
|
||||
// var_dump($data);
|
||||
if (strpos($data, $content) !== false) {
|
||||
return $this->isPublicError($relativeUrl, $critical);
|
||||
}
|
||||
|
||||
return new DiagnosticResultItem(DiagnosticResult::STATUS_OK, "<code>$relativeUrl</code> doesn't seem to be publically reachable");
|
||||
}
|
||||
|
||||
protected function isPublicError($relativeUrl, $critical): DiagnosticResultItem
|
||||
{
|
||||
if ($critical) {
|
||||
$this->criticalIssue = true;
|
||||
}
|
||||
return new DiagnosticResultItem(
|
||||
$critical ? DiagnosticResult::STATUS_ERROR : DiagnosticResult::STATUS_WARNING,
|
||||
"<code>$relativeUrl</code> should never be public. Please check your webserver config."
|
||||
);
|
||||
}
|
||||
|
||||
protected function makeHTTPReququest($relativeUrl)
|
||||
{
|
||||
$response = Http::sendHttpRequest($this->matomoURL . $relativeUrl, self::SOCKET_TIMEOUT, $userAgent = null,
|
||||
$destinationPath = null,
|
||||
$followDepth = 0,
|
||||
$acceptLanguage = false,
|
||||
$byteRange = false,
|
||||
$getExtendedInfo = true);
|
||||
$status = $response["status"];
|
||||
$headers = $response["headers"];
|
||||
$data = $response["data"];
|
||||
return [$status, $headers, $data];
|
||||
}
|
||||
|
||||
protected function contains(string $haystack, string $needle): bool
|
||||
{
|
||||
return strpos($haystack, $needle) !== false;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -8,6 +8,38 @@
|
|||
|
||||
namespace Piwik\Plugins\DiagnosticsExtended;
|
||||
|
||||
use Piwik\Notification;
|
||||
use Piwik\Piwik;
|
||||
|
||||
class DiagnosticsExtended extends \Piwik\Plugin
|
||||
{
|
||||
public function registerEvents()
|
||||
{
|
||||
return [
|
||||
'Request.dispatch' => "addNotification"
|
||||
];
|
||||
}
|
||||
|
||||
public function addNotification(&$module, &$action, &$parameters)
|
||||
{
|
||||
if ($module == "Installation" && $action == "systemCheckPage") {
|
||||
$id = 'DiagnosticsExtended_Help';
|
||||
|
||||
$notification = new Notification(Piwik::translate("DiagnosticsExtended_NotificationText",
|
||||
[
|
||||
'<a href="https://forum.matomo.org/" target="_blank" rel="noopener">',
|
||||
'</a>',
|
||||
'<a href="https://github.com/Findus23/matomo-DiagnosticsExtended/issues" target="_blank" rel="noopener">',
|
||||
'</a>'
|
||||
]
|
||||
));
|
||||
$notification->raw = true;
|
||||
$notification->title = Piwik::translate('DiagnosticsExtended_NotificationTitle');
|
||||
$notification->context = Notification::CONTEXT_INFO;
|
||||
\Piwik\Notification\Manager::notify($id, $notification);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -10,14 +10,15 @@ return [
|
|||
DI\get('diagnosticsExtended.inisettings')
|
||||
),
|
||||
'diagnostics.optional' => DI\add([
|
||||
DI\get('\Piwik\Plugins\DiagnosticsExtended\Diagnostic\ExampleCheck'),
|
||||
// DI\get('\Piwik\Plugins\DiagnosticsExtended\Diagnostic\ExampleCheck'),
|
||||
DI\get('\Piwik\Plugins\DiagnosticsExtended\Diagnostic\PhpIniCheck'),
|
||||
DI\get('\Piwik\Plugins\DiagnosticsExtended\Diagnostic\PhpVersionCheck'),
|
||||
DI\get('\Piwik\Plugins\DiagnosticsExtended\Diagnostic\DatabaseVersionCheck'),
|
||||
DI\get('\Piwik\Plugins\DiagnosticsExtended\Diagnostic\GzipMatomoJsCheck'),
|
||||
DI\get('\Piwik\Plugins\DiagnosticsExtended\Diagnostic\MatomoJsCheck'),
|
||||
DI\get('\Piwik\Plugins\DiagnosticsExtended\Diagnostic\CurlVersionCheck'),
|
||||
DI\get('\Piwik\Plugins\DiagnosticsExtended\Diagnostic\OpensslVersionCheck'),
|
||||
DI\get('\Piwik\Plugins\DiagnosticsExtended\Diagnostic\PhpUserCheck'),
|
||||
DI\get('\Piwik\Plugins\DiagnosticsExtended\Diagnostic\URLCheck'),
|
||||
]),
|
||||
|
||||
];
|
||||
|
|
29
lang/en.json
Normal file
29
lang/en.json
Normal file
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"DiagnosticsExtended": {
|
||||
"BackportingDisclaimerMariaDB": "(unless the distributor of your MariaDB binary is backporting security patches)",
|
||||
"BackportingDisclaimerPHP": "(unless the distributor of your PHP binary is backporting security patches)",
|
||||
"DatabaseVersionCheckLabel": "Database version",
|
||||
"MatomoJSCheckFailed": "It seems like matomo.js can't be fetched properly.",
|
||||
"MatomoJSCheckGzipped": "matomo.js is delivered gzipped.",
|
||||
"MatomoJSCheckMIMEError": "matomo.js should be delivered with an 'application/javascript' Content-Type. You are using '%s'.",
|
||||
"MatomoJSCheckFailedCurlTip": "try running %s on your server and see if it is able to fetch the file successfully",
|
||||
"DatabaseVersionCheckMariaDBEol": "Your MariaDB version (%1$s) does not receive security support by the MariaDB team anymore (since %2$s). You should update to a newer version",
|
||||
"DatabaseVersionCheckMariaDBNotEol": "Your MariaDB version (%1$s) receives security support by the MariaDB team until %2$s.",
|
||||
"DatabaseVersionCheckMariaDBLatestVersion": "You are using the latest version of MariaDB %s.",
|
||||
"DatabaseVersionCheckMariaDBOutdated": "There is a newer MariaDB patch version (%1$s) available (you are using %2$s/%3$s). You should update to it as soon as possible",
|
||||
"NotificationText": "You have enabled the DiagnosticsExtended plugin. It adds a few more experimental system checks (marked with 🧪) to this page that might help you find issues with your Matomo instance. There might still be a few false positives and false negatives, so if you notice something strange, please report it to the %1$sforum%2$s or %3$screate a GitHub issue%4$s.",
|
||||
"NotificationTitle": "About DiagnosticsExtended",
|
||||
"PhpIniCheckIsDisabled": "%s is enabled",
|
||||
"PhpIniCheckIsEnabled": "%s is enabled",
|
||||
"PhpIniCheckLabel": "php.ini options",
|
||||
"PhpIniCheckShouldBeDisabled": "%s should be enabled",
|
||||
"PhpIniCheckShouldBeEnabled": "%s should be enabled",
|
||||
"PhpVersionCheckEol": "Your PHP version (%1$s) does not receive security support by the PHP team anymore (since %2$s). You should update to a newer version",
|
||||
"PhpVersionCheckLabel": "PHP version",
|
||||
"PhpVersionCheckLatestVersion": "You are using the latest version of PHP %s",
|
||||
"PhpVersionCheckNoInformation": "No information is know about your PHP version (%s)",
|
||||
"PhpVersionCheckNotEol": "Your PHP version (%1$s) receives security support by the PHP team until %2$s.",
|
||||
"PhpVersionCheckNotWorking": "Matomo could not check if your PHP version is up-to-date",
|
||||
"PhpVersionCheckOutdated": "There is a newer PHP patch version (%1$s) available (you are using %2$s). You should update to it as soon as possible"
|
||||
}
|
||||
}
|
23
plugin.json
23
plugin.json
|
@ -8,22 +8,19 @@
|
|||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "Matomo",
|
||||
"email": "",
|
||||
"homepage": ""
|
||||
"name": "Lukas Winkler",
|
||||
"email": "lukas@matomo.org",
|
||||
"homepage": "https://lw1.at"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"email": "",
|
||||
"issues": "",
|
||||
"forum": "",
|
||||
"irc": "",
|
||||
"wiki": "",
|
||||
"source": "",
|
||||
"docs": "",
|
||||
"rss": ""
|
||||
"email": "lukas@matomo.org",
|
||||
"issues": "https://github.com/Findus23/plugin-DiagnosticsExtended/issues",
|
||||
"forum": "https://forum.matomo.org",
|
||||
"source": "https://github.com/Findus23/plugin-DiagnosticsExtended"
|
||||
},
|
||||
"homepage": "",
|
||||
"homepage": "https://lw1.at",
|
||||
"license": "GPL v3+",
|
||||
"keywords": []
|
||||
"keywords": [
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue