Пример #1
0
 /**
  * Records in the DB the archived reports for Page views, Downloads, Outlinks, and Page titles
  *
  * @param $archiveProcessing
  */
 protected function archiveDayRecordInDatabase($archiveProcessing)
 {
     Piwik_Actions_ArchivingHelper::clearActionsCache();
     /** @var Piwik_DataTable $dataTable */
     $dataTable = $this->actionsTablesByType[Piwik_Tracker_Action::TYPE_ACTION_URL];
     self::deleteInvalidSummedColumnsFromDataTable($dataTable);
     $s = $dataTable->getSerialized(Piwik_Actions_ArchivingHelper::$maximumRowsInDataTableLevelZero, Piwik_Actions_ArchivingHelper::$maximumRowsInSubDataTable, Piwik_Actions_ArchivingHelper::$columnToSortByBeforeTruncation);
     $archiveProcessing->insertBlobRecord('Actions_actions_url', $s);
     $archiveProcessing->insertNumericRecord('Actions_nb_pageviews', array_sum($dataTable->getColumn(Piwik_Archive::INDEX_PAGE_NB_HITS)));
     $archiveProcessing->insertNumericRecord('Actions_nb_uniq_pageviews', array_sum($dataTable->getColumn(Piwik_Archive::INDEX_NB_VISITS)));
     destroy($dataTable);
     $dataTable = $this->actionsTablesByType[Piwik_Tracker_Action::TYPE_DOWNLOAD];
     self::deleteInvalidSummedColumnsFromDataTable($dataTable);
     $s = $dataTable->getSerialized(Piwik_Actions_ArchivingHelper::$maximumRowsInDataTableLevelZero, Piwik_Actions_ArchivingHelper::$maximumRowsInSubDataTable, Piwik_Actions_ArchivingHelper::$columnToSortByBeforeTruncation);
     $archiveProcessing->insertBlobRecord('Actions_downloads', $s);
     $archiveProcessing->insertNumericRecord('Actions_nb_downloads', array_sum($dataTable->getColumn(Piwik_Archive::INDEX_PAGE_NB_HITS)));
     $archiveProcessing->insertNumericRecord('Actions_nb_uniq_downloads', array_sum($dataTable->getColumn(Piwik_Archive::INDEX_NB_VISITS)));
     destroy($dataTable);
     $dataTable = $this->actionsTablesByType[Piwik_Tracker_Action::TYPE_OUTLINK];
     self::deleteInvalidSummedColumnsFromDataTable($dataTable);
     $s = $dataTable->getSerialized(Piwik_Actions_ArchivingHelper::$maximumRowsInDataTableLevelZero, Piwik_Actions_ArchivingHelper::$maximumRowsInSubDataTable, Piwik_Actions_ArchivingHelper::$columnToSortByBeforeTruncation);
     $archiveProcessing->insertBlobRecord('Actions_outlink', $s);
     $archiveProcessing->insertNumericRecord('Actions_nb_outlinks', array_sum($dataTable->getColumn(Piwik_Archive::INDEX_PAGE_NB_HITS)));
     $archiveProcessing->insertNumericRecord('Actions_nb_uniq_outlinks', array_sum($dataTable->getColumn(Piwik_Archive::INDEX_NB_VISITS)));
     destroy($dataTable);
     $dataTable = $this->actionsTablesByType[Piwik_Tracker_Action::TYPE_ACTION_NAME];
     self::deleteInvalidSummedColumnsFromDataTable($dataTable);
     $s = $dataTable->getSerialized(Piwik_Actions_ArchivingHelper::$maximumRowsInDataTableLevelZero, Piwik_Actions_ArchivingHelper::$maximumRowsInSubDataTable, Piwik_Actions_ArchivingHelper::$columnToSortByBeforeTruncation);
     $archiveProcessing->insertBlobRecord('Actions_actions', $s);
     destroy($dataTable);
     $dataTable = $this->actionsTablesByType[Piwik_Tracker_Action::TYPE_SITE_SEARCH];
     self::deleteInvalidSummedColumnsFromDataTable($dataTable);
     $this->deleteUnusedColumnsFromKeywordsDataTable($dataTable);
     $s = $dataTable->getSerialized(Piwik_Actions_ArchivingHelper::$maximumRowsInDataTableLevelZero, Piwik_Actions_ArchivingHelper::$maximumRowsInSubDataTable, Piwik_Actions_ArchivingHelper::$columnToSortByBeforeTruncation);
     $archiveProcessing->insertBlobRecord('Actions_sitesearch', $s);
     $archiveProcessing->insertNumericRecord('Actions_nb_searches', array_sum($dataTable->getColumn(Piwik_Archive::INDEX_NB_VISITS)));
     $archiveProcessing->insertNumericRecord('Actions_nb_keywords', $dataTable->getRowsCount());
     destroy($dataTable);
     destroy($this->actionsTablesByType);
 }