File Manager
Upload
Current Directory: /home/lartcid/public_html/journal.lartc.id
[Back]
..
[Open]
Hapus
Rename
.htaccess
[Edit]
Hapus
Rename
.well-known
[Open]
Hapus
Rename
README.md
[Edit]
Hapus
Rename
api
[Open]
Hapus
Rename
cache
[Open]
Hapus
Rename
cgi-bin
[Open]
Hapus
Rename
classes
[Open]
Hapus
Rename
config.TEMPLATE.inc.php
[Edit]
Hapus
Rename
config.inc.php
[Edit]
Hapus
Rename
controllers
[Open]
Hapus
Rename
cypress.json
[Edit]
Hapus
Rename
dbscripts
[Open]
Hapus
Rename
docs
[Open]
Hapus
Rename
error_log
[Edit]
Hapus
Rename
favicon.ico
[Edit]
Hapus
Rename
index.php
[Edit]
Hapus
Rename
js
[Open]
Hapus
Rename
lib
[Open]
Hapus
Rename
locale
[Open]
Hapus
Rename
mini.php
[Edit]
Hapus
Rename
pages
[Open]
Hapus
Rename
php.ini
[Edit]
Hapus
Rename
plugins
[Open]
Hapus
Rename
public
[Open]
Hapus
Rename
registry
[Open]
Hapus
Rename
scheduledTaskLogs
[Open]
Hapus
Rename
schemas
[Open]
Hapus
Rename
styles
[Open]
Hapus
Rename
templates
[Open]
Hapus
Rename
tools
[Open]
Hapus
Rename
Edit File
<?php /** * @file plugins/generic/usageEvent/UsageEventPlugin.inc.php * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2003-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class UsageEventPlugin * @ingroup plugins_generic_usageEvent * * @brief Implement application specifics for generating usage events. */ import('lib.pkp.plugins.generic.usageEvent.PKPUsageEventPlugin'); class UsageEventPlugin extends PKPUsageEventPlugin { // // Implement methods from PKPUsageEventPlugin. // /** * @copydoc PKPUsageEventPlugin::getEventHooks() */ function getEventHooks() { return array_merge(parent::getEventHooks(), array( 'ArticleHandler::download', 'IssueHandler::download', 'HtmlArticleGalleyPlugin::articleDownload', 'HtmlArticleGalleyPlugin::articleDownloadFinished', 'LensGalleyPlugin::articleDownloadFinished' )); } /** * @copydoc PKPUsageEventPlugin::getDownloadFinishedEventHooks() */ protected function getDownloadFinishedEventHooks() { return array_merge(parent::getDownloadFinishedEventHooks(), array( 'HtmlArticleGalleyPlugin::articleDownloadFinished', 'LensGalleyPlugin::articleDownloadFinished' )); } /** * @copydoc PKPUsageEventPlugin::getUSageEventData() */ protected function getUsageEventData($hookName, $hookArgs, $request, $router, $templateMgr, $context) { list($pubObject, $downloadSuccess, $assocType, $idParams, $canonicalUrlPage, $canonicalUrlOp, $canonicalUrlParams) = parent::getUsageEventData($hookName, $hookArgs, $request, $router, $templateMgr, $context); if (!$pubObject) { switch ($hookName) { // Press index page, issue content page and article abstract. case 'TemplateManager::display': $page = $router->getRequestedPage($request); $op = $router->getRequestedOp($request); $args = $router->getRequestedArgs($request); $wantedPages = array('issue', 'article'); $wantedOps = array('index', 'view'); if (!in_array($page, $wantedPages) || !in_array($op, $wantedOps)) break; // View requests with 1 argument might relate to journal // or article. With more than 1 is related either with a // version of the submissin abstract page or // with other objects that we are not interested in or // that are counted using a different hook. // If the operation is 'view' and the arguments count > 1 // the arguments must be: $submissionId/version/$publicationId. if ($op == 'view' && count($args) > 1) { if ($args[1] !== 'version') break; else if (count($args) != 3) break; $publicationId = (int) $args[2]; } $journal = $templateMgr->getTemplateVars('currentContext'); $issue = $templateMgr->getTemplateVars('issue'); $submission = $templateMgr->getTemplateVars('article'); // No published objects, no usage event. if (!$journal && !$issue && !$submission) break; if ($journal) { $pubObject = $journal; $assocType = ASSOC_TYPE_JOURNAL; $canonicalUrlOp = ''; } if ($issue) { $pubObject = $issue; $assocType = ASSOC_TYPE_ISSUE; $canonicalUrlParams = array($issue->getId()); $idParams = array('s' . $issue->getId()); } if ($submission) { $pubObject = $submission; $assocType = ASSOC_TYPE_SUBMISSION; $canonicalUrlParams = array($pubObject->getId()); $idParams = array('m' . $pubObject->getId()); if (isset($publicationId)) { // no need to check if the publication exists (for the submisison), // 404 would be returned and the usage event would not be there $canonicalUrlParams = array($pubObject->getId(), 'version', $publicationId); } } $downloadSuccess = true; $canonicalUrlOp = $op; break; // Issue galley. case 'IssueHandler::download': $assocType = ASSOC_TYPE_ISSUE_GALLEY; $issue = $hookArgs[0]; $galley = $hookArgs[1]; $canonicalUrlOp = 'download'; $canonicalUrlParams = array($issue->getId(), $galley->getId()); $idParams = array('i' . $issue->getId(), 'f' . $galley->getId()); $downloadSuccess = false; $pubObject = $galley; break; // Article file. case 'ArticleHandler::download': case 'HtmlArticleGalleyPlugin::articleDownload': case 'LensGalleyPlugin::articleDownloadFinished': $assocType = ASSOC_TYPE_SUBMISSION_FILE; $article = $hookArgs[0]; $galley = $hookArgs[1]; $submissionFileId = $hookArgs[2]; // if file is not a gallay file (e.g. CSS or images), there is no usage event. if ($galley->getData('submissionFileId') != $submissionFileId) return false; $canonicalUrlOp = 'download'; $canonicalUrlParams = array($article->getId(), $galley->getId(), $submissionFileId); $idParams = array('a' . $article->getId(), 'g' . $galley->getId(), 'f' . $submissionFileId); $downloadSuccess = false; $pubObject = Services::get('submissionFile')->get($submissionFileId); break; default: // Why are we called from an unknown hook? assert(false); } } return array($pubObject, $downloadSuccess, $assocType, $idParams, $canonicalUrlPage, $canonicalUrlOp, $canonicalUrlParams); } /** * @see PKPUsageEventPlugin::getHtmlPageAssocTypes() */ protected function getHtmlPageAssocTypes() { return array( ASSOC_TYPE_JOURNAL, ASSOC_TYPE_ISSUE, ASSOC_TYPE_SUBMISSION, ); } /** * @see PKPUsageEventPlugin::isPubIdObjectType() */ protected function isPubIdObjectType($pubObject) { return is_a($pubObject, 'Submission'); } }
Simpan