>getGalley($galleyId, $article->getId());
}
$sectionDao =& DAORegistry::getDAO('SectionDAO');
$section =& $sectionDao->getSection($article->getSectionId(), $journal->getJournalId(), true);
$templateMgr =& TemplateManager::getManager();
$templateMgr->assign_by_ref('galley', $galley);
$templateMgr->assign_by_ref('article', $article);
$templateMgr->assign_by_ref('section', $section);
$templateMgr->assign_by_ref('issue', $issue);
$templateMgr->assign_by_ref('journal', $journal);
$templateMgr->assign('articleId', $articleId);
$templateMgr->assign('galleyId', $galleyId);
// Use the article's CSS file, if set.
if ($galley && $galley->isHTMLGalley() && $styleFile =& $galley->getStyleFile()) {
$templateMgr->addStyleSheet($router->url($request, null, 'article', 'viewFile', array(
$article->getId(),
$galley->getBestGalleyId($journal),
$styleFile->getFileId()
)));
}
$templateMgr->display('rt/printerFriendly.tpl');
}
/**
* Display the "Email Colleague" form
* @param $args array
* @param $request Request
*/
function emailColleague($args, &$request) {
$router =& $request->getRouter();
$this->setupTemplate($request);
$articleId = isset($args[0]) ? $args[0] : 0;
$galleyId = isset($args[1]) ? (int) $args[1] : 0;
$this->validate($request, $articleId, $galleyId);
$journal =& $router->getContext($request);
$issue =& $this->issue;
$article =& $this->article;
$rtDao =& DAORegistry::getDAO('RTDAO');
$journalRt =& $rtDao->getJournalRTByJournal($journal);
$user =& $request->getUser();
if (!$journalRt || !$journalRt->getEmailOthers() || !$user) {
$request->redirect(null, $router->getRequestedPage($request));
}
import('classes.mail.MailTemplate');
$email = new MailTemplate('EMAIL_LINK');
if ($request->getUserVar('send') && !$email->hasErrors()) {
$email->send();
$templateMgr =& TemplateManager::getManager();
$templateMgr->display('rt/sent.tpl');
} else {
if (!$request->getUserVar('continued')) {
$primaryAuthor = $article->getAuthors();
$primaryAuthor = $primaryAuthor[0];
$email->setSubject('[' . $journal->getLocalizedSetting('initials') . '] ' . strip_tags($article->getLocalizedTitle()));
$email->assignParams(array(
'articleTitle' => strip_tags($article->getLocalizedTitle()),
'volume' => $issue?$issue->getVolume():null,
'number' => $issue?$issue->getNumber():null,
'year' => $issue?$issue->getYear():null,
'authorName' => $primaryAuthor->getFullName(),
'articleUrl' => $router->url($request, null, 'article', 'view', array($article->getBestArticleId()))
));
}
$email->displayEditForm($router->url($request, null, null, 'emailColleague', array($articleId, $galleyId)), null, 'rt/email.tpl', array('op' => 'emailColleague'));
}
}
/**
* Display the "email author" form
* @param $args array
* @param $request Request
*/
function emailAuthor($args, &$request) {
$router =& $request->getRouter();
$this->setupTemplate($request);
$articleId = isset($args[0]) ? $args[0] : 0;
$galleyId = isset($args[1]) ? (int) $args[1] : 0;
$this->validate($request, $articleId, $galleyId);
$journal =& $router->getContext($request);
$article =& $this->article;
$rtDao =& DAORegistry::getDAO('RTDAO');
$journalRt =& $rtDao->getJournalRTByJournal($journal);
$user =& $request->getUser();
if (!$journalRt || !$journalRt->getEmailAuthor() || !$user) {
$request->redirect(null, $router->getRequestedPage($request));
}
import('classes.mail.MailTemplate');
$email = new MailTemplate();
$email->setAddressFieldsEnabled(false);
if ($request->getUserVar('send') && !$email->hasErrors()) {
$authors =& $article->getAuthors();
$author =& $authors[0];
$email->addRecipient($author->getEmail(), $author->getFullName());
$email->send();
$templateMgr =& TemplateManager::getManager();
$templateMgr->display('rt/sent.tpl');
} else {
if (!$request->getUserVar('continued')) {
$email->setSubject('[' . $journal->getLocalizedSetting('initials') . '] ' . strip_tags($article->getLocalizedTitle()));
}
$email->displayEditForm($router->url($request, null, null, 'emailAuthor', array($articleId, $galleyId)), null, 'rt/email.tpl', array('op' => 'emailAuthor'));
}
}
/**
* Display a list of supplementary files
* @param $args array
* @param $request Request
*/
function suppFiles($args, &$request) {
$router =& $request->getRouter();
$this->setupTemplate($request);
$articleId = isset($args[0]) ? $args[0] : 0;
$galleyId = isset($args[1]) ? (int) $args[1] : 0;
$this->validate($request, $articleId, $galleyId);
$journal =& $router->getContext($request);
$article =& $this->article;
$rtDao =& DAORegistry::getDAO('RTDAO');
$journalRt =& $rtDao->getJournalRTByJournal($journal);
if (!$journalRt || !$journalRt->getSupplementaryFiles()) {
$request->redirect(null, $router->getRequestedPage($request));
}
$templateMgr =& TemplateManager::getManager();
$templateMgr->assign('articleId', $articleId);
$templateMgr->assign('galleyId', $galleyId);
$templateMgr->assign_by_ref('journalRt', $journalRt);
$templateMgr->assign_by_ref('article', $article);
$templateMgr->assign_by_ref('journalSettings', $journal->getSettings());
$templateMgr->display('rt/suppFiles.tpl');
}
/**
* Display the metadata of a supplementary file
* @param $args array
* @param $request Request
*/
function suppFileMetadata($args, &$request) {
$router =& $request->getRouter();
$this->setupTemplate($request);
AppLocale::requireComponents(LOCALE_COMPONENT_OJS_AUTHOR);
$articleId = isset($args[0]) ? $args[0] : 0;
$galleyId = isset($args[1]) ? (int) $args[1] : 0;
$suppFileId = isset($args[2]) ? (int) $args[2] : 0;
$this->validate($request, $articleId, $galleyId);
$journal =& $router->getContext($request);
$article =& $this->article;
$rtDao =& DAORegistry::getDAO('RTDAO');
$journalRt =& $rtDao->getJournalRTByJournal($journal);
$suppFileDao =& DAORegistry::getDAO('SuppFileDAO');
$suppFile = $suppFileDao->getSuppFile($suppFileId, $article->getId());
if (!$journalRt || !$journalRt->getSupplementaryFiles() || !$suppFile) {
$request->redirect(null, $router->getRequestedPage($request));
}
$templateMgr =& TemplateManager::getManager();
$templateMgr->assign('articleId', $articleId);
$templateMgr->assign('galleyId', $galleyId);
$templateMgr->assign_by_ref('suppFile', $suppFile);
$templateMgr->assign_by_ref('journalRt', $journalRt);
$templateMgr->assign_by_ref('issue', $this->issue);
$templateMgr->assign_by_ref('article', $article);
$templateMgr->assign_by_ref('journalSettings', $journal->getSettings());
// consider public identifiers
$pubIdPlugins =& PluginRegistry::loadCategory('pubIds', true);
$templateMgr->assign('pubIdPlugins', $pubIdPlugins);
$templateMgr->display('rt/suppFileView.tpl');
}
/**
* Display the "finding references" search engine list
* @param $args array
* @param $request Request
*/
function findingReferences($args, &$request) {
$router =& $request->getRouter();
$this->setupTemplate($request);
$articleId = isset($args[0]) ? $args[0] : 0;
$galleyId = isset($args[1]) ? (int) $args[1] : 0;
$this->validate($request, $articleId, $galleyId);
$journal =& $router->getContext($request);
$article =& $this->article;
$rtDao =& DAORegistry::getDAO('RTDAO');
$journalRt =& $rtDao->getJournalRTByJournal($journal);
if (!$journalRt || !$journalRt->getFindingReferences()) {
$request->redirect(null, $router->getRequestedPage($request));
}
$templateMgr =& TemplateManager::getManager();
$templateMgr->assign('articleId', $articleId);
$templateMgr->assign('galleyId', $galleyId);
$templateMgr->assign_by_ref('journalRt', $journalRt);
$templateMgr->assign_by_ref('article', $article);
$templateMgr->display('rt/findingReferences.tpl');
}
/**
* Get parameter values: Used internally for RT searches
*/
function _getParameterNames($value) {
$matches = null;
PKPString::regexp_match_all('/\{\$([a-zA-Z0-9]+)\}/', $value, $matches);
// Remove the entire string from the matches list
return $matches[1];
}
}
?>