Open Monograph Press  3.3.0
StatsHandler.inc.php
1 <?php
2 
16 import('lib.pkp.pages.stats.PKPStatsHandler');
17 
22  public function __construct() {
23  parent::__construct();
24  HookRegistry::register ('TemplateManager::display', array($this, 'addSectionFilters'));
25  }
26 
35  public function addSectionFilters($hookName, $args) {
36  $templateMgr = $args[0];
37  $template = $args[1];
38 
39  if (!in_array($template, ['stats/publications.tpl', 'stats/editorial.tpl'])) {
40  return;
41  }
42 
43  $context = Application::get()->getRequest()->getContext();
44  if (!$context) {
45  return;
46  }
47 
48  $seriesFilters = [];
49  $result = \DAORegistry::getDAO('SeriesDAO')->getByContextId($context->getId());
50  while ($series = $result->next()) {
51  $seriesFilters[] = [
52  'param' => 'seriesIds',
53  'value' => $series->getId(),
54  'title' => $series->getLocalizedTitle(),
55  ];
56  }
57 
58  if (empty($seriesFilters)) {
59  return;
60  }
61 
62  $filters = $templateMgr->getState('filters');
63  if (is_null($filters)) {
64  $filters = [];
65  }
66 
67  $filters[] = [
68  'heading' => __('series.series'),
69  'filters' => $seriesFilters,
70  ];
71  $templateMgr->setState([
72  'filters' => $filters
73  ]);
74  }
75 }
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
StatsHandler\__construct
__construct()
Definition: StatsHandler.inc.php:22
StatsHandler\addSectionFilters
addSectionFilters($hookName, $args)
Definition: StatsHandler.inc.php:35
StatsHandler
Handle requests for statistics pages.
Definition: StatsHandler.inc.php:18
PKPStatsHandler
Handle requests for statistics pages.
Definition: PKPStatsHandler.inc.php:19
HookRegistry\register
static register($hookName, $callback, $hookSequence=HOOK_SEQUENCE_NORMAL)
Definition: HookRegistry.inc.php:70
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235