Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Napoli <matthieu@mnapoli.fr>2015-04-06 07:42:05 +0300
committerMatthieu Napoli <matthieu@mnapoli.fr>2015-04-14 04:45:16 +0300
commit3a3978f4fbc2e394c9251b69853b14bbbe64db62 (patch)
tree856b419fec4aba12c151486c9193718c9da08c36 /plugins/Installation/Controller.php
parent3d3180ea55f9fc0da7d16d7e94d4abcae950eb66 (diff)
ref #7235 Refactored the system check to allow plugins to add diagnostics
Diffstat (limited to 'plugins/Installation/Controller.php')
-rw-r--r--plugins/Installation/Controller.php88
1 files changed, 8 insertions, 80 deletions
diff --git a/plugins/Installation/Controller.php b/plugins/Installation/Controller.php
index cdce51d111..c533ac07fc 100644
--- a/plugins/Installation/Controller.php
+++ b/plugins/Installation/Controller.php
@@ -23,9 +23,8 @@ use Piwik\Http;
use Piwik\Option;
use Piwik\Piwik;
use Piwik\Plugin\Manager;
-use Piwik\Plugins\CoreUpdater\CoreUpdater;
+use Piwik\Plugins\Diagnostics\DiagnosticService;
use Piwik\Plugins\LanguagesManager\LanguagesManager;
-use Piwik\Plugins\PrivacyManager\IPAnonymizer;
use Piwik\Plugins\SitesManager\API as APISitesManager;
use Piwik\Plugins\UserCountry\LocationProvider;
use Piwik\Plugins\UsersManager\API as APIUsersManager;
@@ -112,15 +111,11 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
__FUNCTION__
);
- $view->duringInstall = true;
+ /** @var DiagnosticService $diagnosticService */
+ $diagnosticService = StaticContainer::get('Piwik\Plugins\Diagnostics\DiagnosticService');
+ $view->diagnosticReport = $diagnosticService->runDiagnostics();
- $this->setupSystemCheckView($view);
-
- $view->showNextStep = !$view->problemWithSomeDirectories
- && $view->infos['phpVersion_ok']
- && count($view->infos['adapters'])
- && !count($view->infos['missing_extensions'])
- && !count($view->infos['missing_functions']);
+ $view->showNextStep = !$view->diagnosticReport->hasErrors();
// On the system check page, if all is green, display Next link at the top
$view->showNextStepAtTop = $view->showNextStep;
@@ -446,15 +441,6 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
}
/**
- * Get system information
- */
- public static function getSystemInformation()
- {
- $systemCheck = new SystemCheck();
- return $systemCheck->getSystemInformation();
- }
-
- /**
* This controller action renders an admin tab that runs the installation
* system check, so people can see if there are any issues w/ their running
* Piwik installation.
@@ -472,13 +458,9 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
);
$this->setBasicVariablesView($view);
- $view->duringInstall = false;
-
- $this->setupSystemCheckView($view);
-
- $infos = $view->infos;
- $infos['extra'] = SystemCheck::performAdminPageOnlySystemCheck();
- $view->infos = $infos;
+ /** @var DiagnosticService $diagnosticService */
+ $diagnosticService = StaticContainer::get('Piwik\Plugins\Diagnostics\DiagnosticService');
+ $view->diagnosticReport = $diagnosticService->runDiagnostics();
return $view->render();
}
@@ -645,20 +627,6 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
}
}
- /**
- * Utility function, sets up a view that will display system check info.
- *
- * @param View $view
- */
- private function setupSystemCheckView($view)
- {
- $view->infos = self::getSystemInformation();
-
- $view->helpMessages = $this->getSystemCheckHelpMessages();
-
- $view->problemWithSomeDirectories = (false !== array_search(false, $view->infos['directories']));
- }
-
private function createSuperUser($login, $password, $email)
{
$self = $this;
@@ -746,44 +714,4 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
return $result;
});
}
-
- /**
- * @return array
- */
- private function getSystemCheckHelpMessages()
- {
- $helpMessages = array(
- // Extensions
- 'zlib' => 'Installation_SystemCheckZlibHelp',
- 'gzopen' => 'Installation_SystemCheckZlibHelp',
- 'SPL' => 'Installation_SystemCheckSplHelp',
- 'iconv' => 'Installation_SystemCheckIconvHelp',
- 'mbstring' => 'Installation_SystemCheckMbstringHelp',
- 'Reflection' => 'Required extension that is built in PHP, see http://www.php.net/manual/en/book.reflection.php',
- 'json' => 'Installation_SystemCheckWarnJsonHelp',
- 'libxml' => 'Installation_SystemCheckWarnLibXmlHelp',
- 'dom' => 'Installation_SystemCheckWarnDomHelp',
- 'SimpleXML' => 'Installation_SystemCheckWarnSimpleXMLHelp',
-
- // Functions
- 'set_time_limit' => 'Installation_SystemCheckTimeLimitHelp',
- 'mail' => 'Installation_SystemCheckMailHelp',
- 'parse_ini_file' => 'Installation_SystemCheckParseIniFileHelp',
- 'glob' => 'Installation_SystemCheckGlobHelp',
- 'debug_backtrace' => 'Installation_SystemCheckDebugBacktraceHelp',
- 'create_function' => 'Installation_SystemCheckCreateFunctionHelp',
- 'eval' => 'Installation_SystemCheckEvalHelp',
- 'gzcompress' => 'Installation_SystemCheckGzcompressHelp',
- 'gzuncompress' => 'Installation_SystemCheckGzuncompressHelp',
- 'pack' => 'Installation_SystemCheckPackHelp',
- 'php5-json' => 'Installation_SystemCheckJsonHelp',
- );
-
- // Add standard message for required PHP.ini settings
- $requiredSettings = SystemCheck::getRequiredPhpSettings();
- foreach($requiredSettings as $requiredSetting) {
- $helpMessages[$requiredSetting] = Piwik::translate('Installation_SystemCheckPhpSetting', $requiredSetting);
- }
- return $helpMessages;
- }
}