17 import(
'plugins.generic.usageStats.PKPUsageStatsReportPlugin');
19 define(
'OJS_METRIC_TYPE_COUNTER',
'ojs::counter');
26 function getMetrics($metricType =
null, $columns =
null, $filters =
null, $orderBy =
null, $range =
null) {
28 if (!(is_scalar($metricType) || count($metricType) === 1))
return null;
29 if (is_array($metricType)) $metricType = array_pop($metricType);
30 if ($metricType !== OJS_METRIC_TYPE_COUNTER)
return null;
32 return parent::getMetrics($metricType, $columns, $filters, $orderBy, $range);
39 return array(OJS_METRIC_TYPE_COUNTER);
46 if ($metricType !== OJS_METRIC_TYPE_COUNTER)
return null;
47 return parent::getMetricDisplayType($metricType);
54 if ($metricType !== OJS_METRIC_TYPE_COUNTER)
return null;
55 return parent::getMetricDisplayType($metricType);
62 if ($metricType !== OJS_METRIC_TYPE_COUNTER)
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_ISSUE_ID,
70 STATISTICS_DIMENSION_CONTEXT_ID,
71 STATISTICS_DIMENSION_CITY,
72 STATISTICS_DIMENSION_REGION,
73 STATISTICS_DIMENSION_COUNTRY,
74 STATISTICS_DIMENSION_DAY,
75 STATISTICS_DIMENSION_MONTH,
84 if ($metricType !== OJS_METRIC_TYPE_COUNTER)
return array();
88 ASSOC_TYPE_ISSUE_GALLEY,
89 ASSOC_TYPE_SUBMISSION,
90 ASSOC_TYPE_SUBMISSION_FILE
98 $reports = parent::getDefaultReportTemplates($metricTypes);
100 $reports[0][
'nameLocaleKey'] =
'manager.statistics.reports.defaultReport.journalIndexPageViews';
102 $contextReportTemplate = current($reports);
103 $metricType = $contextReportTemplate[
'metricType'];
107 $columns = array(STATISTICS_DIMENSION_ASSOC_TYPE,
108 STATISTICS_DIMENSION_ASSOC_ID,
109 STATISTICS_DIMENSION_ISSUE_ID,
110 STATISTICS_DIMENSION_SUBMISSION_ID,
111 STATISTICS_DIMENSION_MONTH,
112 STATISTICS_DIMENSION_COUNTRY);
113 $filter = array(STATISTICS_DIMENSION_ASSOC_TYPE => ASSOC_TYPE_SUBMISSION_FILE);
114 array_unshift($reports, array(
'nameLocaleKey' =>
'manager.statistics.reports.defaultReport.articleDownloads',
115 'metricType' => $metricType,
'columns' => $columns,
'filter' => $filter,
116 'aggregationColumns' => $aggregationColumns));
119 $filter = array(STATISTICS_DIMENSION_ASSOC_TYPE => ASSOC_TYPE_SUBMISSION);
120 array_unshift($reports, array(
'nameLocaleKey' =>
'manager.statistics.reports.defaultReport.articleAbstract',
121 'metricType' => $metricType,
'columns' => $columns,
'filter' => $filter,
122 'aggregationColumns' => $aggregationColumns));
125 $columns = array(STATISTICS_DIMENSION_ASSOC_TYPE,
126 STATISTICS_DIMENSION_MONTH,
127 STATISTICS_DIMENSION_COUNTRY);
128 $filter = array(STATISTICS_DIMENSION_ASSOC_TYPE => ASSOC_TYPE_ISSUE);
129 array_unshift($reports, array(
'nameLocaleKey' =>
'manager.statistics.reports.defaultReport.issuePageViews',
130 'metricType' => $metricType,
'columns' => $columns,
'filter' => $filter,
131 'aggregationColumns' => $aggregationColumns));