From 2826710d25b72fe2d6e1fcc6c1892651db0f0f98 Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Mon, 11 Feb 2013 16:17:43 +1300 Subject: [PATCH] small refactor refs #3726 --- plugins/UserSettings/UserSettings.php | 53 ++++++++++++++++----------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/plugins/UserSettings/UserSettings.php b/plugins/UserSettings/UserSettings.php index a290023910..3388a26b35 100644 --- a/plugins/UserSettings/UserSettings.php +++ b/plugins/UserSettings/UserSettings.php @@ -333,27 +333,7 @@ class Piwik_UserSettings extends Piwik_Plugin destroy($tablePlugin); $recordName = 'UserSettings_language'; - $labelSQL = "log_visit.location_browser_lang"; - $interestByLanguage = $archiveProcessing->getArrayInterestForLabel($labelSQL); - foreach ($interestByLanguage as $lang => $count) { - // get clean language code - $code = $this->_getLanguageCodeFromBrowserSetting($lang); - if ($code != $lang) { - if (!array_key_exists($code, $interestByLanguage)) { - $interestByLanguage[$code] = array(); - } - // Add the values to the primary language - foreach ($count as $key => $value) { - if (array_key_exists($key, $interestByLanguage[$code])) { - $interestByLanguage[$code][$key] += $value; - } else { - $interestByLanguage[$code][$key] = $value; - } - } - unset($interestByLanguage[$lang]); - } - } - $tableLanguage = $archiveProcessing->getDataTableFromArray($interestByLanguage); + $tableLanguage = $this->getDataTableLanguages(); $archiveProcessing->insertBlobRecord($recordName, $tableLanguage->getSerialized($maximumRowsInDataTable, null, $columnToSortByBeforeTruncation)); } @@ -404,7 +384,7 @@ class Piwik_UserSettings extends Piwik_Plugin $archiveProcessing = $notification->getNotificationObject(); if(!$archiveProcessing->shouldProcessReportsForPlugin($this->getPluginName())) return; - + $maximumRowsInDataTable = Piwik_Config::getInstance()->General['datatable_archiving_maximum_rows_standard']; $dataTableToSum = array( @@ -493,4 +473,33 @@ class Piwik_UserSettings extends Piwik_Plugin sum(case log_visit.config_cookie when 1 then 1 else 0 end) as cookie "; return $this->archiveProcessing->getSimpleDataTableFromSelect($toSelect, Piwik_Archive::INDEX_NB_VISITS); } + + protected function getDataTableLanguages() + { + $labelSQL = "log_visit.location_browser_lang"; + $interestByLanguage = $this->archiveProcessing->getArrayInterestForLabel($labelSQL); + foreach ($interestByLanguage as $lang => $count) + { + // get clean language code + $code = $this->_getLanguageCodeFromBrowserSetting($lang); + if ($code != $lang) + { + if (!array_key_exists($code, $interestByLanguage)) { + $interestByLanguage[$code] = array(); + } + // Add the values to the primary language + foreach ($count as $key => $value) + { + if (array_key_exists($key, $interestByLanguage[$code])) { + $interestByLanguage[$code][$key] += $value; + } else { + $interestByLanguage[$code][$key] = $value; + } + } + unset($interestByLanguage[$lang]); + } + } + $tableLanguage = $this->archiveProcessing->getDataTableFromArray($interestByLanguage); + return $tableLanguage; + } } -- GitLab