Ejemplo n.º 1
0
 /**
  * Setup common template variables.
  * @param $subclass boolean set to true if caller is below this handler in the hierarchy
  */
 function setupTemplate($subclass = false, $paperId = 0, $parentPage = null)
 {
     parent::setupTemplate();
     AppLocale::requireComponents(array(LOCALE_COMPONENT_OCS_AUTHOR, LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_OCS_DIRECTOR, LOCALE_COMPONENT_OCS_MANAGER));
     $templateMgr =& TemplateManager::getManager();
     $pageHierarchy = $subclass ? array(array(Request::url(null, null, 'user'), 'navigation.user'), array(Request::url(null, null, 'author'), 'user.role.author'), array(Request::url(null, null, 'author'), 'paper.submissions')) : array(array(Request::url(null, null, 'user'), 'navigation.user'), array(Request::url(null, null, 'author'), 'user.role.author'));
     import('submission.trackDirector.TrackDirectorAction');
     $submissionCrumb = TrackDirectorAction::submissionBreadcrumb($paperId, $parentPage, 'author');
     if (isset($submissionCrumb)) {
         $pageHierarchy = array_merge($pageHierarchy, $submissionCrumb);
     }
     $templateMgr->assign('pageHierarchy', $pageHierarchy);
     // ----------------------
     $conference =& Request::getConference();
     $schedConf =& Request::getSchedConf();
     $roleDao =& DAORegistry::getDAO('RoleDAO');
     $user = Request::getUser();
     $isConferenceManager = false;
     $isDirector = false;
     $isTrackDirector = false;
     $isAuthor = false;
     if (isset($user)) {
         $roles =& $roleDao->getRolesByUserId($user->getId(), $conference->getId(), $schedConf->getId());
         foreach ($roles as $role) {
             $roleId = $role->_data['roleId'];
             //echo $roleId . "|";
             if (intval($roleId) === 4096) {
                 $isConferenceManager = true;
             } else {
                 if (intval($roleId) === 256) {
                     $isDirector = true;
                 } else {
                     if (intval($roleId) === 128) {
                         $isTrackDirector = true;
                     } else {
                         if (intval($roleId) === 64) {
                             $isAuthor = true;
                         }
                     }
                 }
             }
         }
     }
     //$roles =& $roleDao->getRolesByUserId($user->getId(), $conference->getId());
     //print_r($roles);
     $templateMgr->assign('isConferenceManager', $isConferenceManager);
     $templateMgr->assign('$isDirector', $isDirector);
     $templateMgr->assign('$isTrackDirector', $isTrackDirector);
     $templateMgr->assign('$isAuthor', $isAuthor);
     // -------------------------
     $templateMgr->assign("conferenceUrl", Request::url(null, 'index'));
     $templateMgr->assign("schedConfUrl", Request::url(null, $conference->getSetting('path')));
     $templateMgr->assign("conferenceId", $conference->getId());
     $templateMgr->assign("schedConfId", $schedConf->getId());
     // -------------------------
 }
Ejemplo n.º 2
0
 /**
  * View a file (inlines file).
  * @param $args array ($paperId, $galleyId, $fileId [optional])
  * @param $request Request
  */
 function viewFile($args, &$request)
 {
     $paperId = isset($args[0]) ? $args[0] : 0;
     $galleyId = isset($args[1]) ? $args[1] : 0;
     $fileId = isset($args[2]) ? (int) $args[2] : 0;
     $this->validate($request, $paperId, $galleyId);
     $paper =& $this->paper;
     $this->setupTemplate($request);
     $galleyDao = DAORegistry::getDAO('PaperGalleyDAO');
     $galley =& $galleyDao->getGalley($galleyId, $paper->getId());
     if (!$galley) {
         $request->redirect(null, null, null, null, 'view', $paperId);
     }
     if (!$fileId) {
         $galleyDao->incrementViews($galleyId);
         $fileId = $galley->getFileId();
     } else {
         if (!$galley->isDependentFile($fileId)) {
             $request->redirect(null, null, null, null, 'view', $paperId);
         }
     }
     // reuse track director's view file function
     import('classes.submission.trackDirector.TrackDirectorAction');
     TrackDirectorAction::viewFile($paper->getId(), $fileId);
 }
Ejemplo n.º 3
0
 /**
  * Setup common template variables.
  * @param $level int set to 0 if caller is at the same level as this handler in the hierarchy; otherwise the number of levels below this handler
  */
 function setupTemplate($request, $level = DIRECTOR_TRACK_HOME, $paperId = 0, $parentPage = null)
 {
     parent::setupTemplate($request);
     $templateMgr =& TemplateManager::getManager();
     $conference =& $request->getConference();
     $schedConf =& $request->getSchedConf();
     $pageHierarchy = array();
     if ($schedConf) {
         $pageHierarchy[] = array($request->url(null, null, 'index'), $schedConf->getFullTitle(), true);
     } elseif ($conference) {
         $pageHierarchy[] = array($request->url(null, 'index', 'index'), $conference->getConferenceTitle(), true);
     }
     $pageHierarchy[] = array($request->url(null, null, 'user'), 'navigation.user');
     if ($level == DIRECTOR_TRACK_SUBMISSIONS) {
         $pageHierarchy[] = array($request->url(null, null, 'director'), 'user.role.director');
         $pageHierarchy[] = array($request->url(null, null, 'director', 'submissions'), 'paper.submissions');
     }
     import('classes.submission.trackDirector.TrackDirectorAction');
     $submissionCrumb = TrackDirectorAction::submissionBreadcrumb($paperId, $parentPage, 'director');
     if (isset($submissionCrumb)) {
         $pageHierarchy = array_merge($pageHierarchy, $submissionCrumb);
     }
     $templateMgr->assign('pageHierarchy', $pageHierarchy);
 }
Ejemplo n.º 4
0
 /**
  * View a file (inlines file).
  * @param $args array ($paperId, $fileId, [$revision])
  */
 function viewFile($args, $request)
 {
     $paperId = (int) array_shift($args);
     $fileId = (int) array_shift($args);
     $revision = (int) array_shift($args);
     $this->validate($request, $paperId);
     if (!TrackDirectorAction::viewFile($paperId, $fileId, $revision)) {
         $request->redirect(null, null, null, 'submission', $paperId);
     }
 }
Ejemplo n.º 5
0
 /**
  * Delete comment.
  */
 function deleteComment($args, $request)
 {
     $paperId = (int) array_shift($args);
     $commentId = (int) array_shift($args);
     $this->addCheck(new HandlerValidatorSubmissionComment($this, $commentId));
     $this->validate($request);
     $comment =& $this->comment;
     $submissionEditHandler = new SubmissionEditHandler();
     $submissionEditHandler->validate($request, $paperId);
     $paperDao = DAORegistry::getDAO('PaperDAO');
     $submission =& $paperDao->getPaper($paperId);
     TrackDirectorAction::deleteComment($commentId);
     // Redirect back to initial comments page
     if ($comment->getCommentType() == COMMENT_TYPE_PEER_REVIEW) {
         $request->redirect(null, null, null, 'viewPeerReviewComments', array($paperId, $comment->getAssocId()));
     } else {
         if ($comment->getCommentType() == COMMENT_TYPE_DIRECTOR_DECISION) {
             $request->redirect(null, null, null, 'viewDirectorDecisionComments', $paperId);
         }
     }
 }
Ejemplo n.º 6
0
 /**
  * Notifies an author that a submission was unsuitable.
  * @param $trackDirectorSubmission object
  * @return boolean true iff ready for redirect
  */
 function unsuitableSubmission($trackDirectorSubmission, $send = false)
 {
     $trackDirectorSubmissionDao =& DAORegistry::getDAO('TrackDirectorSubmissionDAO');
     $userDao =& DAORegistry::getDAO('UserDAO');
     $conference =& Request::getConference();
     $schedConf =& Request::getSchedConf();
     $user =& Request::getUser();
     $author =& $userDao->getUser($trackDirectorSubmission->getUserId());
     if (!isset($author)) {
         return true;
     }
     import('mail.PaperMailTemplate');
     $email = new PaperMailTemplate($trackDirectorSubmission, 'SUBMISSION_UNSUITABLE');
     if (!$email->isEnabled() || $send && !$email->hasErrors()) {
         HookRegistry::call('TrackDirectorAction::unsuitableSubmission', array(&$trackDirectorSubmission, &$author, &$email));
         if ($email->isEnabled()) {
             $email->setAssoc(PAPER_EMAIL_DIRECTOR_NOTIFY_AUTHOR_UNSUITABLE, PAPER_EMAIL_TYPE_DIRECTOR, $user->getId());
             $email->send();
         }
         TrackDirectorAction::archiveSubmission($trackDirectorSubmission);
         return true;
     } else {
         if (!Request::getUserVar('continued')) {
             $paramArray = array('editorialContactSignature' => $user->getContactSignature(), 'authorName' => $author->getFullName(), 'locationCity' => $schedConf->getSetting('locationCity'));
             $email->assignParams($paramArray);
             $email->addRecipient($author->getEmail(), $author->getFullName());
         }
         $email->displayEditForm(Request::url(null, null, null, 'unsuitableSubmission'), array('paperId' => $trackDirectorSubmission->getPaperId()));
         return false;
     }
 }
Ejemplo n.º 7
0
 /**
  * Setup common template variables.
  * @param $subclass boolean set to true if caller is below this handler in the hierarchy
  */
 function setupTemplate($request, $subclass = false, $paperId = 0, $parentPage = null)
 {
     parent::setupTemplate();
     Locale::requireComponents(array(LOCALE_COMPONENT_OCS_DIRECTOR, LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_OCS_AUTHOR));
     $templateMgr =& TemplateManager::getManager();
     $isDirector = Validation::isDirector();
     $pageHierarchy = array();
     $conference =& $request->getConference();
     $schedConf =& $request->getSchedConf();
     $templateMgr->assign('helpTopicId', $isDirector ? 'editorial.directorsRole' : 'editorial.trackDirectorsRole');
     if ($schedConf) {
         $pageHierarchy[] = array($request->url(null, null, 'index'), $schedConf->getFullTitle(), true);
     } elseif ($conference) {
         $pageHierarchy[] = array($request->url(null, 'index', 'index'), $conference->getConferenceTitle(), true);
     }
     $roleSymbolic = $isDirector ? 'director' : 'trackDirector';
     $roleKey = $isDirector ? 'user.role.director' : 'user.role.trackDirector';
     $pageHierarchy[] = array($request->url(null, null, 'user'), 'navigation.user');
     $pageHierarchy[] = array($request->url(null, null, $roleSymbolic), $roleKey);
     if ($subclass) {
         $pageHierarchy[] = array($request->url(null, null, $roleSymbolic), 'paper.submissions');
     }
     import('classes.submission.trackDirector.TrackDirectorAction');
     $submissionCrumb = TrackDirectorAction::submissionBreadcrumb($paperId, $parentPage, $roleSymbolic);
     if (isset($submissionCrumb)) {
         $pageHierarchy = array_merge($pageHierarchy, $submissionCrumb);
     }
     $templateMgr->assign('pageHierarchy', $pageHierarchy);
 }
Ejemplo n.º 8
0
 /**
  * View a file (inlines file).
  * @param $args array ($paperId, $fileId, [$revision])
  */
 function viewFile($args)
 {
     $paperId = isset($args[0]) ? $args[0] : 0;
     $fileId = isset($args[1]) ? $args[1] : 0;
     $revision = isset($args[2]) ? $args[2] : null;
     $this->validate($paperId);
     if (!TrackDirectorAction::viewFile($paperId, $fileId, $revision)) {
         Request::redirect(null, null, null, 'submission', $paperId);
     }
 }
 /**
  * Change the session type for a submission.
  */
 function changeSessionType()
 {
     $paperId = Request::getUserVar('paperId');
     $this->validate($paperId);
     $conference =& Request::getConference();
     $schedConf =& Request::getSchedConf();
     $submission =& $this->submission;
     $sessionType = Request::getUserVar('sessionType');
     TrackDirectorAction::changeSessionType($submission, $sessionType);
     Request::redirect(null, null, null, 'submission', $paperId);
 }
Ejemplo n.º 10
0
 /**
  * Setup common template variables.
  * @param $subclass boolean set to true if caller is below this handler in the hierarchy
  */
 function setupTemplate($request, $subclass = false, $paperId = 0, $parentPage = null)
 {
     parent::setupTemplate($request);
     AppLocale::requireComponents(LOCALE_COMPONENT_APP_AUTHOR, LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_APP_EDITOR, LOCALE_COMPONENT_APP_MANAGER);
     $templateMgr =& TemplateManager::getManager();
     $pageHierarchy = $subclass ? array(array($request->url(null, null, 'user'), 'navigation.user'), array($request->url(null, null, 'author'), 'user.role.author'), array($request->url(null, null, 'author'), 'paper.submissions')) : array(array($request->url(null, null, 'user'), 'navigation.user'), array($request->url(null, null, 'author'), 'user.role.author'));
     import('classes.submission.trackDirector.TrackDirectorAction');
     $submissionCrumb = TrackDirectorAction::submissionBreadcrumb($paperId, $parentPage, 'author');
     if (isset($submissionCrumb)) {
         $pageHierarchy = array_merge($pageHierarchy, $submissionCrumb);
     }
     $templateMgr->assign('pageHierarchy', $pageHierarchy);
 }