16 import(
'lib.pkp.plugins.generic.usageEvent.PKPUsageEventPlugin');
23 parent::__construct();
34 $hooks = parent::getEventHooks();
36 'CatalogBookHandler::view',
37 'CatalogBookHandler::download',
38 'HtmlMonographFilePlugin::monographDownload',
39 'HtmlMonographFilePlugin::monographDownloadFinished',
42 return array_merge($hooks, $ompHooks);
49 return array_merge(parent::getDownloadFinishedEventHooks(), array(
50 'HtmlMonographFilePlugin::monographDownloadFinished'
58 list($pubObject, $downloadSuccess, $assocType, $idParams, $canonicalUrlPage, $canonicalUrlOp, $canonicalUrlParams) =
59 parent::getUsageEventData($hookName, $hookArgs,
$request, $router, $templateMgr, $context);
64 case 'TemplateManager::display':
65 $page = $router->getRequestedPage(
$request);
68 $wantedPages = array(
'catalog');
69 $wantedOps = array(
'index',
'book',
'series');
71 if (!in_array($page, $wantedPages) || !in_array(
$op, $wantedOps))
break;
73 $press = $templateMgr->getTemplateVars(
'currentContext');
74 $series = $templateMgr->getTemplateVars(
'series');
75 $submission = $templateMgr->getTemplateVars(
'submission');
78 if (!$press && !$series && !$submission)
break;
82 $assocType = ASSOC_TYPE_PRESS;
88 $assocType = ASSOC_TYPE_SERIES;
89 $canonicalUrlParams = array($series->getPath());
90 $idParams = array(
's' . $series->getId());
94 $pubObject = $submission;
95 $assocType = ASSOC_TYPE_MONOGRAPH;
96 $canonicalUrlParams = array($pubObject->getId());
97 $idParams = array(
'm' . $pubObject->getId());
100 $downloadSuccess =
true;
101 $canonicalUrlOp =
$op;
105 case 'CatalogBookHandler::view':
106 case 'CatalogBookHandler::download':
107 case 'HtmlMonographFilePlugin::monographDownload':
108 $pubObject = $hookArgs[3];
109 $assocType = ASSOC_TYPE_SUBMISSION_FILE;
110 $canonicalUrlOp =
'download';
111 $submission = $hookArgs[1];
112 $publicationFormat = $hookArgs[2];
114 if ($pubObject->getAssocId() != $publicationFormat->getId())
return false;
115 $canonicalUrlParams = array($submission->getId(), $pubObject->getAssocId(), $pubObject->getFileId() .
'-' . $pubObject->getRevision());
116 $idParams = array(
'm' . $submission->getId(),
'f' . $pubObject->getId());
117 $downloadSuccess =
false;
125 switch ($assocType) {
126 case ASSOC_TYPE_PRESS:
127 case ASSOC_TYPE_SERIES:
128 case ASSOC_TYPE_MONOGRAPH:
129 case ASSOC_TYPE_SUBMISSION_FILE:
130 $canonicalUrlPage =
'catalog';
134 return array($pubObject, $downloadSuccess, $assocType, $idParams, $canonicalUrlPage, $canonicalUrlOp, $canonicalUrlParams);
152 return is_a($pubObject,
'Submission');