getEnabled($mainContextId)) { HookRegistry::register('ArticleHandler::view::galley', array($this, 'articleCallback')); HookRegistry::register('IssueHandler::view::galley', array($this, 'issueCallback')); AppLocale::requireComponents(LOCALE_COMPONENT_APP_COMMON); $this->_registerTemplateResource(); } return true; } return false; } /** * Install default settings on journal creation. * @return string */ function getContextSpecificPluginSettingsFile() { return $this->getPluginPath() . '/settings.xml'; } /** * @copydoc Plugin::getDisplayName */ function getDisplayName() { return __('plugins.generic.pdfJsViewer.name'); } /** * @copydoc Plugin::getDescription */ function getDescription() { return __('plugins.generic.pdfJsViewer.description'); } /** * Callback that renders the article galley. * @param $hookName string * @param $args array * @return boolean */ function articleCallback($hookName, $args) { $request =& $args[0]; $issue =& $args[1]; $galley =& $args[2]; $article =& $args[3]; $templateMgr = TemplateManager::getManager($request); if ($galley && $galley->getFileType() == 'application/pdf') { $application = Application::getApplication(); $templateMgr->assign(array( 'pluginTemplatePath' => $this->getTemplatePath(), 'pluginUrl' => $request->getBaseUrl() . '/' . $this->getPluginPath(), 'galleyFile' => $galley->getFile(), 'issue' => $issue, 'article' => $article, 'galley' => $galley, 'jQueryUrl' => $this->_getJQueryUrl($request), 'currentVersionString' => $application->getCurrentVersion()->getVersionString(false), )); $templateMgr->display($this->getTemplatePath() . '/articleGalley.tpl'); return true; } return false; } /** * Callback that renders the issue galley. * @param $hookName string * @param $args array * @return boolean */ function issueCallback($hookName, $args) { $request =& $args[0]; $issue =& $args[1]; $galley =& $args[2]; $templateMgr = TemplateManager::getManager($request); if ($galley && $galley->getFileType() == 'application/pdf') { $application = Application::getApplication(); $templateMgr->assign(array( 'pluginTemplatePath' => $this->getTemplatePath(), 'pluginUrl' => $request->getBaseUrl() . '/' . $this->getPluginPath(), 'galleyFile' => $galley->getFile(), 'issue' => $issue, 'galley' => $galley, 'jQueryUrl' => $this->_getJQueryUrl($request), 'currentVersionString' => $application->getCurrentVersion()->getVersionString(false), )); $templateMgr->display($this->getTemplatePath() . '/issueGalley.tpl'); return true; } return false; } /** * Get the URL for JQuery JS. * @param $request PKPRequest * @return string */ private function _getJQueryUrl($request) { $min = Config::getVar('general', 'enable_minified') ? '.min' : ''; if (Config::getVar('general', 'enable_cdn')) { return '//ajax.googleapis.com/ajax/libs/jquery/' . CDN_JQUERY_VERSION . '/jquery' . $min . '.js'; } else { return $request->getBaseUrl() . '/lib/pkp/lib/components/jquery/jquery' . $min . '.js'; } } /** * @copydoc PKPPlugin::getTemplatePath */ function getTemplatePath($inCore = false) { return $this->getTemplateResourceName() . ':templates/'; } } ?>