From d8f110aca03ff8c73811a141631f12a7a1ddc16f Mon Sep 17 00:00:00 2001 From: mattab Date: Wed, 12 Jun 2013 16:23:51 +1200 Subject: More refactoring, moving SQL to classes and cleaning up logic so I can understand it (nearly there) --- plugins/Actions/Actions.php | 2 +- plugins/Actions/Archiver.php | 31 +++++++++++------------- plugins/CoreAdminHome/Controller.php | 8 +++---- plugins/CoreAdminHome/CoreAdminHome.php | 2 +- plugins/CoreUpdater/Controller.php | 2 +- plugins/CustomVariables/Archiver.php | 6 ++--- plugins/DevicesDetection/Archiver.php | 4 ++-- plugins/Goals/Archiver.php | 13 +++++----- plugins/Goals/Goals.php | 2 +- plugins/Live/API.php | 12 +++++----- plugins/MultiSites/API.php | 12 ++++++---- plugins/MultiSites/Controller.php | 42 ++++++++++++++++++++------------- plugins/Provider/Archiver.php | 2 +- plugins/Referers/Archiver.php | 4 ++-- plugins/SegmentEditor/SegmentEditor.php | 4 +--- plugins/Transitions/API.php | 8 +++---- plugins/Transitions/Transitions.php | 10 ++++---- plugins/UserCountry/Archiver.php | 8 +++---- plugins/UserSettings/Archiver.php | 2 +- plugins/VisitTime/API.php | 5 ++-- plugins/VisitTime/Archiver.php | 4 ++-- plugins/VisitorGenerator/Controller.php | 2 +- plugins/VisitorInterest/Archiver.php | 2 +- plugins/VisitsSummary/VisitsSummary.php | 2 +- 24 files changed, 100 insertions(+), 89 deletions(-) (limited to 'plugins') diff --git a/plugins/Actions/Actions.php b/plugins/Actions/Actions.php index d54a11c65d..7d401b3c59 100644 --- a/plugins/Actions/Actions.php +++ b/plugins/Actions/Actions.php @@ -573,7 +573,7 @@ class Piwik_Actions extends Piwik_Plugin */ public function archiveDay($notification) { - /* @var $archiveProcessing Piwik_ArchiveProcessing_Day */ + /* @var $archiveProcessing Piwik_ArchiveProcessor_Day */ $archiveProcessing = $notification->getNotificationObject(); $archiving = new Piwik_Actions_Archiver($archiveProcessing); diff --git a/plugins/Actions/Archiver.php b/plugins/Actions/Archiver.php index 1a8e902f16..d7e8e93b23 100644 --- a/plugins/Actions/Archiver.php +++ b/plugins/Actions/Archiver.php @@ -66,7 +66,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver /** * Archives Actions reports for a Day * - * @param Piwik_ArchiveProcessing $this->getProcessor() + * @param Piwik_ArchiveProcessor $this->getProcessor() * @return bool */ public function archiveDay() @@ -252,20 +252,15 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver // to the outer select. therefore, $segment needs to know about it. $select = sprintf($select, $sprintfField); - $bind = array(); + $bind = array($this->getProcessor()->getDateStart()->getDateStartUTC(), + $this->getProcessor()->getDateEnd()->getDateEndUTC(), + $this->getProcessor()->getSite()->getId() + ); // get query with segmentation $query = $this->getProcessor()->getSegment()->getSelectQuery( $select, $from, $where, $bind, $orderBy, $groupBy); - // extend bindings - $bind = array_merge(array($this->getProcessor()->getStartDatetimeUTC(), - $this->getProcessor()->getEndDatetimeUTC(), - $this->getProcessor()->getSite()->getId() - ), - $query['bind'] - ); - // replace the rest of the %s $querySql = str_replace("%s", $sprintfField, $query['sql']); @@ -562,25 +557,27 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver self::PAGE_TITLES_RECORD_NAME, self::PAGE_URLS_RECORD_NAME, ); - $this->getProcessor()->archiveDataTable($dataTableToSum, - self::$invalidSummedColumnNameToRenamedNameFromPeriodArchive, + $this->getProcessor()->aggregateDataTableReports($dataTableToSum, Piwik_Actions_ArchivingHelper::$maximumRowsInDataTableLevelZero, Piwik_Actions_ArchivingHelper::$maximumRowsInSubDataTable, Piwik_Actions_ArchivingHelper::$columnToSortByBeforeTruncation, - self::$actionColumnAggregationOperations); + self::$actionColumnAggregationOperations, + self::$invalidSummedColumnNameToRenamedNameFromPeriodArchive + ); $dataTableToSum = array( self::DOWNLOADS_RECORD_NAME, self::OUTLINKS_RECORD_NAME, self::SITE_SEARCH_RECORD_NAME, ); - $nameToCount = $this->getProcessor()->archiveDataTable($dataTableToSum, - self::$invalidSummedColumnNameToRenamedNameFromPeriodArchive, + $nameToCount = $this->getProcessor()->aggregateDataTableReports($dataTableToSum, Piwik_Actions_ArchivingHelper::$maximumRowsInDataTableLevelZero, Piwik_Actions_ArchivingHelper::$maximumRowsInSubDataTable, - Piwik_Actions_ArchivingHelper::$columnToSortByBeforeTruncation); + Piwik_Actions_ArchivingHelper::$columnToSortByBeforeTruncation, + $aggregation = null, + self::$invalidSummedColumnNameToRenamedNameFromPeriodArchive); - $this->getProcessor()->archiveNumericValuesSum(array( + $this->getProcessor()->archiveNumericValuesGeneral(array( self::METRIC_PAGEVIEWS_RECORD_NAME, self::METRIC_UNIQ_PAGEVIEWS_RECORD_NAME, self::METRIC_DOWNLOADS_RECORD_NAME, diff --git a/plugins/CoreAdminHome/Controller.php b/plugins/CoreAdminHome/Controller.php index c915205bc2..e002157276 100644 --- a/plugins/CoreAdminHome/Controller.php +++ b/plugins/CoreAdminHome/Controller.php @@ -29,8 +29,8 @@ class Piwik_CoreAdminHome_Controller extends Piwik_Controller_Admin $view = Piwik_View::factory('generalSettings'); if (Piwik::isUserIsSuperUser()) { - $enableBrowserTriggerArchiving = Piwik_ArchiveProcessing::isBrowserTriggerArchivingEnabled(); - $todayArchiveTimeToLive = Piwik_ArchiveProcessing::getTodayArchiveTimeToLive(); + $enableBrowserTriggerArchiving = Piwik_ArchiveProcessor_Rules::isBrowserTriggerEnabled(); + $todayArchiveTimeToLive = Piwik_ArchiveProcessor_Rules::getTodayArchiveTimeToLive(); $showWarningCron = false; if (!$enableBrowserTriggerArchiving && $todayArchiveTimeToLive < 3600 @@ -81,8 +81,8 @@ class Piwik_CoreAdminHome_Controller extends Piwik_Controller_Admin $enableBrowserTriggerArchiving = Piwik_Common::getRequestVar('enableBrowserTriggerArchiving'); $todayArchiveTimeToLive = Piwik_Common::getRequestVar('todayArchiveTimeToLive'); - Piwik_ArchiveProcessing::setBrowserTriggerArchiving((bool)$enableBrowserTriggerArchiving); - Piwik_ArchiveProcessing::setTodayArchiveTimeToLive($todayArchiveTimeToLive); + Piwik_ArchiveProcessor_Rules::setBrowserTriggerArchiving((bool)$enableBrowserTriggerArchiving); + Piwik_ArchiveProcessor_Rules::setTodayArchiveTimeToLive($todayArchiveTimeToLive); // Update email settings $mail = array(); diff --git a/plugins/CoreAdminHome/CoreAdminHome.php b/plugins/CoreAdminHome/CoreAdminHome.php index c77f509e9f..4f75d274c0 100644 --- a/plugins/CoreAdminHome/CoreAdminHome.php +++ b/plugins/CoreAdminHome/CoreAdminHome.php @@ -114,7 +114,7 @@ class Piwik_CoreAdminHome extends Piwik_Plugin $archiveTables = Piwik::getTablesArchivesInstalled(); foreach ($archiveTables as $table) { if (strpos($table, 'numeric') !== false) { - Piwik_ArchiveProcessing_Period::doPurgeOutdatedArchives($table); + Piwik_ArchiveProcessor_Rules::doPurgeOutdatedArchives($table); } } } diff --git a/plugins/CoreUpdater/Controller.php b/plugins/CoreUpdater/Controller.php index 8e20f9c82a..76ab9bf71d 100644 --- a/plugins/CoreUpdater/Controller.php +++ b/plugins/CoreUpdater/Controller.php @@ -163,7 +163,7 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller /* * Make sure the execute bit is set for this shell script */ - if (!Piwik_ArchiveProcessing::isBrowserTriggerArchivingEnabled()) { + if (!Piwik_ArchiveProcessor_Rules::isBrowserTriggerEnabled()) { @chmod($this->pathRootExtractedPiwik . '/misc/cron/archive.sh', 0755); } diff --git a/plugins/CustomVariables/Archiver.php b/plugins/CustomVariables/Archiver.php index 15cc2fdf23..e456178ea8 100644 --- a/plugins/CustomVariables/Archiver.php +++ b/plugins/CustomVariables/Archiver.php @@ -74,7 +74,7 @@ class Piwik_CustomVariables_Archiver extends Piwik_PluginsArchiver protected function getSelectAveragePrice() { - return Piwik_ArchiveProcessing_Day::getSqlRevenue("AVG(log_link_visit_action.custom_var_v2)") + return Piwik_ArchiveProcessor_Day::getSqlRevenue("AVG(log_link_visit_action.custom_var_v2)") . " as `" . Piwik_Archive::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED . "`"; } @@ -191,8 +191,8 @@ class Piwik_CustomVariables_Archiver extends Piwik_PluginsArchiver public function archivePeriod() { - $nameToCount = $this->getProcessor()->archiveDataTable( - self::CUSTOM_VARIABLE_RECORD_NAME, null, $this->maximumRowsInDataTableLevelZero, $this->maximumRowsInSubDataTable, + $nameToCount = $this->getProcessor()->aggregateDataTableReports( + self::CUSTOM_VARIABLE_RECORD_NAME, $this->maximumRowsInDataTableLevelZero, $this->maximumRowsInSubDataTable, $columnToSort = Piwik_Archive::INDEX_NB_VISITS); } } \ No newline at end of file diff --git a/plugins/DevicesDetection/Archiver.php b/plugins/DevicesDetection/Archiver.php index 8bedcc9d39..4d74e28ca2 100644 --- a/plugins/DevicesDetection/Archiver.php +++ b/plugins/DevicesDetection/Archiver.php @@ -57,8 +57,8 @@ class Piwik_DevicesDetection_Archiver extends Piwik_PluginsArchiver self::BROWSER_VERSION_RECORD_NAME ); foreach ($dataTablesToSum as $dt) { - $this->getProcessor()->archiveDataTable( - $dt, null, $this->maximumRows, $this->maximumRows, $columnToSort = "nb_visits"); + $this->getProcessor()->aggregateDataTableReports( + $dt, $this->maximumRows, $this->maximumRows, $columnToSort = "nb_visits"); } } } \ No newline at end of file diff --git a/plugins/Goals/Archiver.php b/plugins/Goals/Archiver.php index 0a5a154f3b..1946594122 100644 --- a/plugins/Goals/Archiver.php +++ b/plugins/Goals/Archiver.php @@ -146,10 +146,11 @@ class Piwik_Goals_Archiver extends Piwik_PluginsArchiver $this->insertReports(self::DAYS_UNTIL_CONV_RECORD_NAME, $daysToConversions); // Stats for all goals + $nbConvertedVisits = $this->getProcessor()->getNumberOfVisitsConverted(); $metrics = array( - self::getRecordName('conversion_rate') => $this->getConversionRate($this->getProcessor()->getNumberOfVisitsConverted()), + self::getRecordName('conversion_rate') => $this->getConversionRate($nbConvertedVisits), self::getRecordName('nb_conversions') => $totalConversions, - self::getRecordName('nb_visits_converted') => $this->getProcessor()->getNumberOfVisitsConverted(), + self::getRecordName('nb_visits_converted') => $nbConvertedVisits, self::getRecordName('revenue') => $totalRevenue, ); $this->getProcessor()->insertNumericRecords($metrics); @@ -380,7 +381,7 @@ class Piwik_Goals_Archiver extends Piwik_PluginsArchiver foreach ($this->dimensionRecord as $recordName) { $dataTableToSum[] = self::getItemRecordNameAbandonedCart($recordName); } - $this->getProcessor()->archiveDataTable($dataTableToSum); + $this->getProcessor()->aggregateDataTableReports($dataTableToSum); } /* @@ -402,7 +403,7 @@ class Piwik_Goals_Archiver extends Piwik_PluginsArchiver $fieldsToSum[] = self::getRecordName($metricName, $goalId); } } - $records = $this->getProcessor()->archiveNumericValuesSum($fieldsToSum); + $records = $this->getProcessor()->archiveNumericValuesGeneral($fieldsToSum); // also recording conversion_rate for each goal foreach ($goalIdsToSum as $goalId) { @@ -411,13 +412,13 @@ class Piwik_Goals_Archiver extends Piwik_PluginsArchiver $this->getProcessor()->insertNumericRecord(self::getRecordName('conversion_rate', $goalId), $conversion_rate); // sum up the visits to conversion data table & the days to conversion data table - $this->getProcessor()->archiveDataTable(array( + $this->getProcessor()->aggregateDataTableReports(array( self::getRecordName(self::VISITS_UNTIL_RECORD_NAME, $goalId), self::getRecordName(self::DAYS_UNTIL_CONV_RECORD_NAME, $goalId))); } // sum up goal overview reports - $this->getProcessor()->archiveDataTable(array( + $this->getProcessor()->aggregateDataTableReports(array( self::getRecordName(self::VISITS_UNTIL_RECORD_NAME), self::getRecordName(self::DAYS_UNTIL_CONV_RECORD_NAME))); } diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php index 024cd562f1..ecda104804 100644 --- a/plugins/Goals/Goals.php +++ b/plugins/Goals/Goals.php @@ -509,7 +509,7 @@ class Piwik_Goals extends Piwik_Plugin function archiveDay($notification) { /** - * @var Piwik_ArchiveProcessing_Day + * @var Piwik_ArchiveProcessor_Day */ $archiveProcessing = $notification->getNotificationObject(); diff --git a/plugins/Live/API.php b/plugins/Live/API.php index d2d74a74bf..0f3b70b5e2 100644 --- a/plugins/Live/API.php +++ b/plugins/Live/API.php @@ -537,11 +537,11 @@ class Piwik_Live_API $sql = "SELECT case idgoal when " . Piwik_Tracker_GoalManager::IDGOAL_CART . " then '" . Piwik_Archive::LABEL_ECOMMERCE_CART . "' else '" . Piwik_Archive::LABEL_ECOMMERCE_ORDER . "' end as type, idorder as orderId, - " . Piwik_ArchiveProcessing_Day::getSqlRevenue('revenue') . " as revenue, - " . Piwik_ArchiveProcessing_Day::getSqlRevenue('revenue_subtotal') . " as revenueSubTotal, - " . Piwik_ArchiveProcessing_Day::getSqlRevenue('revenue_tax') . " as revenueTax, - " . Piwik_ArchiveProcessing_Day::getSqlRevenue('revenue_shipping') . " as revenueShipping, - " . Piwik_ArchiveProcessing_Day::getSqlRevenue('revenue_discount') . " as revenueDiscount, + " . Piwik_ArchiveProcessor_Day::getSqlRevenue('revenue') . " as revenue, + " . Piwik_ArchiveProcessor_Day::getSqlRevenue('revenue_subtotal') . " as revenueSubTotal, + " . Piwik_ArchiveProcessor_Day::getSqlRevenue('revenue_tax') . " as revenueTax, + " . Piwik_ArchiveProcessor_Day::getSqlRevenue('revenue_shipping') . " as revenueShipping, + " . Piwik_ArchiveProcessor_Day::getSqlRevenue('revenue_discount') . " as revenueDiscount, items as items, log_conversion.server_time as serverTimePretty @@ -578,7 +578,7 @@ class Piwik_Live_API log_action_sku.name as itemSKU, log_action_name.name as itemName, log_action_category.name as itemCategory, - " . Piwik_ArchiveProcessing_Day::getSqlRevenue('price') . " as price, + " . Piwik_ArchiveProcessor_Day::getSqlRevenue('price') . " as price, quantity as quantity FROM " . Piwik_Common::prefixTable('log_conversion_item') . " INNER JOIN " . Piwik_Common::prefixTable('log_action') . " AS log_action_sku diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php index 1cbcfc39b3..bf4250ff0e 100755 --- a/plugins/MultiSites/API.php +++ b/plugins/MultiSites/API.php @@ -232,18 +232,22 @@ class Piwik_MultiSites_API // if the period isn't a range & a lastN/previousN date isn't used, we get the same // data for the last period to show the evolution of visits/actions/revenue list($strLastDate, $lastPeriod) = Piwik_Period_Range::getLastDate($date, $period); - if ($strLastDate !== false) { + if ( + false && + + $strLastDate !== false) { if ($lastPeriod !== false) { // NOTE: no easy way to set last period date metadata when range of dates is requested. // will be easier if DataTable_Array::metadata is removed, and metadata that is // put there is put directly in Piwik_DataTable::metadata. $dataTable->setMetadata(self::getLastPeriodMetadataName('date'), $lastPeriod); } - $pastArchive = Piwik_Archive::build('all', $period, $strLastDate, $segment, $_restrictSitesToLogin); $pastData = $pastArchive->getDataTableFromNumeric($fieldsToGet); - $pastData = $pastData->mergeChildren(); + if(!($dataTable instanceof Piwik_DataTable_Simple)) { + $pastData = $pastData->mergeChildren(); + } // use past data to calculate evolution percentages $this->calculateEvolutionPercentages($dataTable, $pastData, $apiMetrics); @@ -315,7 +319,7 @@ class Piwik_MultiSites_API private function calculateEvolutionPercentages($currentData, $pastData, $apiMetrics) { if ($currentData instanceof Piwik_DataTable_Array) { - $pastArray = $pastData->getArray(); + $pastArray = $pastData->getRows(); foreach ($currentData->getArray() as $subTable) { $this->calculateEvolutionPercentages($subTable, current($pastArray), $apiMetrics); next($pastArray); diff --git a/plugins/MultiSites/Controller.php b/plugins/MultiSites/Controller.php index cb63dc5746..a4e5a98eab 100644 --- a/plugins/MultiSites/Controller.php +++ b/plugins/MultiSites/Controller.php @@ -68,50 +68,60 @@ class Piwik_MultiSites_Controller extends Piwik_Controller foreach ($siteIds as $idSite) { $isEcommerceEnabled = Piwik_Site::isEcommerceEnabledFor($idSite); - $digestableData[$idSite] = array( - 'idsite' => $idSite, - 'main_url' => Piwik_Site::getMainUrlFor($idSite), - 'name' => Piwik_Site::getNameFor($idSite), - 'visits' => 0, - 'pageviews' => 0 +// allSites[{$i}] = new setRowData( +// 0 {$site.idsite}, +// 1 {$site.visits}, +// 2 {$site.pageviews}, +// 3 {if empty($site.revenue)}0{else}{$site.revenue}{/if}, +// 4 '{$site.name|escape:"javascript"}', +// 5 '{$site.main_url|escape:"javascript"}', +// 6 '{if isset($site.visits_evolution)}{$site.visits_evolution|replace:",":"."}{/if}', +// 7 '{if isset($site.pageviews_evolution)}{$site.pageviews_evolution|replace:",":"."}{/if}', +// 8 '{if isset($site.revenue_evolution)}{$site.revenue_evolution|replace:",":"."}{/if}'); + + $siteData = array($idSite,0,0.0, + Piwik_Site::getMainUrlFor($idSite), + Piwik_Site::getNameFor($idSite), ); if ($period != 'range') { - $digestableData[$idSite]['visits_evolution'] = 0; - $digestableData[$idSite]['pageviews_evolution'] = 0; + $siteData[6] = 0; + $siteData[7] = 0; } if ($displayRevenueColumn) { $revenueDefault = $isEcommerceEnabled ? 0 : "'-'"; if ($period != 'range') { - $digestableData[$idSite]['revenue_evolution'] = $revenueDefault; + $siteData[8] = $revenueDefault; } } + $digestableData[$idSite] = $siteData; } foreach ($dataTable->getRows() as $row) { $idsite = (int)$row->getMetadata('idsite'); - $site = & $digestableData[$idsite]; + $siteData = array(); - $site['visits'] = (int)$row->getColumn('nb_visits'); - $site['pageviews'] = (int)$row->getColumn('nb_pageviews'); + $siteData[1] = (int)$row->getColumn('nb_visits');http://pastebin.com/raw.php?i=1dvHmEUA + $siteData[2] = (int)$row->getColumn('nb_pageviews'); if ($displayRevenueColumn) { if ($row->getColumn('revenue') !== false) { - $site['revenue'] = $row->getColumn('revenue'); + $siteData[3] = $row->getColumn('revenue'); } } if ($period != 'range') { - $site['visits_evolution'] = $row->getColumn('visits_evolution'); - $site['pageviews_evolution'] = $row->getColumn('pageviews_evolution'); + $siteData[6] = $row->getColumn('visits_evolution'); + $siteData[7] = $row->getColumn('pageviews_evolution'); if ($displayRevenueColumn) { - $site['revenue_evolution'] = $row->getColumn('revenue_evolution'); + $siteData[8] = $row->getColumn('revenue_evolution'); } } + $digestableData[$idsite] = array_merge($digestableData[$idsite], $siteData); } $this->applyPrettyMoney($digestableData); diff --git a/plugins/Provider/Archiver.php b/plugins/Provider/Archiver.php index 692c3a72d2..e90489f51a 100644 --- a/plugins/Provider/Archiver.php +++ b/plugins/Provider/Archiver.php @@ -22,6 +22,6 @@ class Piwik_Provider_Archiver extends Piwik_PluginsArchiver public function archivePeriod() { - $this->getProcessor()->archiveDataTable(array(self::PROVIDER_RECORD_NAME), null, $this->maximumRows); + $this->getProcessor()->aggregateDataTableReports(array(self::PROVIDER_RECORD_NAME), $this->maximumRows); } } \ No newline at end of file diff --git a/plugins/Referers/Archiver.php b/plugins/Referers/Archiver.php index ddae742131..47ce247550 100644 --- a/plugins/Referers/Archiver.php +++ b/plugins/Referers/Archiver.php @@ -189,7 +189,7 @@ class Piwik_Referers_Archiver extends Piwik_PluginsArchiver /** * Records the daily stats (numeric or datatable blob) into the archive tables. * - * @param Piwik_ArchiveProcessing $this->getProcessor() + * @param Piwik_ArchiveProcessor $this->getProcessor() */ protected function recordDayReports() { @@ -223,7 +223,7 @@ class Piwik_Referers_Archiver extends Piwik_PluginsArchiver public function archivePeriod() { $dataTableToSum = $this->getRecordNames(); - $nameToCount = $this->getProcessor()->archiveDataTable($dataTableToSum, null, $this->maximumRowsInDataTableLevelZero, $this->maximumRowsInSubDataTable, $this->columnToSortByBeforeTruncation); + $nameToCount = $this->getProcessor()->aggregateDataTableReports($dataTableToSum, $this->maximumRowsInDataTableLevelZero, $this->maximumRowsInSubDataTable, $this->columnToSortByBeforeTruncation); $mappingFromArchiveName = array( self::METRIC_DISTINCT_SEARCH_ENGINE_RECORD_NAME => diff --git a/plugins/SegmentEditor/SegmentEditor.php b/plugins/SegmentEditor/SegmentEditor.php index 3ac66afb1e..5af09785ae 100644 --- a/plugins/SegmentEditor/SegmentEditor.php +++ b/plugins/SegmentEditor/SegmentEditor.php @@ -45,9 +45,7 @@ class Piwik_SegmentEditor extends Piwik_Plugin public function getKnownSegmentsToArchiveAllSites($notification) { $segments =& $notification->getNotificationObject(); - $segmentsToAutoArchive = Piwik_SegmentEditor_API::getInstance()->getAll( - $idSite = false, $returnAutoArchived = true); - + $segmentsToAutoArchive = Piwik_SegmentEditor_API::getInstance()->getAll($idSite = false, $returnAutoArchived = true); foreach ($segmentsToAutoArchive as $segment) { $segments[] = $segment['definition']; } diff --git a/plugins/Transitions/API.php b/plugins/Transitions/API.php index 897b14923a..7e17fa2996 100644 --- a/plugins/Transitions/API.php +++ b/plugins/Transitions/API.php @@ -62,10 +62,10 @@ class Piwik_Transitions_API } // prepare archive processing that can be used by the archiving code - $archiveProcessing = new Piwik_ArchiveProcessing_Day(); - $archiveProcessing->setSite(new Piwik_Site($idSite)); - $archiveProcessing->setPeriod(Piwik_Period::advancedFactory($period, $date)); - $archiveProcessing->setSegment(new Piwik_Segment($segment, $idSite)); + $segment = new Piwik_Segment($segment, $idSite); + $site = new Piwik_Site($idSite); + $period = Piwik_Period::advancedFactory($period, $date); + $archiveProcessing = Piwik_ArchiveProcessor::factory($period, $site, $segment); // prepare the report $report = array( diff --git a/plugins/Transitions/Transitions.php b/plugins/Transitions/Transitions.php index b92ef87b8c..b887669a70 100644 --- a/plugins/Transitions/Transitions.php +++ b/plugins/Transitions/Transitions.php @@ -64,7 +64,7 @@ class Piwik_Transitions extends Piwik_Plugin * * @param $idaction * @param $actionType - * @param Piwik_ArchiveProcessing_Day $archiveProcessing + * @param Piwik_ArchiveProcessor_Day $archiveProcessing * @param $limitBeforeGrouping * @return Piwik_DataTable */ @@ -130,7 +130,7 @@ class Piwik_Transitions extends Piwik_Plugin //FIXMEA refactor after integration tests written $array = new Piwik_DataArray($referrerData, $referrerSubData); - return Piwik_ArchiveProcessing_Day::getDataTableFromDataArray($array); + return Piwik_ArchiveProcessor_Day::getDataTableFromDataArray($array); } /** @@ -138,7 +138,7 @@ class Piwik_Transitions extends Piwik_Plugin * * @param $idaction * @param $actionType - * @param Piwik_ArchiveProcessing_Day $archiveProcessing + * @param Piwik_ArchiveProcessor_Day $archiveProcessing * @param $limitBeforeGrouping * @return array(previousPages:Piwik_DataTable, loops:integer) */ @@ -257,12 +257,12 @@ class Piwik_Transitions extends Piwik_Plugin * * @param $idaction * @param $actionType - * @param Piwik_ArchiveProcessing_Day $archiveProcessing + * @param Piwik_ArchiveProcessor_Day $archiveProcessing * @param $limitBeforeGrouping * @param $includeLoops * @return array(followingPages:Piwik_DataTable, outlinks:Piwik_DataTable, downloads:Piwik_DataTable) */ - public function queryFollowingActions($idaction, $actionType, Piwik_ArchiveProcessing_Day $archiveProcessing, + public function queryFollowingActions($idaction, $actionType, Piwik_ArchiveProcessor_Day $archiveProcessing, $limitBeforeGrouping = false, $includeLoops = false) { $types = array(); diff --git a/plugins/UserCountry/Archiver.php b/plugins/UserCountry/Archiver.php index fb69e89ff8..33f7d28e90 100644 --- a/plugins/UserCountry/Archiver.php +++ b/plugins/UserCountry/Archiver.php @@ -124,15 +124,15 @@ class Piwik_UserCountry_Archiver extends Piwik_PluginsArchiver protected function recordDayReports() { - $tableCountry = Piwik_ArchiveProcessing_Day::getDataTableFromDataArray($this->arrays[self::COUNTRY_FIELD]); + $tableCountry = Piwik_ArchiveProcessor_Day::getDataTableFromDataArray($this->arrays[self::COUNTRY_FIELD]); $this->getProcessor()->insertBlobRecord(self::COUNTRY_RECORD_NAME, $tableCountry->getSerialized()); $this->getProcessor()->insertNumericRecord(self::DISTINCT_COUNTRIES_METRIC, $tableCountry->getRowsCount()); - $tableRegion = Piwik_ArchiveProcessing_Day::getDataTableFromDataArray($this->arrays[self::REGION_FIELD]); + $tableRegion = Piwik_ArchiveProcessor_Day::getDataTableFromDataArray($this->arrays[self::REGION_FIELD]); $serialized = $tableRegion->getSerialized($this->maximumRows, $this->maximumRows, Piwik_Archive::INDEX_NB_VISITS); $this->getProcessor()->insertBlobRecord(self::REGION_RECORD_NAME, $serialized); - $tableCity = Piwik_ArchiveProcessing_Day::getDataTableFromDataArray($this->arrays[self::CITY_FIELD]); + $tableCity = Piwik_ArchiveProcessor_Day::getDataTableFromDataArray($this->arrays[self::CITY_FIELD]); $this->setLatitudeLongitude($tableCity); $serialized = $tableCity->getSerialized($this->maximumRows, $this->maximumRows, Piwik_Archive::INDEX_NB_VISITS); $this->getProcessor()->insertBlobRecord(self::CITY_RECORD_NAME, $serialized); @@ -167,7 +167,7 @@ class Piwik_UserCountry_Archiver extends Piwik_PluginsArchiver self::CITY_RECORD_NAME, ); - $nameToCount = $this->getProcessor()->archiveDataTable($dataTableToSum); + $nameToCount = $this->getProcessor()->aggregateDataTableReports($dataTableToSum); $this->getProcessor()->insertNumericRecord(self::DISTINCT_COUNTRIES_METRIC, $nameToCount[self::COUNTRY_RECORD_NAME]['level0']); } diff --git a/plugins/UserSettings/Archiver.php b/plugins/UserSettings/Archiver.php index a27db178ca..91df3d2c0c 100644 --- a/plugins/UserSettings/Archiver.php +++ b/plugins/UserSettings/Archiver.php @@ -146,7 +146,7 @@ class Piwik_UserSettings_Archiver extends Piwik_PluginsArchiver self::PLUGIN_RECORD_NAME, self::LANGUAGE_RECORD_NAME, ); - $this->getProcessor()->archiveDataTable($dataTableToSum, null, $this->maximumRows); + $this->getProcessor()->aggregateDataTableReports($dataTableToSum, $this->maximumRows); } } diff --git a/plugins/VisitTime/API.php b/plugins/VisitTime/API.php index 637aa97cbc..65952ba24d 100644 --- a/plugins/VisitTime/API.php +++ b/plugins/VisitTime/API.php @@ -74,14 +74,15 @@ class Piwik_VisitTime_API } // metrics to query - $metrics = Piwik_ArchiveProcessing::getCoreMetrics(); + $metrics = Piwik_Archive::getVisitsMetricNames(); + unset($metrics[Piwik_Archive::INDEX_MAX_ACTIONS]); // get metric data for every day within the supplied period $oPeriod = Piwik_Archive::makePeriodFromQueryParams(Piwik_Site::getTimezoneFor($idSite), $period, $date); $dateRange = $oPeriod->getDateStart()->toString() . ',' . $oPeriod->getDateEnd()->toString(); $archive = Piwik_Archive::build($idSite, 'day', $dateRange, $segment); - $dataTable = $archive->getDataTableFromNumeric($metrics)->mergeChildren(); + $dataTable = $archive->getDataTableFromNumeric($metrics); // if there's no data for this report, don't bother w/ anything else // TODO: with changes to getDataTableFromNumeric, this code would have to check if every row has 0 column values. is it really necessary? (assuming no for now) diff --git a/plugins/VisitTime/Archiver.php b/plugins/VisitTime/Archiver.php index af811e0d2f..2f11c61d2a 100644 --- a/plugins/VisitTime/Archiver.php +++ b/plugins/VisitTime/Archiver.php @@ -46,7 +46,7 @@ class Piwik_VisitTime_Archiver extends Piwik_PluginsArchiver protected function convertTimeToLocalTimezone(Piwik_DataArray &$array) { - $date = Piwik_Date::factory($this->getProcessor()->getStartDatetimeUTC())->toString(); + $date = Piwik_Date::factory($this->getProcessor()->getDateStart()->getDateStartUTC())->toString(); $timezone = $this->getProcessor()->getSite()->getTimezone(); $converted = array(); @@ -75,6 +75,6 @@ class Piwik_VisitTime_Archiver extends Piwik_PluginsArchiver self::LOCAL_TIME_RECORD_NAME, self::SERVER_TIME_RECORD_NAME, ); - $this->getProcessor()->archiveDataTable($dataTableToSum); + $this->getProcessor()->aggregateDataTableReports($dataTableToSum); } } \ No newline at end of file diff --git a/plugins/VisitorGenerator/Controller.php b/plugins/VisitorGenerator/Controller.php index 54ebc3aea0..acebd0a2fc 100644 --- a/plugins/VisitorGenerator/Controller.php +++ b/plugins/VisitorGenerator/Controller.php @@ -76,7 +76,7 @@ class Piwik_VisitorGenerator_Controller extends Piwik_Controller_Admin $api = Piwik_CoreAdminHome_API::getInstance(); $api->invalidateArchivedReports($idSite, implode($dates, ",")); - $browserArchiving = Piwik_ArchiveProcessing::isBrowserTriggerArchivingEnabled(); + $browserArchiving = Piwik_ArchiveProcessor_Rules::isBrowserTriggerEnabled(); // Init view $view = Piwik_View::factory('generate'); diff --git a/plugins/VisitorInterest/Archiver.php b/plugins/VisitorInterest/Archiver.php index 5f0a15d3d0..6cbeb82317 100644 --- a/plugins/VisitorInterest/Archiver.php +++ b/plugins/VisitorInterest/Archiver.php @@ -141,6 +141,6 @@ class Piwik_VisitorInterest_Archiver extends Piwik_PluginsArchiver self::VISITS_COUNT_RECORD_NAME, self::DAYS_SINCE_LAST_RECORD_NAME ); - $this->getProcessor()->archiveDataTable($dataTableToSum); + $this->getProcessor()->aggregateDataTableReports($dataTableToSum); } } \ No newline at end of file diff --git a/plugins/VisitsSummary/VisitsSummary.php b/plugins/VisitsSummary/VisitsSummary.php index 87b320c947..0744b0424a 100644 --- a/plugins/VisitsSummary/VisitsSummary.php +++ b/plugins/VisitsSummary/VisitsSummary.php @@ -12,7 +12,7 @@ /** * Note: This plugin does not hook on Daily and Period Archiving like other Plugins because it reports the * very core metrics (visits, actions, visit duration, etc.) which are processed in the Core - * Piwik_ArchiveProcessing_Day class directly. + * Piwik_ArchiveProcessor_Day class directly. * These metrics can be used by other Plugins so they need to be processed up front. * * @package Piwik_VisitsSummary -- cgit v1.2.3