| <?php |
|
|
| |
| |
| |
| |
| |
| |
|
|
| namespace Piwik\Plugins\CoreHome\Widgets; |
|
|
| use Piwik\Db; |
| use Piwik\Piwik; |
| use Piwik\Plugin; |
| use Piwik\Plugins\CoreHome\SystemSummary\Item; |
| use Piwik\Plugins\SegmentEditor\Services\StoredSegmentService; |
| use Piwik\Version; |
| use Piwik\Widget\Widget; |
| use Piwik\Widget\WidgetConfig; |
|
|
| class GetSystemSummary extends Widget |
| { |
| public const TEST_MYSQL_VERSION = 'mysql-version-redacted'; |
| public const TEST_PHP_VERSION = 'php-version-redacted'; |
| |
| |
| |
| private $storedSegmentService; |
|
|
| |
| |
| |
| private $pluginManager; |
|
|
| public function __construct(StoredSegmentService $storedSegmentService, Plugin\Manager $pluginManager) |
| { |
| $this->storedSegmentService = $storedSegmentService; |
| $this->pluginManager = $pluginManager; |
| } |
|
|
| public static function configure(WidgetConfig $config) |
| { |
| $config->setCategoryId('About Matomo'); |
| $config->setName('CoreHome_SystemSummaryWidget'); |
| $config->setOrder(15); |
| $config->setIsEnabled(Piwik::hasUserSuperUserAccess()); |
| } |
|
|
| public function render() |
| { |
| $mysqlVersion = $this->getMySqlVersion(); |
| $phpVersion = $this->getPHPVersion(); |
|
|
| $systemSummary = array(); |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Piwik::postEvent('System.addSystemSummaryItems', array(&$systemSummary)); |
|
|
| $systemSummary[] = new Item($key = 'piwik-version', Piwik::translate('CoreHome_SystemSummaryPiwikVersion'), Version::VERSION, $url = null, $icon = '', $order = 21); |
| $systemSummary[] = new Item($key = 'mysql-version', Piwik::translate('CoreHome_SystemSummaryMysqlVersion'), $mysqlVersion, $url = null, $icon = '', $order = 22); |
| $systemSummary[] = new Item($key = 'php-version', Piwik::translate('CoreHome_SystemSummaryPhpVersion'), $phpVersion, $url = null, $icon = '', $order = 23); |
|
|
| $systemSummary = array_filter($systemSummary); |
| usort($systemSummary, function ($itemA, $itemB) { |
| if ($itemA->getOrder() == $itemB->getOrder()) { |
| return 0; |
| } |
| if ($itemA->getOrder() > $itemB->getOrder()) { |
| return 1; |
| } |
| return -1; |
| }); |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Piwik::postEvent('System.filterSystemSummaryItems', array(&$systemSummary)); |
|
|
| $systemSummary = array_filter($systemSummary); |
|
|
| return $this->renderTemplate('getSystemSummary', array( |
| 'items' => $systemSummary, |
| )); |
| } |
|
|
| private function getMySqlVersion() |
| { |
| if (defined('PIWIK_TEST_MODE')) { |
| return self::TEST_MYSQL_VERSION; |
| } |
|
|
| $db = Db::get(); |
| return $db->getServerVersion(); |
| } |
|
|
| private function getPHPVersion() |
| { |
| if (defined('PIWIK_TEST_MODE')) { |
| return self::TEST_PHP_VERSION; |
| } |
|
|
| return phpversion(); |
| } |
| } |
|
|