diff options
author | mattab <matthieu.aubry@gmail.com> | 2013-06-07 06:37:20 +0400 |
---|---|---|
committer | mattab <matthieu.aubry@gmail.com> | 2013-06-07 06:37:20 +0400 |
commit | e7267041b56679f3f95d0a1d35836eec37d0d85c (patch) | |
tree | d5e2c0ce9f935cfa2a010f3853f97156b7ca1bbb /plugins/UserSettings | |
parent | b53839f7e40f584066c13f60e5b37542b3c10cad (diff) |
factoring out record names as const
Diffstat (limited to 'plugins/UserSettings')
-rw-r--r-- | plugins/UserSettings/API.php | 63 | ||||
-rw-r--r-- | plugins/UserSettings/Archiver.php | 9 |
2 files changed, 38 insertions, 34 deletions
diff --git a/plugins/UserSettings/API.php b/plugins/UserSettings/API.php index dd3820fff7..4369d397b9 100644 --- a/plugins/UserSettings/API.php +++ b/plugins/UserSettings/API.php @@ -45,20 +45,20 @@ class Piwik_UserSettings_API public function getResolution($idSite, $period, $date, $segment = false) { - $dataTable = $this->getDataTable('UserSettings_resolution', $idSite, $period, $date, $segment); + $dataTable = $this->getDataTable(Piwik_UserSettings_Archiver::RESOLUTION_RECORD_NAME, $idSite, $period, $date, $segment); return $dataTable; } public function getConfiguration($idSite, $period, $date, $segment = false) { - $dataTable = $this->getDataTable('UserSettings_configuration', $idSite, $period, $date, $segment); + $dataTable = $this->getDataTable(Piwik_UserSettings_Archiver::CONFIGURATION_RECORD_NAME, $idSite, $period, $date, $segment); $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_getConfigurationLabel')); return $dataTable; } public function getOS($idSite, $period, $date, $segment = false, $addShortLabel = true) { - $dataTable = $this->getDataTable('UserSettings_os', $idSite, $period, $date, $segment); + $dataTable = $this->getDataTable(Piwik_UserSettings_Archiver::OS_RECORD_NAME, $idSite, $period, $date, $segment); // these filters are applied directly so other API methods can use GroupBy on the result of this method $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', 'Piwik_getOSLogo')); if ($addShortLabel) { @@ -88,18 +88,29 @@ class Piwik_UserSettings_API { $dataTable = $this->getOS($idSite, $period, $date, $segment, $addShortLabel = false); $dataTable->filter('GroupBy', array('label', 'Piwik_UserSettings_getDeviceTypeFromOS')); + $this->ensureDefaultRowsInTable($dataTable); - // make sure the datatable has a row for mobile & desktop (if it has rows) - $dataTables = array($dataTable); - if ($dataTable instanceof Piwik_DataTable_Array) { - $dataTables = $dataTable->getArray(); - } + // set the logo metadata + $dataTable->queueFilter('MetadataCallbackReplace', + array('logo', 'Piwik_UserSettings_getDeviceTypeImg', null, array('label'))); + + // translate the labels + $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_Translate')); + return $dataTable; + } + + protected function ensureDefaultRowsInTable($dataTable) + { $requiredRows = array( 'General_Desktop' => Piwik_Archive::INDEX_NB_VISITS, 'General_Mobile' => Piwik_Archive::INDEX_NB_VISITS ); + $dataTables = array($dataTable); + if ($dataTable instanceof Piwik_DataTable_Array) { + $dataTables = $dataTable->getArray(); + } foreach ($dataTables AS $table) { if ($table->getRowsCount() == 0) { continue; @@ -113,22 +124,19 @@ class Piwik_UserSettings_API } } } + } - // set the logo metadata - $dataTable->queueFilter('MetadataCallbackReplace', - array('logo', 'Piwik_UserSettings_getDeviceTypeImg', null, array('label'))); - - // translate the labels - $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_Translate')); - + public function getBrowserVersion($idSite, $period, $date, $segment = false) + { + $dataTable = $this->getBrowserTable($idSite, $period, $date, $segment); + $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'shortLabel', 'Piwik_getBrowserShortLabel')); return $dataTable; } - public function getBrowserVersion($idSite, $period, $date, $segment = false) + protected function getBrowserTable($idSite, $period, $date, $segment) { - $dataTable = $this->getDataTable('UserSettings_browser', $idSite, $period, $date, $segment); + $dataTable = $this->getDataTable(Piwik_UserSettings_Archiver::BROWSER_RECORD_NAME, $idSite, $period, $date, $segment); $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', 'Piwik_getBrowsersLogo')); - $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'shortLabel', 'Piwik_getBrowserShortLabel')); $dataTable->filter('ColumnCallbackReplace', array('label', 'Piwik_getBrowserLabel')); return $dataTable; } @@ -139,19 +147,14 @@ class Piwik_UserSettings_API */ public function getBrowser($idSite, $period, $date, $segment = false) { - $dataTable = $this->getDataTable('UserSettings_browser', $idSite, $period, $date, $segment); - $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', 'Piwik_getBrowsersLogo')); - $dataTable->filter('ColumnCallbackReplace', array('label', 'Piwik_getBrowserLabel')); - - $getBrowserFromBrowserVersion = 'Piwik_UserSettings_getBrowserFromBrowserVersion'; - $dataTable->filter('GroupBy', array('label', $getBrowserFromBrowserVersion)); - + $dataTable = $this->getBrowserTable($idSite, $period, $date, $segment); + $dataTable->filter('GroupBy', array('label', 'Piwik_UserSettings_getBrowserFromBrowserVersion')); return $dataTable; } public function getBrowserType($idSite, $period, $date, $segment = false) { - $dataTable = $this->getDataTable('UserSettings_browserType', $idSite, $period, $date, $segment); + $dataTable = $this->getDataTable(Piwik_UserSettings_Archiver::BROWSER_TYPE_RECORD_NAME, $idSite, $period, $date, $segment); $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'shortLabel', 'ucfirst')); $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_getBrowserTypeLabel')); return $dataTable; @@ -159,7 +162,7 @@ class Piwik_UserSettings_API public function getWideScreen($idSite, $period, $date, $segment = false) { - $dataTable = $this->getDataTable('UserSettings_wideScreen', $idSite, $period, $date, $segment); + $dataTable = $this->getDataTable(Piwik_UserSettings_Archiver::SCREEN_TYPE_RECORD_NAME, $idSite, $period, $date, $segment); $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'logo', 'Piwik_getScreensLogo')); $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'ucfirst')); return $dataTable; @@ -168,8 +171,8 @@ class Piwik_UserSettings_API public function getPlugin($idSite, $period, $date, $segment = false) { // fetch all archive data required - $dataTable = $this->getDataTable('UserSettings_plugin', $idSite, $period, $date, $segment); - $browserTypes = $this->getDataTable('UserSettings_browserType', $idSite, $period, $date, $segment); + $dataTable = $this->getDataTable(Piwik_UserSettings_Archiver::PLUGIN_RECORD_NAME, $idSite, $period, $date, $segment); + $browserTypes = $this->getDataTable(Piwik_UserSettings_Archiver::BROWSER_TYPE_RECORD_NAME, $idSite, $period, $date, $segment); $archive = Piwik_Archive::build($idSite, $period, $date, $segment); $visitsSums = $archive->getDataTableFromNumeric('nb_visits'); @@ -238,7 +241,7 @@ class Piwik_UserSettings_API public function getLanguage($idSite, $period, $date, $segment = false) { - $dataTable = $this->getDataTable('UserSettings_language', $idSite, $period, $date, $segment); + $dataTable = $this->getDataTable(Piwik_UserSettings_Archiver::LANGUAGE_RECORD_NAME, $idSite, $period, $date, $segment); $dataTable->filter('ColumnCallbackReplace', array('label', 'Piwik_LanguageTranslate')); $dataTable->filter('ReplaceColumnNames'); return $dataTable; diff --git a/plugins/UserSettings/Archiver.php b/plugins/UserSettings/Archiver.php index fa8721c6e7..0e545350b7 100644 --- a/plugins/UserSettings/Archiver.php +++ b/plugins/UserSettings/Archiver.php @@ -15,7 +15,7 @@ class Piwik_UserSettings_Archiver extends Piwik_PluginsArchiver { const LANGUAGE_RECORD_NAME = 'UserSettings_language'; const PLUGIN_RECORD_NAME = 'UserSettings_plugin'; - const SCREEN_TYPES_RECORD_NAME = 'UserSettings_wideScreen'; + const SCREEN_TYPE_RECORD_NAME = 'UserSettings_wideScreen'; const RESOLUTION_RECORD_NAME = 'UserSettings_resolution'; const BROWSER_RECORD_NAME = 'UserSettings_browser'; const BROWSER_TYPE_RECORD_NAME = 'UserSettings_browserType'; @@ -94,7 +94,7 @@ class Piwik_UserSettings_Archiver extends Piwik_PluginsArchiver protected function aggregateByScreenType(Piwik_DataTable $resolutions) { $resolutions->filter('GroupBy', array('label', 'Piwik_getScreenTypeFromResolution')); - $this->getProcessor()->insertBlobRecord(self::SCREEN_TYPES_RECORD_NAME, $resolutions->getSerialized()); + $this->getProcessor()->insertBlobRecord(self::SCREEN_TYPE_RECORD_NAME, $resolutions->getSerialized()); } protected function aggregateByPlugin() @@ -142,10 +142,11 @@ class Piwik_UserSettings_Archiver extends Piwik_PluginsArchiver self::BROWSER_RECORD_NAME, self::BROWSER_TYPE_RECORD_NAME, self::RESOLUTION_RECORD_NAME, - self::SCREEN_TYPES_RECORD_NAME, + self::SCREEN_TYPE_RECORD_NAME, self::PLUGIN_RECORD_NAME, self::LANGUAGE_RECORD_NAME, ); $this->getProcessor()->archiveDataTable($dataTableToSum, null, $this->maximumRowsInDataTable); } -}
\ No newline at end of file +} + |