From 864f13a18bb51917f0b063b4fb64449461da9ab0 Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Tue, 23 Sep 2014 15:55:48 +0200 Subject: [PATCH] refs #6056 display a warning in admin to super users in case they are still using PHP 5.3 --- core/Plugin/ControllerAdmin.php | 18 +++++++++++++++++- lang/en.json | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/core/Plugin/ControllerAdmin.php b/core/Plugin/ControllerAdmin.php index e37cd7b11b2..b18fe67de67 100644 --- a/core/Plugin/ControllerAdmin.php +++ b/core/Plugin/ControllerAdmin.php @@ -65,7 +65,7 @@ private static function notifyAnyInvalidPlugin() $notification = new Notification($invalidPluginsWarning); $notification->raw = true; $notification->context = Notification::CONTEXT_WARNING; - $notification->title = Piwik::translate('General_Warning') . ':'; + $notification->title = Piwik::translate('General_Warning'); Notification\Manager::notify('ControllerAdmin_InvalidPluginsWarning', $notification); } @@ -178,6 +178,16 @@ public static function setBasicVariablesAdminView(View $view) self::checkPhpVersion($view); + if (Piwik::hasUserSuperUserAccess() && self::isPhpVersion53()) { + $notification = new Notification(Piwik::translate('General_WarningPhpVersionXIsTooOld', '5.3')); + $notification->title = Piwik::translate('General_Warning'); + $notification->priority = Notification::PRIORITY_LOW; + $notification->context = Notification::CONTEXT_WARNING; + $notification->type = Notification::TYPE_TRANSIENT; + $notification->flags = Notification::FLAG_NO_CLEAR; + NotificationManager::notify('PHP53VersionCheck', $notification); + } + $adminMenu = MenuAdmin::getInstance()->getMenu(); $view->adminMenu = $adminMenu; @@ -207,4 +217,10 @@ private static function checkPhpVersion($view) $view->phpVersion = PHP_VERSION; $view->phpIsNewEnough = version_compare($view->phpVersion, '5.3.0', '>='); } + + private static function isPhpVersion53() + { + return strpos(PHP_VERSION, '5.3') === 0; + } + } diff --git a/lang/en.json b/lang/en.json index 2a69e3d7e04..0af012ecc31 100644 --- a/lang/en.json +++ b/lang/en.json @@ -428,6 +428,7 @@ "VisitType": "Visitor type", "VisitTypeExample": "For example, to select all visitors who have returned to the website, including those who have bought something in their previous visits, the API request would contain %s", "Warning": "Warning", + "WarningPhpVersionXIsTooOld": "The PHP version %s you are using has reached its End of Life (EOL). You are strongly urged to upgrade to a current version, as using this version may expose you to security vulnerabilities and bugs that have been fixed in more recent versions of PHP.", "WarningFileIntegrityNoManifest": "File integrity check could not be performed due to missing manifest.inc.php.", "WarningFileIntegrityNoManifestDeployingFromGit": "If you are deploying Piwik from Git, this message is normal.", "WarningFileIntegrityNoMd5file": "File integrity check could not be completed due to missing md5_file() function.",