Open Journal Systems  3.3.0
OPSUsageStatsReportPlugin.inc.php
1 <?php
2 
17 import('plugins.generic.usageStats.PKPUsageStatsReportPlugin');
18 
19 define('OPS_METRIC_TYPE_COUNTER', 'ops::counter');
20 
22 
26  function getMetrics($metricType = null, $columns = null, $filters = null, $orderBy = null, $range = null) {
27  // Validate the metric type.
28  if (!(is_scalar($metricType) || count($metricType) === 1)) return null;
29  if (is_array($metricType)) $metricType = array_pop($metricType);
30  if ($metricType !== OPS_METRIC_TYPE_COUNTER) return null;
31 
32  return parent::getMetrics($metricType, $columns, $filters, $orderBy, $range);
33  }
34 
38  function getMetricTypes() {
39  return array(OPS_METRIC_TYPE_COUNTER);
40  }
41 
45  function getMetricDisplayType($metricType) {
46  if ($metricType !== OPS_METRIC_TYPE_COUNTER) return null;
47  return parent::getMetricDisplayType($metricType);
48  }
49 
53  function getMetricFullName($metricType) {
54  if ($metricType !== OPS_METRIC_TYPE_COUNTER) return null;
55  return parent::getMetricDisplayType($metricType);
56  }
57 
61  function getColumns($metricType) {
62  if ($metricType !== OPS_METRIC_TYPE_COUNTER) return array();
63  return array(
64  STATISTICS_DIMENSION_ASSOC_ID,
65  STATISTICS_DIMENSION_ASSOC_TYPE,
66  STATISTICS_DIMENSION_FILE_TYPE,
67  STATISTICS_DIMENSION_REPRESENTATION_ID,
68  STATISTICS_DIMENSION_SUBMISSION_ID,
69  STATISTICS_DIMENSION_CONTEXT_ID,
70  STATISTICS_DIMENSION_CITY,
71  STATISTICS_DIMENSION_REGION,
72  STATISTICS_DIMENSION_COUNTRY,
73  STATISTICS_DIMENSION_DAY,
74  STATISTICS_DIMENSION_MONTH,
75  STATISTICS_METRIC
76  );
77  }
78 
82  function getObjectTypes($metricType) {
83  if ($metricType !== OPS_METRIC_TYPE_COUNTER) return array();
84  return array(
86  ASSOC_TYPE_SUBMISSION,
87  ASSOC_TYPE_SUBMISSION_FILE
88  );
89  }
90 
94  function getDefaultReportTemplates($metricTypes = null) {
95  $reports = parent::getDefaultReportTemplates($metricTypes);
96  // Define the press report template.
97  $reports[0]['nameLocaleKey'] = 'manager.statistics.reports.defaultReport.journalIndexPageViews';
98 
99  $contextReportTemplate = current($reports);
100  $metricType = $contextReportTemplate['metricType'];
101  $aggregationColumns = $this->getAggregationColumns();
102 
103  // Article file downloads.
104  $columns = array(STATISTICS_DIMENSION_ASSOC_TYPE,
105  STATISTICS_DIMENSION_ASSOC_ID,
106  STATISTICS_DIMENSION_SUBMISSION_ID,
107  STATISTICS_DIMENSION_MONTH,
108  STATISTICS_DIMENSION_COUNTRY);
109  $filter = array(STATISTICS_DIMENSION_ASSOC_TYPE => ASSOC_TYPE_SUBMISSION_FILE);
110  array_unshift($reports, array('nameLocaleKey' => 'manager.statistics.reports.defaultReport.articleDownloads',
111  'metricType' => $metricType, 'columns' => $columns, 'filter' => $filter,
112  'aggregationColumns' => $aggregationColumns));
113 
114  // Article abstract views.
115  $filter = array(STATISTICS_DIMENSION_ASSOC_TYPE => ASSOC_TYPE_SUBMISSION);
116  array_unshift($reports, array('nameLocaleKey' => 'manager.statistics.reports.defaultReport.articleAbstract',
117  'metricType' => $metricType, 'columns' => $columns, 'filter' => $filter,
118  'aggregationColumns' => $aggregationColumns));
119 
120  return $reports;
121  }
122 }
123 
PKPUsageStatsReportPlugin\getAggregationColumns
getAggregationColumns()
Definition: PKPUsageStatsReportPlugin.inc.php:149
OPSUsageStatsReportPlugin\getMetricTypes
getMetricTypes()
Definition: OPSUsageStatsReportPlugin.inc.php:38
PKPUsageStatsReportPlugin
OJS default statistics report plugin (and metrics provider)
Definition: PKPUsageStatsReportPlugin.inc.php:19
OPSUsageStatsReportPlugin\getObjectTypes
getObjectTypes($metricType)
Definition: OPSUsageStatsReportPlugin.inc.php:82
OPSUsageStatsReportPlugin\getMetrics
getMetrics($metricType=null, $columns=null, $filters=null, $orderBy=null, $range=null)
Definition: OPSUsageStatsReportPlugin.inc.php:26
OPSUsageStatsReportPlugin
OPS default statistics report plugin (and metrics provider)
Definition: OPSUsageStatsReportPlugin.inc.php:21
Application\getContextAssocType
static getContextAssocType()
Definition: Application.inc.php:199
OPSUsageStatsReportPlugin\getMetricFullName
getMetricFullName($metricType)
Definition: OPSUsageStatsReportPlugin.inc.php:53
OPSUsageStatsReportPlugin\getColumns
getColumns($metricType)
Definition: OPSUsageStatsReportPlugin.inc.php:61
OPSUsageStatsReportPlugin\getDefaultReportTemplates
getDefaultReportTemplates($metricTypes=null)
Definition: OPSUsageStatsReportPlugin.inc.php:94
OPSUsageStatsReportPlugin\getMetricDisplayType
getMetricDisplayType($metricType)
Definition: OPSUsageStatsReportPlugin.inc.php:45