Example #1
0
/**
 * 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>";
     }
 }
Example #4
0
 /**
  * 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;
 }
Example #6
0
 /**
  * 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 . '>&lt;&lt;</a>&nbsp;';
         $params[$paramName] = $page - 1;
         $value .= '<a href="' . Request::url(null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '>&lt;</a>&nbsp;';
     }
     for ($i = $pageBase; $i < min($pageBase + $numPageLinks, $pageCount + 1); $i++) {
         if ($i == $page) {
             $value .= "<strong>{$i}</strong>&nbsp;";
         } else {
             $params[$paramName] = $i;
             $value .= '<a href="' . Request::url(null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '>' . $i . '</a>&nbsp;';
         }
     }
     if ($page < $pageCount) {
         $params[$paramName] = $page + 1;
         $value .= '<a href="' . Request::url(null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '>&gt;</a>&nbsp;';
         $params[$paramName] = $pageCount;
         $value .= '<a href="' . Request::url(null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '>&gt;&gt;</a>&nbsp;';
     }
     return $value;
 }
Example #8
0
 /**
  * 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');
 }
Example #10
0
 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;
 }
Example #11
0
 /**
  * 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 . '>&lt;&lt;</a></li>';
         $params[$paramName] = $page - 1;
         $value .= '<li><a href="' . Request::url(null, null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '>&lt;</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 . '>&gt;</a></li>';
         $params[$paramName] = $pageCount;
         $value .= '<li><a href="' . Request::url(null, null, null, null, Request::getRequestedArgs(), $params, $anchor, true) . '"' . $allExtra . '>&gt;&gt;</a></li>';
     }
     $value = '<nav><ul class="pagination">' . $value . "</ul></nav>";
     return $value;
 }