/** * Handle a new request. */ function handleRequest() { if (!Config::getVar('general', 'installed') && pageRequiresInstall()) { // Redirect to installer if application has not been installed Request::redirect(null, 'install'); } // Determine the handler for this request $page = Request::getRequestedPage(); $op = Request::getRequestedOp(); $sourceFile = sprintf('pages/%s/index.php', $page); // If a hook has been registered to handle this page, give it the // opportunity to load required resources and set HANDLER_CLASS. if (!HookRegistry::call('LoadHandler', array(&$page, &$op, &$sourceFile))) { if (file_exists($sourceFile)) { require $sourceFile; } else { require 'pages/index/index.php'; } } if (!defined('SESSION_DISABLE_INIT')) { // Initialize session $sessionManager =& SessionManager::getManager(); $session =& $sessionManager->getUserSession(); } $methods = array_map('strtolower', get_class_methods(HANDLER_CLASS)); if (in_array(strtolower($op), $methods)) { // Call a specific operation call_user_func(array(HANDLER_CLASS, $op), Request::getRequestedArgs()); } else { // Call the selected handler's index operation call_user_func(array(HANDLER_CLASS, 'index'), Request::getRequestedArgs()); } }
/** * Add social tags */ function templateManagerCallback($hookName, $args) { $templateMgr =& $args[0]; $template =& $args[1]; $args = Request::getRequestedArgs(); $this->import("classes.SocialMetatags"); $socialMetatags = new SocialMetatags(); $additionalHeadData = $templateMgr->get_template_vars('additionalHeadData'); if (strpos($template, "templates/article/article.tpl")) { $articleId = $args[0]; $additionalHeadData .= "\n" . $socialMetatags->getArticleSocialMetaTags($articleId); } elseif (strpos($template, "templates/announcement/view.tpl")) { $announcementId = $args[0]; $additionalHeadData .= "\n" . $socialMetatags->getAnnouncementSocialMetaTags($announcementId); } else { $additionalHeadData .= "\n" . $socialMetatags->getPageSocialMetaTags(); } $templateMgr->assign('additionalHeadData', $additionalHeadData); }
/** * Smarty usage: {sort_heading key="localization.key.name" sort="foo"} * * Custom Smarty function for creating heading links to sort tables by * @params $params array associative array * @params $smarty Smarty * @return string heading link to sort table by */ function smartySortHeading($params, &$smarty) { if (isset($params) && !empty($params)) { $sortParams = Request::getQueryArray(); isset($params['sort']) ? $sortParams['sort'] = $params['sort'] : null; $sortDirection = $smarty->get_template_vars('sortDirection'); $sort = $smarty->get_template_vars('sort'); // Invert sort direction if ($params['sort'] == $sort) { if ($sortDirection == SORT_DIRECTION_ASC) { $sortParams['sortDirection'] = SORT_DIRECTION_DESC; } else { $sortParams['sortDirection'] = SORT_DIRECTION_ASC; } } else { $sortParams['sortDirection'] = SORT_DIRECTION_ASC; } $link = PKPRequest::url(null, null, null, Request::getRequestedArgs(), $sortParams, null, true); $text = isset($params['key']) ? Locale::translate($params['key']) : ''; $style = isset($sort) && isset($params['sort']) && $sort == $params['sort'] ? ' style="font-weight:bold"' : ''; return "<a href=\"{$link}\"{$style}>{$text}</a>"; } }
/** * Display list of people in the selected role. * @param $args array first parameter is the role ID to display */ function people($args) { $this->validate(); $this->setupTemplate(true); $roleDao =& DAORegistry::getDAO('RoleDAO'); if (Request::getUserVar('roleSymbolic') != null) { $roleSymbolic = Request::getUserVar('roleSymbolic'); } else { $roleSymbolic = isset($args[0]) ? $args[0] : 'all'; } $sort = Request::getUserVar('sort'); $sort = isset($sort) ? $sort : 'name'; $sortDirection = Request::getUserVar('sortDirection'); $sortDirection = isset($sortDirection) ? $sortDirection : SORT_DIRECTION_ASC; if ($roleSymbolic != 'all' && String::regexp_match_get('/^(\\w+)s$/', $roleSymbolic, $matches)) { $roleId = $roleDao->getRoleIdFromPath($matches[1]); if ($roleId == null) { Request::redirect(null, null, null, 'all'); } $roleName = $roleDao->getRoleName($roleId, true); } else { $roleId = 0; $roleName = 'manager.people.allUsers'; } $journal =& Request::getJournal(); $templateMgr =& TemplateManager::getManager(); $searchType = null; $searchMatch = null; $search = Request::getUserVar('search'); $searchInitial = Request::getUserVar('searchInitial'); if (!empty($search)) { $searchType = Request::getUserVar('searchField'); $searchMatch = Request::getUserVar('searchMatch'); } elseif (!empty($searchInitial)) { $searchInitial = String::strtoupper($searchInitial); $searchType = USER_FIELD_INITIAL; $search = $searchInitial; } $rangeInfo = $this->getRangeInfo('users'); if ($roleId) { $users =& $roleDao->getUsersByRoleId($roleId, $journal->getId(), $searchType, $search, $searchMatch, $rangeInfo, $sort, $sortDirection); $templateMgr->assign('roleId', $roleId); switch ($roleId) { case ROLE_ID_JOURNAL_MANAGER: $helpTopicId = 'journal.roles.journalManager'; break; case ROLE_ID_EDITOR: $helpTopicId = 'journal.roles.editor'; break; case ROLE_ID_SECTION_EDITOR: $helpTopicId = 'journal.roles.sectionEditor'; break; case ROLE_ID_LAYOUT_EDITOR: $helpTopicId = 'journal.roles.layoutEditor'; break; case ROLE_ID_REVIEWER: $helpTopicId = 'journal.roles.reviewer'; break; case ROLE_ID_COPYEDITOR: $helpTopicId = 'journal.roles.copyeditor'; break; case ROLE_ID_PROOFREADER: $helpTopicId = 'journal.roles.proofreader'; break; case ROLE_ID_AUTHOR: $helpTopicId = 'journal.roles.author'; break; case ROLE_ID_READER: $helpTopicId = 'journal.roles.reader'; break; case ROLE_ID_SUBSCRIPTION_MANAGER: $helpTopicId = 'journal.roles.subscriptionManager'; break; default: $helpTopicId = 'journal.roles.index'; break; } } else { $users =& $roleDao->getUsersByJournalId($journal->getId(), $searchType, $search, $searchMatch, $rangeInfo, $sort, $sortDirection); $helpTopicId = 'journal.users.allUsers'; } $templateMgr->assign('currentUrl', Request::url(null, null, 'people', 'all')); $templateMgr->assign('roleName', $roleName); $templateMgr->assign_by_ref('users', $users); $templateMgr->assign_by_ref('thisUser', Request::getUser()); $templateMgr->assign('isReviewer', $roleId == ROLE_ID_REVIEWER); $templateMgr->assign('searchField', $searchType); $templateMgr->assign('searchMatch', $searchMatch); $templateMgr->assign('search', $search); $templateMgr->assign('searchInitial', Request::getUserVar('searchInitial')); $templateMgr->assign_by_ref('roleSettings', $this->retrieveRoleAssignmentPreferences($journal->getId())); if ($roleId == ROLE_ID_REVIEWER) { $reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO'); $templateMgr->assign('rateReviewerOnQuality', $journal->getSetting('rateReviewerOnQuality')); $templateMgr->assign('qualityRatings', $journal->getSetting('rateReviewerOnQuality') ? $reviewAssignmentDao->getAverageQualityRatings($journal->getId()) : null); } $templateMgr->assign('helpTopicId', $helpTopicId); $fieldOptions = array(USER_FIELD_FIRSTNAME => 'user.firstName', USER_FIELD_LASTNAME => 'user.lastName', USER_FIELD_USERNAME => 'user.username', USER_FIELD_INTERESTS => 'user.interests', USER_FIELD_EMAIL => 'user.email'); if ($roleId == ROLE_ID_REVIEWER) { $fieldOptions = array_merge(array(USER_FIELD_INTERESTS => 'user.interests'), $fieldOptions); } $templateMgr->assign('fieldOptions', $fieldOptions); $templateMgr->assign('rolePath', $roleDao->getRolePath($roleId)); $templateMgr->assign('alphaList', explode(' ', __('common.alphaList'))); $templateMgr->assign('roleSymbolic', $roleSymbolic); $templateMgr->assign('sort', $sort); $templateMgr->assign('sortDirection', $sortDirection); $session =& Request::getSession(); $session->setSessionVar('enrolmentReferrer', Request::getRequestedArgs()); $templateMgr->display('manager/people/enrollment.tpl'); }
/** * Given a $page and $op, return a list of field names for which * the plugin should be used. * @param $templateMgr object * @param $page string The requested page * @param $op string The requested operation * @return array */ function getEnableFields(&$templateMgr, $page, $op) { $formLocale = $templateMgr->get_template_vars('formLocale'); $fields = array(); switch ("{$page}/{$op}") { case 'admin/settings': case 'admin/saveSettings': $fields[] = 'intro'; $fields[] = 'about'; break; case 'admin/createJournal': case 'admin/updateJournal': case 'admin/editJournal': $fields[] = 'description'; break; case 'author/submit': case 'author/saveSubmit': switch (array_shift(Request::getRequestedArgs())) { case 1: $fields[] = 'commentsToEditor'; break; case 2: $count = max(1, count($templateMgr->get_template_vars('authors'))); for ($i = 0; $i < $count; $i++) { $fields[] = "authors-{$i}-biography"; $fields[] = "authors-{$i}-competingInterests"; } $fields[] = 'abstract'; break; } break; case 'author/submitSuppFile': $fields[] = 'description'; break; case 'editor/createIssue': case 'editor/issueData': case 'editor/editIssue': $fields[] = 'description'; $fields[] = 'coverPageDescription'; break; case 'manager/createAnnouncement': case 'manager/editAnnouncement': $fields[] = 'descriptionShort'; $fields[] = 'description'; break; case 'user/profile': case 'user/register': case 'manager/createUser': case 'manager/updateUser': $fields[] = 'mailingAddress'; $fields[] = 'biography'; break; case 'manager/editReviewForm': case 'manager/createReviewForm': $fields[] = 'description'; break; case 'manager/editReviewFormElement': case 'manager/createReviewFormElement': $fields[] = 'question'; break; case 'manager/editSection': case 'manager/updateSection': case 'manager/createSection': $fields[] = 'policy'; break; case 'manager/setup': case 'manager/saveSetup': switch (array_shift(Request::getRequestedArgs())) { case 1: $fields[] = 'mailingAddress'; $fields[] = 'contactMailingAddress'; $fields[] = 'publisherNote'; $fields[] = 'sponsorNote'; $fields[] = 'contributorNote'; break; case 2: $fields[] = 'focusScopeDesc'; $fields[] = 'reviewPolicy'; $fields[] = 'reviewGuidelines'; $fields[] = 'privacyStatement'; $customAboutItems = $templateMgr->get_template_vars('customAboutItems'); $count = max(1, isset($customAboutItems[$formLocale]) ? count($customAboutItems[$formLocale]) : 0); for ($i = 0; $i < $count; $i++) { // 1 extra in case of new field $fields[] = "customAboutItems-{$i}-content"; } $fields[] = 'lockssLicense'; break; case 3: $fields[] = 'authorGuidelines'; $submissionChecklist = $templateMgr->get_template_vars('submissionChecklist'); $count = max(1, isset($submissionChecklist[$formLocale]) ? count($submissionChecklist[$formLocale]) : 0); for ($i = 0; $i < $count; $i++) { $fields[] = "submissionChecklist-{$i}"; } $fields[] = 'copyrightNotice'; $fields[] = 'competingInterestGuidelines'; break; case 4: $fields[] = 'openAccessPolicy'; $fields[] = 'pubFreqPolicy'; $fields[] = 'announcementsIntroduction'; $fields[] = 'copyeditInstructions'; $fields[] = 'layoutInstructions'; $fields[] = 'refLinkInstructions'; $fields[] = 'proofInstructions'; break; case 5: $fields[] = 'journalDescription'; $fields[] = 'additionalHomeContent'; $fields[] = 'journalPageHeader'; $fields[] = 'journalPageFooter'; $fields[] = 'readerInformation'; $fields[] = 'librarianInformation'; $fields[] = 'authorInformation'; } case 'reviewer/submission': $fields[] = 'competingInterests'; break; case 'rtadmin/editContext': case 'rtadmin/editSearch': case 'rtadmin/editVersion': case 'rtadmin/createContext': case 'rtadmin/createSearch': case 'rtadmin/createVersion': $fields[] = 'description'; break; case 'editor/createReviewer': case 'sectionEditor/createReviewer': $fields[] = 'mailingAddress'; $fields[] = 'biography'; break; case 'editor/submissionNotes': case 'sectionEditor/submissionNotes': $fields[] = 'note'; break; case 'author/viewMetadata': case 'sectionEditor/viewMetadata': case 'editor/viewMetadata': case 'author/saveMetadata': case 'sectionEditor/saveMetadata': case 'editor/saveMetadata': case 'copyeditor/viewMetadata': case 'copyeditor/saveMetadata': $count = max(1, count($templateMgr->get_template_vars('authors'))); for ($i = 0; $i < $count; $i++) { $fields[] = "authors-{$i}-biography"; $fields[] = "authors-{$i}-competingInterests"; } $fields[] = 'abstract'; break; case 'sectionEditor/editSuppFile': case 'editor/editSuppFile': case 'sectionEditor/saveSuppFile': case 'editor/saveSuppFile': $fields[] = 'description'; break; case 'manager/subscriptionPolicies': case 'manager/saveSubscriptionPolicies': $fields[] = 'subscriptionMailingAddress'; $fields[] = 'subscriptionAdditionalInformation'; $fields[] = 'delayedOpenAccessPolicy'; $fields[] = 'authorSelfArchivePolicy'; break; case 'manager/editSubscriptionType': case 'manager/createSubscriptionType': case 'manager/updateSubscriptionType': $fields[] = 'description'; break; } HookRegistry::call('TinyMCEPlugin::getEnableFields', array(&$this, &$fields)); return $fields; }
/** * Given a $page and $op, return a list of field names for which * the plugin should be used. * @param $templateMgr object * @param $page string The requested page * @param $op string The requested operation * @return array */ function getEnableFields(&$templateMgr, $page, $op) { $formLocale = $templateMgr->get_template_vars('formLocale'); $fields = array(); switch ("{$page}/{$op}") { case 'admin/settings': case 'admin/saveSettings': $fields[] = 'intro'; $fields[] = 'aboutField'; break; case 'admin/createPress': case 'admin/updatePress': case 'admin/editPress': $fields[] = 'description'; break; case 'author/submit': case 'author/saveSubmit': switch (array_shift(Request::getRequestedArgs())) { case '': case 1: $fields[] = 'commentsToEditor'; break; case 3: $count = max(1, count($templateMgr->get_template_vars('authors'))); for ($i = 0; $i < $count; $i++) { $fields[] = "authors-{$i}-biography"; $fields[] = "authors-{$i}-competingInterests"; } $fields[] = 'abstract'; break; } break; case 'author/viewCopyeditComments': case 'author/postCopyeditComment': case 'author/viewLayoutComments': case 'author/postLayoutComment': case 'author/viewProofreadComments': case 'author/postProofreadComment': case 'author/editComment': case 'author/saveComment': case 'editor/viewEditorDecisionComments': case 'editor/postEditorDecisionComment': case 'editor/viewCopyeditComments': case 'editor/postCopyeditComment': case 'editor/viewLayoutComments': case 'editor/postLayoutComment': case 'editor/viewProofreadComments': case 'editor/postProofreadComment': case 'editor/editComment': case 'editor/saveComment': case 'sectionEditor/viewEditorDecisionComments': case 'sectionEditor/postEditorDecisionComment': case 'sectionEditor/viewCopyeditComments': case 'sectionEditor/postCopyeditComment': case 'sectionEditor/viewLayoutComments': case 'sectionEditor/postLayoutComment': case 'sectionEditor/viewProofreadComments': case 'sectionEditor/postProofreadComment': case 'sectionEditor/editComment': case 'sectionEditor/saveComment': case 'copyeditor/viewCopyeditComments': case 'copyeditor/postCopyeditComment': case 'copyeditor/viewLayoutComments': case 'copyeditor/postLayoutComment': case 'copyeditor/editComment': case 'copyeditor/saveComment': case 'proofreader/viewLayoutComments': case 'proofreader/postLayoutComment': case 'proofreader/viewProofreadComments': case 'proofreader/postProofreadComment': case 'proofreader/editComment': case 'proofreader/saveComment': case 'layoutEditor/viewLayoutComments': case 'layoutEditor/postLayoutComment': case 'layoutEditor/viewProofreadComments': case 'layoutEditor/postProofreadComment': case 'layoutEditor/editComment': case 'layoutEditor/saveComment': $fields[] = 'comments'; break; case 'manager/createAnnouncement': case 'manager/editAnnouncement': case 'manager/updateAnnouncement': $fields[] = 'descriptionShort'; $fields[] = 'description'; break; case 'manager/importexport': $count = max(1, count($templateMgr->get_template_vars('authors'))); for ($i = 0; $i < $count; $i++) { $fields[] = "authors-{$i}-biography"; $fields[] = "authors-{$i}-competingInterests"; } $fields[] = 'abstract'; break; case 'user/profile': case 'user/register': case 'user/saveProfile': case 'subscriptionManager/createUser': case 'subscriptionManager/updateUser': case 'manager/createUser': case 'manager/updateUser': $fields[] = 'mailingAddress'; $fields[] = 'biography'; break; case 'manager/setup': case 'manager/saveSetup': switch (array_shift(Request::getRequestedArgs())) { case 1: $fields[] = 'mailingAddress'; $fields[] = 'contactMailingAddress'; $fields[] = 'sponsorNote'; $fields[] = 'contributorNote'; break; case 2: $fields[] = 'focusScopeDesc'; $fields[] = 'reviewGuidelines'; $fields[] = 'privacyStatement'; break; case 4: $fields[] = 'openAccessPolicy'; $fields[] = 'announcementsIntroduction'; break; case 5: $fields[] = 'description'; $fields[] = 'additionalHomeContent'; $fields[] = 'readerInformation'; $fields[] = 'librarianInformation'; $fields[] = 'authorInformation'; $fields[] = 'pressPageHeader'; $fields[] = 'pressPageFooter'; break; } break; case 'reviewer/submission': $fields[] = 'competingInterestsText'; $fields[] = 'comments'; break; } HookRegistry::call('TinyMCEPlugin::getEnableFields', array(&$this, &$fields)); return $fields; }
/** * Display page links for a listing of items that has been * divided onto multiple pages. * Usage: * {page_links * name="nameMustMatchGetRangeInfoCall" * iterator=$myIterator * additional_param=myAdditionalParameterValue * } */ function smartyPageLinks($params, &$smarty) { $iterator = $params['iterator']; $name = $params['name']; if (isset($params['params']) && is_array($params['params'])) { $extraParams = $params['params']; unset($params['params']); $params = array_merge($params, $extraParams); } if (isset($params['anchor'])) { $anchor = $params['anchor']; unset($params['anchor']); } else { $anchor = null; } if (isset($params['all_extra'])) { $allExtra = ' ' . $params['all_extra']; unset($params['all_extra']); } else { $allExtra = ''; } unset($params['iterator']); unset($params['name']); $numPageLinks = $smarty->get_template_vars('numPageLinks'); if (!is_numeric($numPageLinks)) { $numPageLinks = 10; } $page = $iterator->getPage(); $pageCount = $iterator->getPageCount(); $itemTotal = $iterator->getCount(); $pageBase = max($page - floor($numPageLinks / 2), 1); $paramName = $name . 'Page'; if ($pageCount <= 1) { return ''; } $value = ''; if ($page > 1) { $params[$paramName] = 1; $value .= '<a href="' . Request::url(null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '><<</a> '; $params[$paramName] = $page - 1; $value .= '<a href="' . Request::url(null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '><</a> '; } for ($i = $pageBase; $i < min($pageBase + $numPageLinks, $pageCount + 1); $i++) { if ($i == $page) { $value .= "<strong>{$i}</strong> "; } else { $params[$paramName] = $i; $value .= '<a href="' . Request::url(null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '>' . $i . '</a> '; } } if ($page < $pageCount) { $params[$paramName] = $page + 1; $value .= '<a href="' . Request::url(null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '>></a> '; $params[$paramName] = $pageCount; $value .= '<a href="' . Request::url(null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '>>></a> '; } return $value; }
/** * Given a $page and $op, return a list of field names for which * the plugin should be used. * @param $templateMgr object * @param $page string The requested page * @param $op string The requested operation * @return array */ function getEnableFields(&$templateMgr, $page, $op) { $formLocale = $templateMgr->get_template_vars('formLocale'); $fields = array(); switch ("{$page}/{$op}") { case 'admin/settings': case 'admin/saveSettings': $fields[] = 'intro'; $fields[] = 'aboutField'; break; case 'admin/createConference': case 'admin/updateConference': case 'admin/editConference': $fields[] = 'description'; break; case 'author/submit': case 'author/saveSubmit': switch (array_shift(Request::getRequestedArgs())) { case 1: $fields[] = 'commentsToDirector'; break; case 3: $count = max(1, count($templateMgr->get_template_vars('authors'))); for ($i = 0; $i < $count; $i++) { $fields[] = "authors-{$i}-affiliation"; $fields[] = "authors-{$i}-biography"; } $fields[] = 'abstract'; $fields[] = 'citations'; break; } break; case 'author/submitSuppFile': $fields[] = 'description'; break; case 'manager/createAnnouncement': case 'manager/editAnnouncement': case 'manager/updateAnnouncement': $fields[] = 'descriptionShort'; $fields[] = 'description'; break; case 'user/profile': case 'user/account': case 'user/saveProfile': case 'manager/createUser': case 'manager/updateUser': $fields[] = 'mailingAddress'; $fields[] = 'biography'; break; case 'manager/editReviewForm': case 'manager/updateReviewForm': case 'manager/createReviewForm': $fields[] = 'description'; break; case 'manager/editReviewFormElement': case 'manager/createReviewFormElement': case 'manager/updateReviewFormElement': $fields[] = 'question'; break; case 'manager/editTrack': case 'manager/updateTrack': case 'manager/createTrack': $fields[] = 'policy'; break; case 'manager/setup': case 'manager/saveSetup': switch (array_shift(Request::getRequestedArgs())) { case 1: $fields[] = 'description'; $fields[] = 'contactMailingAddress'; $fields[] = 'copyrightNotice'; $fields[] = 'archiveAccessPolicy'; $fields[] = 'privacyStatement'; $customAboutItems = $templateMgr->get_template_vars('customAboutItems'); $count = max(1, isset($customAboutItems[$formLocale]) ? count($customAboutItems[$formLocale]) : 0); for ($i = 0; $i < $count; $i++) { $fields[] = "customAboutItems-{$i}-content"; } break; case 2: $fields[] = 'additionalHomeContent'; $fields[] = 'readerInformation'; $fields[] = 'authorInformation'; $fields[] = 'announcementsIntroduction'; break; case 3: $fields[] = 'conferencePageHeader'; $fields[] = 'conferencePageFooter'; break; } break; case 'manager/schedConfSetup': case 'manager/saveSchedConfSetup': switch (array_shift(Request::getRequestedArgs())) { case 1: $fields[] = 'introduction'; $fields[] = 'overview'; $fields[] = 'locationAddress'; $fields[] = 'contactMailingAddress'; $fields[] = 'sponsorNote'; $fields[] = 'contributorNote'; $count = max(1, count($templateMgr->get_template_vars('sponsors'))); for ($i = 0; $i < $count; $i++) { $fields[] = "sponsors-{$i}-address"; } break; case 2: $fields[] = 'cfpMessage'; $fields[] = 'authorGuidelines'; $submissionChecklist = $templateMgr->get_template_vars('submissionChecklist'); $count = max(1, isset($submissionChecklist[$formLocale]) ? count($submissionChecklist[$formLocale]) : 0); for ($i = 0; $i < $count; $i++) { $fields[] = "submissionChecklist-{$i}"; } break; case 3: $fields[] = 'reviewPolicy'; $fields[] = 'reviewGuidelines'; break; } case 'manager/program': case 'manager/saveProgramSettings': $fields[] = 'program'; case 'manager/accommodation': case 'manager/saveAccommodationSettings': $fields[] = 'accommodationDescription'; break; case 'manager/createBuilding': case 'manager/editBuilding': case 'manager/updateBuilding': $fields[] = 'description'; break; case 'manager/createRoom': case 'manager/editRoom': case 'manager/updateRoom': $fields[] = 'description'; break; case 'manager/createSpecialEvent': case 'manager/editSpecialEvent': case 'manager/updateSpecialEvent': $fields[] = 'description'; break; case 'rtadmin/editContext': case 'rtadmin/editSearch': case 'rtadmin/editVersion': case 'rtadmin/createContext': case 'rtadmin/createSearch': case 'rtadmin/createVersion': $fields[] = 'description'; break; case 'director/viewDirectorDecisionComments': case 'director/postDirectorDecisionComment': case 'director/editComment': case 'director/saveComment': case 'trackDirector/viewDirectorDecisionComments': case 'trackDirector/postDirectorDecisionComment': case 'trackDirector/editComment': case 'trackDirector/saveComment': case 'reviewer/viewPeerReviewComments': case 'reviewer/postPeerReviewComment': case 'reviewer/editComment': case 'reviewer/saveComment': $fields[] = 'comments'; $fields[] = 'authorComments'; break; case 'director/viewDirectorDecisionComments': case 'director/postDirectorDecisionComment': $fields[] = 'comments'; break; case 'director/createReviewer': case 'trackDirector/createReviewer': $fields[] = 'mailingAddress'; $fields[] = 'biography'; break; case 'reviewer/viewPeerReviewComments': case 'reviewer/postPeerReviewComment': $fields[] = 'presenterComments'; $fields[] = 'comments'; break; case 'director/submissionNotes': case 'trackDirector/submissionNotes': $fields[] = 'note'; break; case 'author/viewMetadata': case 'trackDirector/viewMetadata': case 'director/viewMetadata': case 'author/saveMetadata': case 'trackDirector/saveMetadata': case 'director/saveMetadata': $count = max(1, count($templateMgr->get_template_vars('authors'))); for ($i = 0; $i < $count; $i++) { $fields[] = "authors-{$i}-affiliation"; $fields[] = "authors-{$i}-biography"; } $fields[] = 'abstract'; $fields[] = 'citations'; break; case 'trackDirector/editSuppFile': case 'director/editSuppFile': case 'trackDirector/saveSuppFile': case 'director/saveSuppFile': $fields[] = 'description'; break; case 'manager/registrationPolicies': $fields[] = 'registrationMailingAddress'; $fields[] = 'registrationAdditionalInformation'; $fields[] = 'delayedOpenAccessPolicy'; $fields[] = 'authorSelfArchivePolicy'; break; case 'manager/editRegistrationType': case 'manager/createRegistrationType': case 'manager/updateRegistrationType': $fields[] = 'description'; break; case 'comment/add': $fields[] = 'bodyField'; break; } HookRegistry::call('TinyMCEPlugin::getEnableFields', array(&$this, &$fields)); return $fields; }
/** * Display the submission review page. * @param $args array */ function submission($args) { $journal =& Request::getJournal(); $journalId = $journal->getJournalId(); $session =& Request::getSession(); //%CBP% get the journal/imprint type and set var approriately $CBPPlatformDao =& DAORegistry::getDAO('CBPPlatformDAO'); $workshop = $CBPPlatformDao->getWorkshop($journalId); if ($workshop != "structured") { $workshop = 1; } $args = Request::getRequestedArgs(); if ($workshop == 1) { $args = Request::getRequestedArgs(); if (!$args[1]) { $articleId = $args[0]; $user =& Request::getUser(); if ($workshop == 1 && !$session->getSessionVar('workshopReview_' . $articleId)) { $reviewId = $CBPPlatformDao->setWorkshopReviewer($articleId, $user->getUserId()); $session->setSessionVar('workshopReview_' . $articleId, $articleId); } else { if ($workshop == 1 && $session->getSessionVar('workshopReview_' . $articleId)) { $reviewId = $CBPPlatformDao->getWorkshopReviewId($articleId, $user->getUserId()); if ($CBPPlatformDao->getWorkshopReviewCompleted($reviewId) != null) { $reviewId = $CBPPlatformDao->setWorkshopReviewer($articleId, $user->getUserId()); $session->setSessionVar('workshopReview_' . $articleId, $articleId); } } } Request::redirect(Request::getRequestedJournalPath(), Request::getRequestedPage(), Request::getRequestedOp(), array("review" => $reviewId, "redirect" => 1)); } } $reviewId = $args[0]; $this->validate($reviewId); $user =& $this->user; $submission =& $this->submission; $reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO'); $reviewAssignment = $reviewAssignmentDao->getById($reviewId); $reviewFormResponseDao =& DAORegistry::getDAO('ReviewFormResponseDAO'); if ($workshop == 1) { $confirmedStatus = 1; } else { if ($submission->getDateConfirmed() == null) { $confirmedStatus = 0; } else { $confirmedStatus = 1; } } $this->setupTemplate(true, $reviewAssignment->getSubmissionId(), $reviewId); $templateMgr =& TemplateManager::getManager(); $templateMgr->assign_by_ref('user', $user); $templateMgr->assign_by_ref('submission', $submission); $templateMgr->assign_by_ref('reviewAssignment', $reviewAssignment); $templateMgr->assign('confirmedStatus', $confirmedStatus); $templateMgr->assign('declined', $submission->getDeclined()); $templateMgr->assign('reviewFormResponseExists', $reviewFormResponseDao->reviewFormResponseExists($reviewId)); $templateMgr->assign_by_ref('reviewFile', $reviewAssignment->getReviewFile()); $templateMgr->assign_by_ref('reviewerFile', $submission->getReviewerFile()); $templateMgr->assign_by_ref('suppFiles', $submission->getSuppFiles()); $templateMgr->assign_by_ref('journal', $journal); $templateMgr->assign_by_ref('reviewGuidelines', $journal->getLocalizedSetting('reviewGuidelines')); $templateMgr->assign_by_ref('workshop', $workshop); import('classes.submission.reviewAssignment.ReviewAssignment'); $templateMgr->assign_by_ref('reviewerRecommendationOptions', ReviewAssignment::getReviewerRecommendationOptions()); $templateMgr->assign('helpTopicId', 'editorial.reviewersRole.review'); $templateMgr->display('reviewer/submission.tpl'); }
function articleTemplate($hookname, $args) { $args = Request::getRequestedArgs(); if (isset($args[0])) { $templateMgr =& TemplateManager::getManager(); $articleId = $args[0]; $articlePid = pidHandler::getResourcePid($articleId, ASSOC_TYPE_PID_ARTICLE); if ($articlePid) { $articlePurl = pidHandler::getResourcePurl($articlePid); $templateMgr->assign('articlePurl', $articlePurl); } else { $templateMgr->assign('articlePurl', '-'); } $templateMgr->display($this->getTemplatePath() . 'pidArticleTemplate.tpl', 'text/html', ''); } return false; }
/** * Display page links for a listing of items that has been * divided onto multiple pages. * Usage: * {page_links * name="nameMustMatchGetRangeInfoCall" * iterator=$myIterator * additional_param=myAdditionalParameterValue * } */ function smartyPageLinks($params, &$smarty) { $iterator = $params['iterator']; $name = $params['name']; if (isset($params['anchor'])) { $anchor = $params['anchor']; unset($params['anchor']); } else { $anchor = null; } // 禁止使用anchor $anchor = null; if (isset($params['all_extra'])) { $allExtra = ' ' . $params['all_extra']; unset($params['all_extra']); } else { $allExtra = ''; } unset($params['iterator']); unset($params['name']); $numPageLinks = $smarty->get_template_vars('numPageLinks'); if (!is_numeric($numPageLinks)) { $numPageLinks = 10; } $page = $iterator->getPage(); $pageCount = $iterator->getPageCount(); $itemTotal = $iterator->getCount(); $pageBase = max($page - floor($numPageLinks / 2), 1); $paramName = $name . 'Page'; if ($pageCount <= 1) { return ''; } $value = ''; if ($page > 1) { $params[$paramName] = 1; $value .= '<li><a href="' . Request::url(null, null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '><<</a></li>'; $params[$paramName] = $page - 1; $value .= '<li><a href="' . Request::url(null, null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '><</a></li>'; } for ($i = $pageBase; $i < min($pageBase + $numPageLinks, $pageCount + 1); $i++) { if ($i == $page) { $value .= '<li class="active"><a href="#">' . $i . "</a></li>"; } else { $params[$paramName] = $i; $value .= '<li><a href="' . Request::url(null, null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '>' . $i . '</a></li>'; } } if ($page < $pageCount) { $params[$paramName] = $page + 1; $value .= '<li><a href="' . Request::url(null, null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '>></a></li>'; $params[$paramName] = $pageCount; $value .= '<li><a href="' . Request::url(null, null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '>>></a></li>'; } $value = '<nav><ul class="pagination">' . $value . "</ul></nav>"; return $value; }