From c791c599a993246fd402d97002176d2313753e2f Mon Sep 17 00:00:00 2001 From: mattpiwik <matthieu.aubry@gmail.com> Date: Tue, 15 Jun 2010 10:04:53 +0000 Subject: [PATCH] git-svn-id: http://dev.piwik.org/svn/trunk@2305 59fd770c-687e-43c8-a1e3-f5a4ff64c105 --- config/global.ini.php | 4 ++-- plugins/Provider/Provider.php | 8 ++++---- plugins/UserSettings/API.php | 1 + plugins/UserSettings/UserSettings.php | 13 ++++++++----- plugins/UserSettings/functions.php | 8 ++++++++ 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/config/global.ini.php b/config/global.ini.php index 0a45d5f9a6..f1dbd2f782 100644 --- a/config/global.ini.php +++ b/config/global.ini.php @@ -135,8 +135,8 @@ datatable_archiving_maximum_rows_actions = 500 ; maximum number of rows for pages in categories (sub pages, when clicking on the + for a page category) datatable_archiving_maximum_rows_subtable_actions = 100 -; maximum number of rows for the provider table -datatable_archiving_maximum_rows_providers = 500 +; maximum number of rows for other tables (Providers, User settings configurations) +datatable_archiving_maximum_rows_standard = 500 ; by default, Piwik uses self-hosted AJAX libraries. ; If set to 1, Piwik uses a Content Distribution Network diff --git a/plugins/Provider/Provider.php b/plugins/Provider/Provider.php index 6e4c6dee50..aec31c9f51 100644 --- a/plugins/Provider/Provider.php +++ b/plugins/Provider/Provider.php @@ -85,10 +85,10 @@ class Piwik_Provider extends Piwik_Plugin function archivePeriod( $notification ) { - $maximumRowsInDataTableLevelZero = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_providers; + $maximumRowsInDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_standard; $archiveProcessing = $notification->getNotificationObject(); $dataTableToSum = array( 'Provider_hostnameExt' ); - $archiveProcessing->archiveDataTable($dataTableToSum, null, $maximumRowsInDataTableLevelZero); + $archiveProcessing->archiveDataTable($dataTableToSum, null, $maximumRowsInDataTable); } /** @@ -103,8 +103,8 @@ class Piwik_Provider extends Piwik_Plugin $interestByProvider = $archiveProcessing->getArrayInterestForLabel($labelSQL); $tableProvider = $archiveProcessing->getDataTableFromArray($interestByProvider); $columnToSortByBeforeTruncation = Piwik_Archive::INDEX_NB_VISITS; - $maximumRowsInDataTableLevelZero = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_providers; - $archiveProcessing->insertBlobRecord($recordName, $tableProvider->getSerialized($maximumRowsInDataTableLevelZero, null, $columnToSortByBeforeTruncation)); + $maximumRowsInDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_standard; + $archiveProcessing->insertBlobRecord($recordName, $tableProvider->getSerialized($maximumRowsInDataTable, null, $columnToSortByBeforeTruncation)); destroy($tableProvider); } diff --git a/plugins/UserSettings/API.php b/plugins/UserSettings/API.php index 09f146fe1f..aab8f3416a 100644 --- a/plugins/UserSettings/API.php +++ b/plugins/UserSettings/API.php @@ -39,6 +39,7 @@ class Piwik_UserSettings_API $dataTable = $archive->getDataTable($name); $dataTable->filter('Sort', array(Piwik_Archive::INDEX_NB_VISITS)); $dataTable->queueFilter('ReplaceColumnNames'); + $dataTable->queueFilter('ReplaceSummaryRowLabel'); return $dataTable; } diff --git a/plugins/UserSettings/UserSettings.php b/plugins/UserSettings/UserSettings.php index dc1db413b5..bb0c10dddf 100644 --- a/plugins/UserSettings/UserSettings.php +++ b/plugins/UserSettings/UserSettings.php @@ -66,6 +66,8 @@ class Piwik_UserSettings extends Piwik_Plugin function archiveDay( $notification ) { require_once PIWIK_INCLUDE_PATH . '/plugins/UserSettings/functions.php'; + $maximumRowsInDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_standard; + $columnToSortByBeforeTruncation = Piwik_Archive::INDEX_NB_VISITS; $archiveProcessing = $notification->getNotificationObject(); $this->archiveProcessing = $archiveProcessing; @@ -74,21 +76,21 @@ class Piwik_UserSettings extends Piwik_Plugin $labelSQL = "CONCAT(config_os, ';', config_browser_name, ';', config_resolution)"; $interestByConfiguration = $archiveProcessing->getArrayInterestForLabel($labelSQL); $tableConfiguration = $archiveProcessing->getDataTableFromArray($interestByConfiguration); - $archiveProcessing->insertBlobRecord($recordName, $tableConfiguration->getSerialized()); + $archiveProcessing->insertBlobRecord($recordName, $tableConfiguration->getSerialized($maximumRowsInDataTable, null, $columnToSortByBeforeTruncation)); destroy($tableConfiguration); $recordName = 'UserSettings_os'; $labelSQL = "config_os"; $interestByOs = $archiveProcessing->getArrayInterestForLabel($labelSQL); $tableOs = $archiveProcessing->getDataTableFromArray($interestByOs); - $archiveProcessing->insertBlobRecord($recordName, $tableOs->getSerialized()); + $archiveProcessing->insertBlobRecord($recordName, $tableOs->getSerialized($maximumRowsInDataTable, null, $columnToSortByBeforeTruncation)); destroy($tableOs); $recordName = 'UserSettings_browser'; $labelSQL = "CONCAT(config_browser_name, ';', config_browser_version)"; $interestByBrowser = $archiveProcessing->getArrayInterestForLabel($labelSQL); $tableBrowser = $archiveProcessing->getDataTableFromArray($interestByBrowser); - $archiveProcessing->insertBlobRecord($recordName, $tableBrowser->getSerialized()); + $archiveProcessing->insertBlobRecord($recordName, $tableBrowser->getSerialized($maximumRowsInDataTable, null, $columnToSortByBeforeTruncation)); $recordName = 'UserSettings_browserType'; $tableBrowserType = $this->getTableBrowserByType($tableBrowser); @@ -101,7 +103,7 @@ class Piwik_UserSettings extends Piwik_Plugin $interestByResolution = $archiveProcessing->getArrayInterestForLabel($labelSQL); $tableResolution = $archiveProcessing->getDataTableFromArray($interestByResolution); $tableResolution->filter('ColumnCallbackDeleteRow', array('label', 'Piwik_UserSettings_keepStrlenGreater')); - $archiveProcessing->insertBlobRecord($recordName, $tableResolution->getSerialized()); + $archiveProcessing->insertBlobRecord($recordName, $tableResolution->getSerialized($maximumRowsInDataTable, null, $columnToSortByBeforeTruncation)); $recordName = 'UserSettings_wideScreen'; $tableWideScreen = $this->getTableWideScreen($tableResolution); @@ -118,6 +120,7 @@ class Piwik_UserSettings extends Piwik_Plugin function archivePeriod( $notification ) { $archiveProcessing = $notification->getNotificationObject(); + $maximumRowsInDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_standard; $dataTableToSum = array( 'UserSettings_configuration', @@ -129,7 +132,7 @@ class Piwik_UserSettings extends Piwik_Plugin 'UserSettings_plugin', ); - $archiveProcessing->archiveDataTable($dataTableToSum); + $archiveProcessing->archiveDataTable($dataTableToSum, null, $maximumRowsInDataTable); } protected function getTableWideScreen($tableResolution) diff --git a/plugins/UserSettings/functions.php b/plugins/UserSettings/functions.php index e16ed60867..c2aebe7b64 100644 --- a/plugins/UserSettings/functions.php +++ b/plugins/UserSettings/functions.php @@ -126,11 +126,19 @@ function Piwik_getBrowserVersion($str) function Piwik_getBrowsersLogo($label) { $id = Piwik_getBrowserId($label); + // For aggregated row 'Others' + if(empty($id)) { + $id = 'UNK'; + } return 'plugins/UserSettings/images/browsers/'. $id . '.gif'; } function Piwik_getOSLogo($label) { + // For aggregated row 'Others' + if(empty($label)) { + $label = 'UNK'; + } $path = 'plugins/UserSettings/images/os/'. $label . '.gif'; return $path; } -- GitLab