16 import(
'lib.pkp.plugins.generic.usageEvent.PKPUsageEventPlugin');
28 return array_merge(parent::getEventHooks(), array(
29 'PreprintHandler::download',
30 'HtmlArticleGalleyPlugin::articleDownload',
31 'HtmlArticleGalleyPlugin::articleDownloadFinished'
39 return array_merge(parent::getDownloadFinishedEventHooks(), array(
40 'HtmlArticleGalleyPlugin::articleDownloadFinished'
48 list($pubObject, $downloadSuccess, $assocType, $idParams, $canonicalUrlPage, $canonicalUrlOp, $canonicalUrlParams) =
49 parent::getUsageEventData($hookName, $hookArgs,
$request, $router, $templateMgr, $context);
54 case 'TemplateManager::display':
55 $page = $router->getRequestedPage(
$request);
57 $args = $router->getRequestedArgs(
$request);
59 $wantedPages = array(
'preprint');
60 $wantedOps = array(
'index',
'view');
62 if (!in_array($page, $wantedPages) || !in_array(
$op, $wantedOps))
break;
68 if (
$op ==
'view' && count($args) > 1)
break;
70 $journal = $templateMgr->getTemplateVars(
'currentContext');
71 $submission = $templateMgr->getTemplateVars(
'preprint');
74 if (!$journal && !$submission)
break;
77 $pubObject = $journal;
78 $assocType = ASSOC_TYPE_JOURNAL;
83 $pubObject = $submission;
84 $assocType = ASSOC_TYPE_SUBMISSION;
85 $canonicalUrlParams = array($pubObject->getId());
86 $idParams = array(
'm' . $pubObject->getId());
89 $downloadSuccess =
true;
90 $canonicalUrlOp =
$op;
94 case 'PreprintHandler::download':
95 case 'HtmlArticleGalleyPlugin::articleDownload':
96 $assocType = ASSOC_TYPE_SUBMISSION_FILE;
97 $preprint = $hookArgs[0];
98 $galley = $hookArgs[1];
99 $fileId = $hookArgs[2];
101 if ($galley->getFileId() != $fileId)
return false;
102 $canonicalUrlOp =
'download';
103 $canonicalUrlParams = array($preprint->getId(), $galley->getId(), $fileId);
104 $idParams = array(
'a' . $preprint->getId(),
'g' . $galley->getId(),
'f' . $fileId);
105 $downloadSuccess =
false;
107 $pubObject = $submissionFileDao->getLatestRevision($fileId);
115 return array($pubObject, $downloadSuccess, $assocType, $idParams, $canonicalUrlPage, $canonicalUrlOp, $canonicalUrlParams);
124 ASSOC_TYPE_SUBMISSION,
132 return is_a($pubObject,
'Submission');