diff options
Diffstat (limited to 'plugins/DevicePlugins/Archiver.php')
-rw-r--r-- | plugins/DevicePlugins/Archiver.php | 27 |
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(); |