16 import(
'lib.pkp.classes.statistics.PKPMetricsDAO');
23 function &
getMetrics($metricType, $columns = array(), $filters = array(), $orderBy = array(), $range =
null, $nonAdditive =
true) {
26 $worker = array(&$columns, &$filters, &$orderBy);
27 foreach ($worker as &$parameter) {
28 if ($parameter === $filters && array_key_exists(STATISTICS_DIMENSION_ISSUE_ID, $parameter)) {
29 $parameter[STATISTICS_DIMENSION_ASSOC_OBJECT_TYPE] = ASSOC_TYPE_ISSUE;
32 $key = array_search(STATISTICS_DIMENSION_ISSUE_ID, $parameter);
34 $parameter[] = STATISTICS_DIMENSION_ASSOC_OBJECT_TYPE;
39 return parent::getMetrics($metricType, $columns, $filters, $orderBy, $range, $nonAdditive);
46 list($contextId, $sectionId, $assocObjType,
47 $assocObjId, $submissionId, $representationId) = parent::foreignKeyLookup($assocType, $assocId);
53 case ASSOC_TYPE_ISSUE_GALLEY:
55 $issueGalley = $issueGalleyDao->getById($assocId);
57 throw new Exception(
'Cannot load record: invalid issue galley id.');
60 $assocObjType = ASSOC_TYPE_ISSUE;
61 $assocObjId = $issueGalley->getIssueId();
64 case ASSOC_TYPE_ISSUE:
66 $assocObjType = $assocObjId =
null;
69 $issueId = $assocObjId;
73 $issue = $issueDao->getById($issueId);
76 throw new Exception(
'Cannot load record: invalid issue id.');
79 $contextId = $issue->getJournalId();
84 return array($contextId, $sectionId, $assocObjType, $assocObjId, $submissionId, $representationId);
91 $returnArray = parent::getAssocObjectInfo($submissionId, $contextId);
94 $submission =
Services::get(
'submission')->get($submissionId);
95 if ($submission->getCurrentPublication()->getData(
'issueId')) {
96 $returnArray = array(ASSOC_TYPE_ISSUE, $submission->getCurrentPublication()->getData(
'issueId'));