16 import(
'lib.pkp.plugins.generic.usageEvent.PKPUsageEventPlugin');
28 return array_merge(parent::getEventHooks(), array(
29 'ArticleHandler::download',
30 'IssueHandler::download',
31 'HtmlArticleGalleyPlugin::articleDownload',
32 'HtmlArticleGalleyPlugin::articleDownloadFinished'
40 return array_merge(parent::getDownloadFinishedEventHooks(), array(
41 'HtmlArticleGalleyPlugin::articleDownloadFinished'
49 list($pubObject, $downloadSuccess, $assocType, $idParams, $canonicalUrlPage, $canonicalUrlOp, $canonicalUrlParams) =
50 parent::getUsageEventData($hookName, $hookArgs,
$request, $router, $templateMgr, $context);
55 case 'TemplateManager::display':
56 $page = $router->getRequestedPage(
$request);
58 $args = $router->getRequestedArgs(
$request);
60 $wantedPages = array(
'issue',
'article');
61 $wantedOps = array(
'index',
'view');
63 if (!in_array($page, $wantedPages) || !in_array(
$op, $wantedOps))
break;
69 if (
$op ==
'view' && count($args) > 1)
break;
71 $journal = $templateMgr->getTemplateVars(
'currentContext');
72 $issue = $templateMgr->getTemplateVars(
'issue');
73 $submission = $templateMgr->getTemplateVars(
'article');
76 if (!$journal && !$issue && !$submission)
break;
79 $pubObject = $journal;
80 $assocType = ASSOC_TYPE_JOURNAL;
86 $assocType = ASSOC_TYPE_ISSUE;
87 $canonicalUrlParams = array($issue->getId());
88 $idParams = array(
's' . $issue->getId());
92 $pubObject = $submission;
93 $assocType = ASSOC_TYPE_SUBMISSION;
94 $canonicalUrlParams = array($pubObject->getId());
95 $idParams = array(
'm' . $pubObject->getId());
98 $downloadSuccess =
true;
99 $canonicalUrlOp =
$op;
103 case 'IssueHandler::download':
104 $assocType = ASSOC_TYPE_ISSUE_GALLEY;
105 $issue = $hookArgs[0];
106 $galley = $hookArgs[1];
107 $canonicalUrlOp =
'download';
108 $canonicalUrlParams = array($issue->getId(), $galley->getId());
109 $idParams = array(
'i' . $issue->getId(),
'f' . $galley->getId());
110 $downloadSuccess =
false;
111 $pubObject = $galley;
115 case 'ArticleHandler::download':
116 case 'HtmlArticleGalleyPlugin::articleDownload':
117 $assocType = ASSOC_TYPE_SUBMISSION_FILE;
118 $article = $hookArgs[0];
119 $galley = $hookArgs[1];
120 $fileId = $hookArgs[2];
122 if ($galley->getFileId() != $fileId)
return false;
123 $canonicalUrlOp =
'download';
124 $canonicalUrlParams = array($article->getId(), $galley->getId(), $fileId);
125 $idParams = array(
'a' . $article->getId(),
'g' . $galley->getId(),
'f' . $fileId);
126 $downloadSuccess =
false;
128 $pubObject = $submissionFileDao->getLatestRevision($fileId);
136 return array($pubObject, $downloadSuccess, $assocType, $idParams, $canonicalUrlPage, $canonicalUrlOp, $canonicalUrlParams);
146 ASSOC_TYPE_SUBMISSION,
154 return is_a($pubObject,
'Submission');