Open Journal Systems  3.3.0
ReportPlugin.inc.php
1 <?php
2 
16 import('lib.pkp.classes.plugins.Plugin');
17 
18 abstract class ReportPlugin extends Plugin {
19 
20  //
21  // Public methods to be implemented by subclasses.
22  //
40  function getMetrics($metricType = null, $columns = array(), $filters = array(), $orderBy = array(), $range = null) {
41  return null;
42  }
43 
50  function getMetricTypes() {
51  return array();
52  }
53 
60  function getMetricDisplayType($metricType) {
61  return null;
62  }
63 
71  function getMetricFullName($metricType) {
72  return null;
73  }
74 
82  function getColumns($metricType) {
83  return null;
84  }
85 
93  function getOptionalColumns($metricType) {
94  return array();
95  }
96 
104  function getObjectTypes($metricType) {
105  return null;
106  }
107 
117  function getDefaultReportTemplates($metricTypes = null) {
118  return array();
119  }
120 
121 
122  //
123  // Public methods.
124  //
128  function getActions($request, $actionArgs) {
129  $dispatcher = $request->getDispatcher();
130  import('lib.pkp.classes.linkAction.request.RedirectAction');
131  return array_merge(
132  $this->getEnabled()?array(
133  new LinkAction(
134  'settings',
135  new RedirectAction($dispatcher->url(
136  $request, ROUTE_PAGE,
137  null, 'management', 'tools', 'report', array('pluginName' => $this->getName())
138  )),
139  __('manager.statistics.reports'),
140  null
141  )
142  ):array(),
143  parent::getActions($request, $actionArgs)
144  );
145  }
146 }
147 
148 
ReportPlugin\getDefaultReportTemplates
getDefaultReportTemplates($metricTypes=null)
Definition: ReportPlugin.inc.php:117
ReportPlugin\getOptionalColumns
getOptionalColumns($metricType)
Definition: ReportPlugin.inc.php:93
Plugin\getName
getName()
ReportPlugin\getMetricTypes
getMetricTypes()
Definition: ReportPlugin.inc.php:50
ReportPlugin\getMetricDisplayType
getMetricDisplayType($metricType)
Definition: ReportPlugin.inc.php:60
Plugin\getEnabled
getEnabled()
Definition: Plugin.inc.php:868
ReportPlugin
Abstract class for report plugins.
Definition: ReportPlugin.inc.php:18
LinkAction
Base class defining an action that can be performed by the user in the user interface.
Definition: LinkAction.inc.php:22
RedirectAction
This action request redirects to another page.
Definition: RedirectAction.inc.php:18
ReportPlugin\getActions
getActions($request, $actionArgs)
Definition: ReportPlugin.inc.php:128
Plugin
Abstract class for plugins.
Definition: Plugin.inc.php:51
ReportPlugin\getMetrics
getMetrics($metricType=null, $columns=array(), $filters=array(), $orderBy=array(), $range=null)
Definition: ReportPlugin.inc.php:40
Plugin\$request
$request
Definition: Plugin.inc.php:68
ReportPlugin\getMetricFullName
getMetricFullName($metricType)
Definition: ReportPlugin.inc.php:71
ReportPlugin\getObjectTypes
getObjectTypes($metricType)
Definition: ReportPlugin.inc.php:104
ReportPlugin\getColumns
getColumns($metricType)
Definition: ReportPlugin.inc.php:82