Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/DevicePlugins/Archiver.php')
-rw-r--r--plugins/DevicePlugins/Archiver.php27
1 files changed, 15 insertions, 12 deletions
diff --git a/plugins/DevicePlugins/Archiver.php b/plugins/DevicePlugins/Archiver.php
index acec8c0cde..1bc8cffa21 100644
--- a/plugins/DevicePlugins/Archiver.php
+++ b/plugins/DevicePlugins/Archiver.php
@@ -12,6 +12,7 @@ namespace Piwik\Plugins\DevicePlugins;
use Piwik\DataAccess\LogAggregator;
use Piwik\DataTable;
use Piwik\Metrics;
+use Piwik\Plugins\DevicePlugins\Columns\DevicePluginColumn;
require_once PIWIK_INCLUDE_PATH . '/plugins/DevicePlugins/functions.php';
@@ -52,20 +53,22 @@ class Archiver extends \Piwik\Plugin\Archiver
);
}
+ /**
+ * Archives reports for all available plugin columns
+ * @see DevicePluginColumn
+ */
protected function aggregateByPlugin()
{
- $selects = array(
- "sum(case log_visit.config_pdf when 1 then 1 else 0 end) as pdf",
- "sum(case log_visit.config_flash when 1 then 1 else 0 end) as flash",
- "sum(case log_visit.config_java when 1 then 1 else 0 end) as java",
- "sum(case log_visit.config_director when 1 then 1 else 0 end) as director",
- "sum(case log_visit.config_quicktime when 1 then 1 else 0 end) as quicktime",
- "sum(case log_visit.config_realplayer when 1 then 1 else 0 end) as realplayer",
- "sum(case log_visit.config_windowsmedia when 1 then 1 else 0 end) as windowsmedia",
- "sum(case log_visit.config_gears when 1 then 1 else 0 end) as gears",
- "sum(case log_visit.config_silverlight when 1 then 1 else 0 end) as silverlight",
- "sum(case log_visit.config_cookie when 1 then 1 else 0 end) as cookie"
- );
+ $selects = array();
+ $columns = DevicePlugins::getAllPluginColumns();
+
+ foreach ($columns as $column) {
+ $selects[] = sprintf(
+ "sum(case log_visit.%s when 1 then 1 else 0 end) as %s",
+ $column->getColumnName(),
+ substr($column->getColumnName(), 7) // remove leading `config_`
+ );
+ }
$query = $this->getLogAggregator()->queryVisitsByDimension(array(), false, $selects, $metrics = array());
$data = $query->fetch();