/**
  * Display section editor index page.
  */
 function index($args)
 {
     SectionEditorHandler::validate();
     SectionEditorHandler::setupTemplate();
     $journal =& Request::getJournal();
     $user =& Request::getUser();
     $rangeInfo = Handler::getRangeInfo('submissions');
     // Get the user's search conditions, if any
     $searchField = Request::getUserVar('searchField');
     $dateSearchField = Request::getUserVar('dateSearchField');
     $searchMatch = Request::getUserVar('searchMatch');
     $search = Request::getUserVar('search');
     $fromDate = Request::getUserDateVar('dateFrom', 1, 1);
     if ($fromDate !== null) {
         $fromDate = date('Y-m-d H:i:s', $fromDate);
     }
     $toDate = Request::getUserDateVar('dateTo', 32, 12, null, 23, 59, 59);
     if ($toDate !== null) {
         $toDate = date('Y-m-d H:i:s', $toDate);
     }
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     $sectionEditorSubmissionDao =& DAORegistry::getDAO('SectionEditorSubmissionDAO');
     $page = isset($args[0]) ? $args[0] : '';
     $sections =& $sectionDao->getSectionTitles($journal->getJournalId());
     switch ($page) {
         case 'submissionsInEditing':
             $functionName = 'getSectionEditorSubmissionsInEditing';
             $helpTopicId = 'editorial.sectionEditorsRole.submissions.inEditing';
             break;
         case 'submissionsArchives':
             $functionName = 'getSectionEditorSubmissionsArchives';
             $helpTopicId = 'editorial.sectionEditorsRole.submissions.archives';
             break;
         default:
             $page = 'submissionsInReview';
             $functionName = 'getSectionEditorSubmissionsInReview';
             $helpTopicId = 'editorial.sectionEditorsRole.submissions.inReview';
     }
     $submissions =& $sectionEditorSubmissionDao->{$functionName}($user->getUserId(), $journal->getJournalId(), Request::getUserVar('section'), $searchField, $searchMatch, $search, $dateSearchField, $fromDate, $toDate, $rangeInfo);
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign('helpTopicId', $helpTopicId);
     $templateMgr->assign('sectionOptions', array(0 => Locale::Translate('editor.allSections')) + $sections);
     $templateMgr->assign_by_ref('submissions', $submissions);
     $templateMgr->assign('section', Request::getUserVar('section'));
     $templateMgr->assign('pageToDisplay', $page);
     $templateMgr->assign('sectionEditor', $user->getFullName());
     // Set search parameters
     $duplicateParameters = array('searchField', 'searchMatch', 'search', 'dateFromMonth', 'dateFromDay', 'dateFromYear', 'dateToMonth', 'dateToDay', 'dateToYear', 'dateSearchField');
     foreach ($duplicateParameters as $param) {
         $templateMgr->assign($param, Request::getUserVar($param));
     }
     $templateMgr->assign('dateFrom', $fromDate);
     $templateMgr->assign('dateTo', $toDate);
     $templateMgr->assign('fieldOptions', array(SUBMISSION_FIELD_TITLE => 'article.title', SUBMISSION_FIELD_AUTHOR => 'user.role.author', SUBMISSION_FIELD_EDITOR => 'user.role.editor'));
     $templateMgr->assign('dateFieldOptions', array(SUBMISSION_FIELD_DATE_SUBMITTED => 'submissions.submitted', SUBMISSION_FIELD_DATE_COPYEDIT_COMPLETE => 'submissions.copyeditComplete', SUBMISSION_FIELD_DATE_LAYOUT_COMPLETE => 'submissions.layoutComplete', SUBMISSION_FIELD_DATE_PROOFREADING_COMPLETE => 'submissions.proofreadingComplete'));
     import('issue.IssueAction');
     $issueAction =& new IssueAction();
     $templateMgr->register_function('print_issue_id', array($issueAction, 'smartyPrintIssueId'));
     $templateMgr->display('sectionEditor/index.tpl');
 }
Exemple #2
0
 /**
  * Display the form.
  */
 function display()
 {
     $templateMgr =& TemplateManager::getManager();
     $journal =& Request::getJournal();
     // set up the accessibility options pulldown
     $templateMgr->assign('enableDelayedOpenAccess', $journal->getSetting('enableDelayedOpenAccess'));
     $templateMgr->assign('accessOptions', array(ISSUE_ACCESS_OPEN => Locale::Translate('editor.issues.openAccess'), ISSUE_ACCESS_SUBSCRIPTION => Locale::Translate('editor.issues.subscription')));
     $templateMgr->assign('enablePublicIssueId', $journal->getSetting('enablePublicIssueId'));
     parent::display();
 }
Exemple #3
0
 /**
  * Show advanced search form.
  */
 function advanced()
 {
     parent::validate();
     SearchHandler::setupTemplate(false);
     $templateMgr =& TemplateManager::getManager();
     if (Request::getJournal() == null) {
         $journalDao =& DAORegistry::getDAO('JournalDAO');
         $journals =& $journalDao->getEnabledJournalTitles();
         //Enabled added
         $templateMgr->assign('siteSearch', true);
         $templateMgr->assign('journalOptions', array('' => Locale::Translate('search.allJournals')) + $journals);
         $journalPath = Request::getRequestedJournalPath();
     }
     SearchHandler::assignAdvancedSearchParameters($templateMgr);
     $templateMgr->display('search/advancedSearch.tpl');
 }
 /**
  * Show advanced search form.
  */
 function advanced()
 {
     parent::validate();
     SearchHandler::setupTemplate(false);
     $templateMgr =& TemplateManager::getManager();
     $publishedPaperDao =& DAORegistry::getDAO('PublishedPaperDAO');
     if (Request::getConference() == null) {
         $conferenceDao =& DAORegistry::getDAO('ConferenceDAO');
         $conferences =& $conferenceDao->getConferenceTitles(true);
         //Enabled added
         $templateMgr->assign('siteSearch', true);
         $templateMgr->assign('conferenceOptions', array('' => Locale::Translate('search.allConferences')) + $conferences);
         $yearRange = $publishedPaperDao->getPaperYearRange(null);
     } else {
         $conference =& Request::getConference();
         $yearRange = $publishedPaperDao->getPaperYearRange($conference->getId());
     }
     SearchHandler::_assignAdvancedSearchParameters($templateMgr, $yearRange);
     $templateMgr->display('search/advancedSearch.tpl');
 }
 /**
  * Show advanced search form.
  */
 function advanced()
 {
     $this->validate();
     $this->setupTemplate(false);
     $templateMgr =& TemplateManager::getManager();
     $publishedArticleDao =& DAORegistry::getDAO('PublishedArticleDAO');
     if (Request::getJournal() == null) {
         $journalDao =& DAORegistry::getDAO('JournalDAO');
         $journals =& $journalDao->getJournalTitles(true);
         $templateMgr->assign('siteSearch', true);
         $templateMgr->assign('journalOptions', array('' => Locale::Translate('search.allJournals')) + $journals);
         $journalPath = Request::getRequestedJournalPath();
         $yearRange = $publishedArticleDao->getArticleYearRange(null);
     } else {
         $journal =& Request::getJournal();
         $yearRange = $publishedArticleDao->getArticleYearRange($journal->getId());
     }
     $this->_assignAdvancedSearchParameters($templateMgr, $yearRange);
     $templateMgr->display('search/advancedSearch.tpl');
 }
 function sendReminder($subscription, $journal, $emailKey)
 {
     $userDao =& DAORegistry::getDAO('UserDAO');
     $subscriptionTypeDao =& DAORegistry::getDAO('SubscriptionTypeDAO');
     $journalName = $journal->getLocalizedTitle();
     $journalId = $journal->getId();
     $user =& $userDao->getUser($subscription->getUserId());
     if (!isset($user)) {
         return false;
     }
     $subscriptionType =& $subscriptionTypeDao->getSubscriptionType($subscription->getTypeId());
     $subscriptionName = $journal->getSetting('subscriptionName');
     $subscriptionEmail = $journal->getSetting('subscriptionEmail');
     $subscriptionPhone = $journal->getSetting('subscriptionPhone');
     $subscriptionFax = $journal->getSetting('subscriptionFax');
     $subscriptionMailingAddress = $journal->getSetting('subscriptionMailingAddress');
     $subscriptionContactSignature = $subscriptionName;
     Locale::requireComponents(array(LOCALE_COMPONENT_PKP_USER, LOCALE_COMPONENT_APPLICATION_COMMON));
     if ($subscriptionMailingAddress != '') {
         $subscriptionContactSignature .= "\n" . $subscriptionMailingAddress;
     }
     if ($subscriptionPhone != '') {
         $subscriptionContactSignature .= "\n" . Locale::Translate('user.phone') . ': ' . $subscriptionPhone;
     }
     if ($subscriptionFax != '') {
         $subscriptionContactSignature .= "\n" . Locale::Translate('user.fax') . ': ' . $subscriptionFax;
     }
     $subscriptionContactSignature .= "\n" . Locale::Translate('user.email') . ': ' . $subscriptionEmail;
     $paramArray = array('subscriberName' => $user->getFullName(), 'journalName' => $journalName, 'subscriptionType' => $subscriptionType->getSummaryString(), 'expiryDate' => $subscription->getDateEnd(), 'username' => $user->getUsername(), 'subscriptionContactSignature' => $subscriptionContactSignature);
     import('classes.mail.MailTemplate');
     $mail = new MailTemplate($emailKey);
     $mail->setFrom($subscriptionEmail, $subscriptionName);
     $mail->addRecipient($user->getEmail(), $user->getFullName());
     $mail->setSubject($mail->getSubject($journal->getPrimaryLocale()));
     $mail->setBody($mail->getBody($journal->getPrimaryLocale()));
     $mail->assignParams($paramArray);
     $mail->send();
 }
 function sendReminder($registration, $conference, $schedConf, $emailKey)
 {
     $userDao =& DAORegistry::getDAO('UserDAO');
     $registrationTypeDao =& DAORegistry::getDAO('RegistrationTypeDAO');
     $schedConfName = $schedConf->getLocalizedTitle();
     $schedConfId = $schedConf->getId();
     $user =& $userDao->getUser($registration->getUserId());
     if (!isset($user)) {
         return false;
     }
     $registrationType =& $registrationTypeDao->getRegistrationType($registration->getTypeId());
     $registrationName = $schedConf->getSetting('registrationName');
     $registrationEmail = $schedConf->getSetting('registrationEmail');
     $registrationPhone = $schedConf->getSetting('registrationPhone');
     $registrationFax = $schedConf->getSetting('registrationFax');
     $registrationMailingAddress = $schedConf->getSetting('registrationMailingAddress');
     $registrationContactSignature = $registrationName;
     if ($registrationMailingAddress != '') {
         $registrationContactSignature .= "\n" . $registrationMailingAddress;
     }
     if ($registrationPhone != '') {
         $registrationContactSignature .= "\n" . Locale::Translate('user.phone') . ': ' . $registrationPhone;
     }
     if ($registrationFax != '') {
         $registrationContactSignature .= "\n" . Locale::Translate('user.fax') . ': ' . $registrationFax;
     }
     $registrationContactSignature .= "\n" . Locale::Translate('user.email') . ': ' . $registrationEmail;
     $paramArray = array('registrantName' => $user->getFullName(), 'conferenceName' => $conferenceName, 'schedConfName' => $schedConfName, 'registrationType' => $registrationType->getSummaryString(), 'expiryDate' => $registration->getDateEnd(), 'username' => $user->getUsername(), 'registrationContactSignature' => $registrationContactSignature);
     import('classes.mail.MailTemplate');
     $mail = new MailTemplate($emailKey);
     $mail->setFrom($registrationEmail, $registrationName);
     $mail->addRecipient($user->getEmail(), $user->getFullName());
     $mail->setSubject($mail->getSubject($conference->getPrimaryLocale()));
     $mail->setBody($mail->getBody($conference->getPrimaryLocale()));
     $mail->assignParams($paramArray);
     $mail->send();
 }
 /**
  * Display external feed content on journal homepage.
  * @param $hookName string
  * @param $args array
  */
 function displayHomepage($hookName, $args)
 {
     $journal =& Request::getJournal();
     $journalId = $journal ? $journal->getId() : 0;
     if ($this->getEnabled()) {
         $requestedPage = Request::getRequestedPage();
         if (empty($requestedPage) || $requestedPage == 'index') {
             $externalFeedDao =& DAORegistry::getDAO('ExternalFeedDAO');
             $this->import('simplepie.SimplePie');
             $feeds =& $externalFeedDao->getExternalFeedsByJournalId($journal->getId());
             $output = '<div id="externalFeedsHome">';
             while ($currentFeed =& $feeds->next()) {
                 if (!$currentFeed->getDisplayHomepage()) {
                     continue;
                 }
                 $feed = new SimplePie();
                 $feed->set_feed_url($currentFeed->getUrl());
                 $feed->enable_order_by_date(false);
                 $feed->set_cache_location(CacheManager::getFileCachePath());
                 $feed->init();
                 if ($currentFeed->getLimitItems()) {
                     $recentItems = $currentFeed->getRecentItems();
                 } else {
                     $recentItems = 0;
                 }
                 $output .= '<h3>' . $currentFeed->getLocalizedTitle() . '</h3>';
                 $output .= '<table class="externalFeeds">';
                 $output .= '<tr>';
                 $output .= '<td colspan="2" class="headseparator">&nbsp;</td>';
                 $output .= '</tr>';
                 $separator = '';
                 foreach ($feed->get_items(0, $recentItems) as $item) {
                     $output .= $separator;
                     $output .= '<tr class="title">';
                     $output .= '<td colspan="2" class="title">';
                     $output .= '<h4>' . $item->get_title() . '</h4>';
                     $output .= '</td>';
                     $output .= '</tr>';
                     $output .= '<tr class="description">';
                     $output .= '<td colspan="2" class="description">';
                     $output .= $item->get_description();
                     $output .= '</td>';
                     $output .= '</tr>';
                     $output .= '<tr class="details">';
                     $output .= '<td class="posted">';
                     $output .= Locale::Translate('plugins.generic.externalFeed.posted') . ': ' . date('Y-m-d', strtotime($item->get_date()));
                     $output .= '</td>';
                     $output .= '<td class="more">';
                     $output .= '<a href="' . $item->get_permalink() . '" target="_blank">' . Locale::Translate('plugins.generic.externalFeed.more') . '</a>';
                     $output .= '</td>';
                     $output .= '</tr>';
                     $separator = '<tr><td colspan="2" class="separator">&nbsp;</td></tr>';
                 }
                 $output .= '<tr><td colspan="2" class="endseparator">&nbsp;</td></tr>';
                 $output .= '</table>';
             }
             $output .= '</div>';
             $templateManager =& $args[0];
             $additionalHomeContent = $templateManager->get_template_vars('additionalHomeContent');
             $templateManager->assign('additionalHomeContent', $additionalHomeContent . "\n\n" . $output);
         }
     }
 }
 /**
  * Save thesis. 
  */
 function execute()
 {
     $thesisPlugin =& PluginRegistry::getPlugin('generic', $this->parentPluginName);
     $thesisPlugin->import('Thesis');
     $thesisDao =& DAORegistry::getDAO('ThesisDAO');
     $journal =& Request::getJournal();
     $journalId = $journal->getId();
     $thesis = new Thesis();
     $thesis->setJournalId($journalId);
     $thesis->setStatus(THESIS_STATUS_INACTIVE);
     $thesis->setDegree($this->getData('degree'));
     $thesis->setDegreeName($this->getData('degreeName'));
     $thesis->setDepartment($this->getData('department'));
     $thesis->setUniversity($this->getData('university'));
     $thesis->setTitle($this->getData('title'));
     $thesis->setDateApproved($this->getData('dateApprovedYear') . '-' . $this->getData('dateApprovedMonth') . '-' . $this->getData('dateApprovedDay'));
     $thesis->setUrl(strtolower($this->getData('url')));
     $thesis->setAbstract($this->getData('abstract'));
     $thesis->setComment($this->getData('comment'));
     $thesis->setStudentFirstName($this->getData('studentFirstName'));
     $thesis->setStudentMiddleName($this->getData('studentMiddleName'));
     $thesis->setStudentLastName($this->getData('studentLastName'));
     $thesis->setStudentEmail($this->getData('studentEmail'));
     $thesis->setStudentEmailPublish($this->getData('studentEmailPublish') == null ? 0 : 1);
     $thesis->setStudentBio($this->getData('studentBio'));
     $thesis->setSupervisorFirstName($this->getData('supervisorFirstName'));
     $thesis->setSupervisorMiddleName($this->getData('supervisorMiddleName'));
     $thesis->setSupervisorLastName($this->getData('supervisorLastName'));
     $thesis->setSupervisorEmail($this->getData('supervisorEmail'));
     $thesis->setDiscipline($this->getData('discipline'));
     $thesis->setSubjectClass($this->getData('subjectClass'));
     $thesis->setSubject($this->getData('keyword'));
     $thesis->setCoverageGeo($this->getData('coverageGeo'));
     $thesis->setCoverageChron($this->getData('coverageChron'));
     $thesis->setCoverageSample($this->getData('coverageSample'));
     $thesis->setMethod($this->getData('method'));
     $thesis->setLanguage($this->getData('language'));
     $thesis->setDateSubmitted(Core::getCurrentDate());
     $thesisDao->insertThesis($thesis);
     // Send supervisor confirmation email
     if (!empty($this->uploadCodeEnabled)) {
         $uploadCode = $thesisPlugin->getSetting($journalId, 'uploadCode');
         $submittedUploadCode = $this->getData('uploadCode');
     }
     if (empty($uploadCode) || $uploadCode != $submittedUploadCode) {
         $journalName = $journal->getLocalizedTitle();
         $thesisName = $thesisPlugin->getSetting($journalId, 'thesisName');
         $thesisEmail = $thesisPlugin->getSetting($journalId, 'thesisEmail');
         $thesisPhone = $thesisPlugin->getSetting($journalId, 'thesisPhone');
         $thesisFax = $thesisPlugin->getSetting($journalId, 'thesisFax');
         $thesisMailingAddress = $thesisPlugin->getSetting($journalId, 'thesisMailingAddress');
         $thesisContactSignature = $thesisName;
         if (!empty($thesisMailingAddress)) {
             $thesisContactSignature .= "\n" . $thesisMailingAddress;
         }
         if (!empty($thesisPhone)) {
             $thesisContactSignature .= "\n" . Locale::Translate('user.phone') . ': ' . $thesisPhone;
         }
         if (!empty($thesisFax)) {
             $thesisContactSignature .= "\n" . Locale::Translate('user.fax') . ': ' . $thesisFax;
         }
         $thesisContactSignature .= "\n" . Locale::Translate('user.email') . ': ' . $thesisEmail;
         $studentName = $thesis->getStudentFirstName() . ' ' . $thesis->getStudentLastName();
         $supervisorName = $thesis->getSupervisorFirstName() . ' ' . $thesis->getSupervisorLastName();
         $paramArray = array('journalName' => $journalName, 'thesisName' => $thesisName, 'thesisEmail' => $thesisEmail, 'title' => $thesis->getTitle(), 'studentName' => $studentName, 'degree' => Locale::Translate($thesis->getDegreeString()), 'degreeName' => $thesis->getDegreeName(), 'department' => $thesis->getDepartment(), 'university' => $thesis->getUniversity(), 'dateApproved' => $thesis->getDateApproved(), 'supervisorName' => $supervisorName, 'abstract' => $thesis->getAbstract(), 'thesisContactSignature' => $thesisContactSignature);
         import('classes.mail.MailTemplate');
         $mail = new MailTemplate('THESIS_ABSTRACT_CONFIRM');
         $mail->setFrom($thesisEmail, "\"" . $thesisName . "\"");
         $mail->assignParams($paramArray);
         $mail->addRecipient($thesis->getSupervisorEmail(), "\"" . $supervisorName . "\"");
         $mail->addCc($thesis->getStudentEmail(), "\"" . $studentName . "\"");
         $mail->send();
     }
 }
 /**
  * Setup common template variables.
  * @param $subclass boolean set to true if caller is below this handler in the hierarchy
  */
 function setupTemplate($subclass = false)
 {
     $templateMgr =& TemplateManager::getManager();
     if ($subclass) {
         $templateMgr->append('pageHierarchy', array(Request::url(null, 'booksForReview'), Locale::Translate('plugins.generic.booksForReview.displayName'), true));
     }
     $bfrPlugin =& PluginRegistry::getPlugin('generic', BOOKS_FOR_REVIEW_PLUGIN_NAME);
     $templateMgr->addStyleSheet(Request::getBaseUrl() . '/' . $bfrPlugin->getStyleSheet());
 }
Exemple #11
0
 function getSpecificDiscussionsText($option)
 {
     switch ($option) {
         case MINUTES_REVIEW_POPULATION_SELECTION:
             return Locale::Translate('editor.minutes.initialReview.populationSelect');
         case MINUTES_REVIEW_SCIENTIFIC_DESIGN:
             return Locale::Translate('editor.minutes.initialReview.scientificDesign');
         case MINUTES_REVIEW_MINIMIZATIONS:
             return Locale::Translate('editor.minutes.initialReview.minimizations');
         case MINUTES_REVIEW_SAFEGUARDS:
             return Locale::Translate('editor.minutes.initialReview.safeguards');
         case MINUTES_REVIEW_CONFIDENTIALITY:
             return Locale::Translate('editor.minutes.initialReview.confidentiality');
         case MINUTES_REVIEW_RISKS:
             return Locale::Translate('editor.minutes.initialReview.risks');
         case MINUTES_REVIEW_BENEFITS:
             return Locale::Translate('editor.minutes.initialReview.benefits');
         case MINUTES_REVIEW_CONSENT_DOCUMENT:
             return Locale::Translate('editor.minutes.initialReview.consentDocument');
         case MINUTES_REVIEW_OTHER_CONSIDERATIONS:
             return Locale::Translate('editor.minutes.initialReview.otherConsiderations');
         case MINUTES_REVIEW_LOCAL_IRB:
             return Locale::Translate('editor.minutes.initialReview.localIrbApproval');
         default:
             return Locale::Translate('editor.minutes.specificDiscussion');
     }
 }
 /**
  * Display section editor index page.
  */
 function index($args)
 {
     $this->validate();
     $this->setupTemplate();
     $journal =& Request::getJournal();
     $user =& Request::getUser();
     $rangeInfo = Handler::getRangeInfo('submissions');
     // Get the user's search conditions, if any
     $searchField = Request::getUserVar('searchField');
     $dateSearchField = Request::getUserVar('dateSearchField');
     $searchMatch = Request::getUserVar('searchMatch');
     $search = Request::getUserVar('search');
     $fromDate = Request::getUserDateVar('dateFrom', 1, 1);
     if ($fromDate !== null) {
         $fromDate = date('Y-m-d H:i:s', $fromDate);
     }
     $toDate = Request::getUserDateVar('dateTo', 32, 12, null, 23, 59, 59);
     if ($toDate !== null) {
         $toDate = date('Y-m-d H:i:s', $toDate);
     }
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     $sectionEditorSubmissionDao =& DAORegistry::getDAO('SectionEditorSubmissionDAO');
     $page = isset($args[0]) ? $args[0] : '';
     $sections =& $sectionDao->getSectionTitles($journal->getId());
     $sort = Request::getUserVar('sort');
     $sort = isset($sort) ? $sort : 'title';
     $sortDirection = Request::getUserVar('sortDirection');
     $filterSectionOptions = array(FILTER_SECTION_ALL => Locale::Translate('editor.allSections')) + $sections;
     switch ($page) {
         case 'waitingForResubmissions':
             $functionName = 'getSectionEditorWaitingForSubmissionsIterator';
             break;
         case 'submissionsInReview':
             $functionName = 'getSectionEditorSubmissionsInReviewIterator';
             break;
         case 'submissionsApproved':
             $functionName = 'getSectionEditorSubmissionsApprovedIterator';
             break;
         case 'submissionsCompleted':
             $functionName = 'getSectionEditorSubmissionsCompletedIterator';
             break;
         case 'submissionsArchives':
             $functionName = 'getSectionEditorSubmissionsArchivesIterator';
             break;
         default:
             $page = 'submissionsSubmitted';
             $functionName = 'getSectionEditorSubmissionsSubmittedIterator';
     }
     $submissions =& $sectionEditorSubmissionDao->{$functionName}($user->getSecretaryCommitteeId(), $journal->getId(), $searchField, $searchMatch, $search, $dateSearchField, $fromDate, $toDate, $rangeInfo, $sort, $sortDirection);
     $templateMgr =& TemplateManager::getManager();
     //$templateMgr->assign('helpTopicId', $helpTopicId);
     $templateMgr->assign('sectionOptions', $filterSectionOptions);
     $templateMgr->assign_by_ref('submissions', $submissions);
     // EL on February 19th 2013
     //$templateMgr->assign('filterSection', $filterSection);
     $templateMgr->assign('pageToDisplay', $page);
     $templateMgr->assign('sectionEditor', $user->getFullName());
     // Set search parameters
     $duplicateParameters = array('searchField', 'searchMatch', 'search', 'dateFromMonth', 'dateFromDay', 'dateFromYear', 'dateToMonth', 'dateToDay', 'dateToYear', 'dateSearchField');
     foreach ($duplicateParameters as $param) {
         $templateMgr->assign($param, Request::getUserVar($param));
     }
     $templateMgr->assign('dateFrom', $fromDate);
     $templateMgr->assign('dateTo', $toDate);
     $templateMgr->assign('fieldOptions', array(SUBMISSION_FIELD_TITLE => 'article.title', SUBMISSION_FIELD_AUTHOR => 'user.role.author', SUBMISSION_FIELD_EDITOR => 'user.role.editor'));
     $templateMgr->assign('dateFieldOptions', array(SUBMISSION_FIELD_DATE_SUBMITTED => 'submissions.submitted', SUBMISSION_FIELD_DATE_COPYEDIT_COMPLETE => 'submissions.copyeditComplete', SUBMISSION_FIELD_DATE_LAYOUT_COMPLETE => 'submissions.layoutComplete', SUBMISSION_FIELD_DATE_PROOFREADING_COMPLETE => 'submissions.proofreadingComplete'));
     $extraFieldDao =& DAORegistry::getDAO('ExtraFieldDAO');
     $countries =& $extraFieldDao->getExtraFieldsList(EXTRA_FIELD_GEO_AREA);
     $templateMgr->assign_by_ref('countries', $countries);
     import('classes.issue.IssueAction');
     $issueAction = new IssueAction();
     $templateMgr->register_function('print_issue_id', array($issueAction, 'smartyPrintIssueId'));
     $templateMgr->assign('sort', $sort);
     $templateMgr->assign('sortDirection', $sortDirection);
     $templateMgr->assign('ercId', $user->getSecretaryCommitteeId());
     $templateMgr->display('sectionEditor/index.tpl');
 }
 /**
  * Save subscription. 
  */
 function execute()
 {
     $subscriptionDao =& DAORegistry::getDAO('SubscriptionDAO');
     $journal =& Request::getJournal();
     if (isset($this->subscriptionId)) {
         $subscription =& $subscriptionDao->getSubscription($this->subscriptionId);
     }
     if (!isset($subscription)) {
         $subscription =& new Subscription();
     }
     $subscription->setJournalId($journal->getJournalId());
     $subscription->setUserId($this->getData('userId'));
     $subscription->setTypeId($this->getData('typeId'));
     $subscription->setDateStart($this->getData('dateStartYear') . '-' . $this->getData('dateStartMonth') . '-' . $this->getData('dateStartDay'));
     $subscription->setDateEnd($this->getData('dateEndYear') . '-' . $this->getData('dateEndMonth') . '-' . $this->getData('dateEndDay'));
     $subscription->setMembership($this->getData('membership') ? $this->getData('membership') : null);
     $subscription->setDomain($this->getData('domain') ? $this->getData('domain') : null);
     $subscription->setIPRange($this->getData('ipRange') ? $this->getData('ipRange') : null);
     // Update or insert subscription
     if ($subscription->getSubscriptionId() != null) {
         $subscriptionDao->updateSubscription($subscription);
     } else {
         $subscriptionDao->insertSubscription($subscription);
     }
     if ($this->getData('notifyEmail')) {
         // Send user subscription notification email
         $userDao =& DAORegistry::getDAO('UserDAO');
         $subscriptionTypeDao =& DAORegistry::getDAO('SubscriptionTypeDAO');
         $journalSettingsDao =& DAORegistry::getDAO('JournalSettingsDAO');
         $journalName = $journal->getJournalTitle();
         $journalId = $journal->getJournalId();
         $user =& $userDao->getUser($this->getData('userId'));
         $subscriptionType =& $subscriptionTypeDao->getSubscriptionType($this->getData('typeId'));
         $subscriptionName = $journalSettingsDao->getSetting($journalId, 'subscriptionName');
         $subscriptionEmail = $journalSettingsDao->getSetting($journalId, 'subscriptionEmail');
         $subscriptionPhone = $journalSettingsDao->getSetting($journalId, 'subscriptionPhone');
         $subscriptionFax = $journalSettingsDao->getSetting($journalId, 'subscriptionFax');
         $subscriptionMailingAddress = $journalSettingsDao->getSetting($journalId, 'subscriptionMailingAddress');
         $subscriptionContactSignature = $subscriptionName;
         if ($subscriptionMailingAddress != '') {
             $subscriptionContactSignature .= "\n" . $subscriptionMailingAddress;
         }
         if ($subscriptionPhone != '') {
             $subscriptionContactSignature .= "\n" . Locale::Translate('user.phone') . ': ' . $subscriptionPhone;
         }
         if ($subscriptionFax != '') {
             $subscriptionContactSignature .= "\n" . Locale::Translate('user.fax') . ': ' . $subscriptionFax;
         }
         $subscriptionContactSignature .= "\n" . Locale::Translate('user.email') . ': ' . $subscriptionEmail;
         $paramArray = array('subscriberName' => $user->getFullName(), 'journalName' => $journalName, 'subscriptionType' => $subscriptionType->getSummaryString(), 'username' => $user->getUsername(), 'subscriptionContactSignature' => $subscriptionContactSignature);
         import('mail.MailTemplate');
         $mail =& new MailTemplate('SUBSCRIPTION_NOTIFY');
         $mail->setFrom($subscriptionEmail, $subscriptionName);
         $mail->assignParams($paramArray);
         $mail->addRecipient($user->getEmail(), $user->getFullName());
         $mail->send();
     }
 }
 /**
  * Display the table of contents
  */
 function issueToc($args, $request)
 {
     $issueId = (int) array_shift($args);
     $this->validate($issueId, true);
     $issue =& $this->issue;
     $this->setupTemplate(EDITOR_SECTION_ISSUES);
     $templateMgr =& TemplateManager::getManager();
     $journal =& $request->getJournal();
     $journalId = $journal->getId();
     $journalSettingsDao =& DAORegistry::getDAO('JournalSettingsDAO');
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     $enablePublicArticleId = $journalSettingsDao->getSetting($journalId, 'enablePublicArticleId');
     $templateMgr->assign('enablePublicArticleId', $enablePublicArticleId);
     $enablePageNumber = $journalSettingsDao->getSetting($journalId, 'enablePageNumber');
     $templateMgr->assign('enablePageNumber', $enablePageNumber);
     $templateMgr->assign('customSectionOrderingExists', $customSectionOrderingExists = $sectionDao->customSectionOrderingExists($issueId));
     $templateMgr->assign('issueId', $issueId);
     $templateMgr->assign_by_ref('issue', $issue);
     $templateMgr->assign('unpublished', !$issue->getPublished());
     $templateMgr->assign('issueAccess', $issue->getAccessStatus());
     // get issue sections and articles
     $publishedArticleDao =& DAORegistry::getDAO('PublishedArticleDAO');
     $publishedArticles = $publishedArticleDao->getPublishedArticles($issueId);
     $layoutEditorSubmissionDao =& DAORegistry::getDAO('LayoutEditorSubmissionDAO');
     $proofedArticleIds = $layoutEditorSubmissionDao->getProofedArticlesByIssueId($issueId);
     $templateMgr->assign('proofedArticleIds', $proofedArticleIds);
     $currSection = 0;
     $counter = 0;
     $sections = array();
     $sectionCount = 0;
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     foreach ($publishedArticles as $article) {
         $sectionId = $article->getSectionId();
         if ($currSection != $sectionId) {
             $lastSectionId = $currSection;
             $sectionCount++;
             if ($lastSectionId !== 0) {
                 $sections[$lastSectionId][5] = $customSectionOrderingExists ? $sectionDao->getCustomSectionOrder($issueId, $sectionId) : $sectionCount;
             }
             // Store next custom order
             $currSection = $sectionId;
             $counter++;
             $sections[$sectionId] = array($sectionId, $article->getSectionTitle(), array($article), $counter, $customSectionOrderingExists ? $sectionDao->getCustomSectionOrder($issueId, $lastSectionId) : $sectionCount - 1, null);
         } else {
             $sections[$article->getSectionId()][2][] = $article;
         }
     }
     $templateMgr->assign_by_ref('sections', $sections);
     $templateMgr->assign('accessOptions', array(ARTICLE_ACCESS_ISSUE_DEFAULT => Locale::Translate('editor.issues.default'), ARTICLE_ACCESS_OPEN => Locale::Translate('editor.issues.open')));
     import('classes.issue.IssueAction');
     $templateMgr->assign('issueOptions', IssueAction::getIssueOptions());
     $templateMgr->assign('helpTopicId', 'publishing.tableOfContents');
     $templateMgr->addJavaScript('lib/pkp/js/lib/jquery/plugins/jquery.tablednd.js');
     $templateMgr->addJavaScript('lib/pkp/js/functions/tablednd.js');
     $templateMgr->display('editor/issues/issueToc.tpl');
 }
 /**
  * Display the table of contents
  */
 function issueToc($args)
 {
     $issueId = isset($args[0]) ? $args[0] : 0;
     $issue = IssueManagementHandler::validate($issueId, true);
     IssueManagementHandler::setupTemplate(EDITOR_SECTION_ISSUES);
     $templateMgr =& TemplateManager::getManager();
     $journal =& Request::getJournal();
     $journalId = $journal->getJournalId();
     $journalSettingsDao =& DAORegistry::getDAO('JournalSettingsDAO');
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     $enablePublicArticleId = $journalSettingsDao->getSetting($journalId, 'enablePublicArticleId');
     $templateMgr->assign('enablePublicArticleId', $enablePublicArticleId);
     $enableSubscriptions = $journalSettingsDao->getSetting($journalId, 'enableSubscriptions');
     $templateMgr->assign('enableSubscriptions', $enableSubscriptions);
     $enablePageNumber = $journalSettingsDao->getSetting($journalId, 'enablePageNumber');
     $templateMgr->assign('enablePageNumber', $enablePageNumber);
     $templateMgr->assign('customSectionOrderingExists', $customSectionOrderingExists = $sectionDao->customSectionOrderingExists($issueId));
     $templateMgr->assign('issueId', $issueId);
     $templateMgr->assign_by_ref('issue', $issue);
     $templateMgr->assign('unpublished', !$issue->getPublished());
     $templateMgr->assign('issueAccess', $issue->getAccessStatus());
     // get issue sections and articles
     $publishedArticleDao =& DAORegistry::getDAO('PublishedArticleDAO');
     $publishedArticles = $publishedArticleDao->getPublishedArticles($issueId);
     $layoutAssignmentDao =& DAORegistry::getDAO('LayoutAssignmentDAO');
     $proofedArticleIds = $layoutAssignmentDao->getProofedArticlesByIssueId($issueId);
     $templateMgr->assign('proofedArticleIds', $proofedArticleIds);
     $currSection = 0;
     $counter = 0;
     $sections = array();
     $sectionCount = 0;
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     foreach ($publishedArticles as $article) {
         $sectionId = $article->getSectionId();
         if ($currSection != $sectionId) {
             $lastSectionId = $currSection;
             $sectionCount++;
             if ($lastSectionId !== 0) {
                 $sections[$lastSectionId][5] = $customSectionOrderingExists ? $sectionDao->getCustomSectionOrder($issueId, $sectionId) : $sectionCount;
             }
             // Store next custom order
             $currSection = $sectionId;
             $counter++;
             $sections[$sectionId] = array($sectionId, $article->getSectionTitle(), array($article), $counter, $customSectionOrderingExists ? $sectionDao->getCustomSectionOrder($issueId, $lastSectionId) : $sectionCount - 1, null);
         } else {
             $sections[$article->getSectionId()][2][] = $article;
         }
     }
     $templateMgr->assign_by_ref('sections', $sections);
     $accessOptions[ISSUE_DEFAULT] = Locale::Translate('editor.issues.default');
     $accessOptions[OPEN_ACCESS] = Locale::Translate('editor.issues.open');
     $templateMgr->assign('accessOptions', $accessOptions);
     import('issue.IssueAction');
     $templateMgr->assign('issueOptions', IssueAction::getIssueOptions());
     $templateMgr->assign('helpTopicId', 'publishing.tableOfContents');
     $templateMgr->display('editor/issues/issueToc.tpl');
 }
 /**
  * Setup common template variables.
  * @param $subclass boolean set to true if caller is below this handler in the hierarchy
  */
 function setupTemplate($subclass = false)
 {
     $templateMgr =& TemplateManager::getManager();
     $pageCrumbs = array(array(Request::url(null, 'user'), 'navigation.user'), array(Request::url(null, 'editor'), 'user.role.editor'));
     if ($subclass) {
         $returnPage = Request::getUserVar('returnPage');
         if ($returnPage != null) {
             $validPages =& $this->getValidReturnPages();
             if (!in_array($returnPage, $validPages)) {
                 $returnPage = null;
             }
         }
         $pageCrumbs[] = array(Request::url(null, 'editor', 'booksForReview', $returnPage), Locale::Translate('plugins.generic.booksForReview.displayName'), true);
     }
     $templateMgr->assign('pageHierarchy', $pageCrumbs);
     $bfrPlugin =& PluginRegistry::getPlugin('generic', BOOKS_FOR_REVIEW_PLUGIN_NAME);
     $templateMgr->addStyleSheet(Request::getBaseUrl() . '/' . $bfrPlugin->getStyleSheet());
 }
 function getReplyStatus()
 {
     switch ($this->getIsAttending()) {
         case MEETING_REPLY_ATTENDING:
             return Locale::Translate('reviewer.meetings.replyStatus.attending');
         case MEETING_REPLY_NOT_ATTENDING:
             return Locale::Translate('reviewer.meetings.replyStatus.notAttending');
         default:
             return Locale::Translate('reviewer.meetings.replyStatus.awaitingReply');
     }
 }
Exemple #18
0
 /**
  * Handle incoming requests/notifications
  */
 function handle($args)
 {
     $templateMgr =& TemplateManager::getManager();
     $schedConf =& Request::getSchedConf();
     if (!$schedConf) {
         return parent::handle($args);
     }
     // Just in case we need to contact someone
     import('classes.mail.MailTemplate');
     $contactName = $schedConf->getSetting('contactName');
     $contactEmail = $schedConf->getSetting('contactEmail');
     $mail = new MailTemplate('PAYPAL_INVESTIGATE_PAYMENT');
     $mail->setFrom($contactEmail, $contactName);
     $mail->addRecipient($contactEmail, $contactName);
     $paymentStatus = Request::getUserVar('payment_status');
     switch (array_shift($args)) {
         case 'ipn':
             // Build a confirmation transaction.
             $req = 'cmd=_notify-validate';
             if (get_magic_quotes_gpc()) {
                 foreach ($_POST as $key => $value) {
                     $req .= '&' . urlencode(stripslashes($key)) . '=' . urlencode(stripslashes($value));
                 }
             } else {
                 foreach ($_POST as $key => $value) {
                     $req .= '&' . urlencode($key) . '=' . urlencode($value);
                 }
             }
             // Create POST response
             $ch = curl_init();
             curl_setopt($ch, CURLOPT_URL, $this->getSetting($schedConf->getConferenceId(), $schedConf->getId(), 'paypalurl'));
             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
             curl_setopt($ch, CURLOPT_POST, 1);
             curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded', 'Content-Length: ' . strlen($req)));
             curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
             $ret = curl_exec($ch);
             curl_close($ch);
             // Check the confirmation response and handle as necessary.
             if (strcmp($ret, 'VERIFIED') == 0) {
                 switch ($paymentStatus) {
                     case 'Completed':
                         $payPalDao =& DAORegistry::getDAO('PayPalDAO');
                         $transactionId = Request::getUserVar('txn_id');
                         if ($payPalDao->transactionExists($transactionId)) {
                             // A duplicate transaction was received; notify someone.
                             $mail->assignParams(array('schedConfName' => $schedConf->getFullTitle(), 'postInfo' => print_r($_POST, true), 'additionalInfo' => "Duplicate transaction ID: {$transactionId}", 'serverVars' => print_r($_SERVER, true)));
                             $mail->send();
                             exit;
                         } else {
                             // New transaction succeeded. Record it.
                             $payPalDao->insertTransaction($transactionId, Request::getUserVar('txn_type'), Request::getUserVar('payer_email'), Request::getUserVar('receiver_email'), Request::getUserVar('item_number'), Request::getUserVar('payment_date'), Request::getUserVar('payer_id'), Request::getUserVar('receiver_id'));
                             $queuedPaymentId = Request::getUserVar('custom');
                             import('classes.payment.ocs.OCSPaymentManager');
                             $ocsPaymentManager =& OCSPaymentManager::getManager();
                             // Verify the cost and user details as per PayPal spec.
                             $queuedPayment =& $ocsPaymentManager->getQueuedPayment($queuedPaymentId);
                             if (!$queuedPayment) {
                                 // The queued payment entry is missing. Complain.
                                 $mail->assignParams(array('schedConfName' => $schedConf->getFullTitle(), 'postInfo' => print_r($_POST, true), 'additionalInfo' => "Missing queued payment ID: {$queuedPaymentId}", 'serverVars' => print_r($_SERVER, true)));
                                 $mail->send();
                                 exit;
                             }
                             if (($queuedAmount = $queuedPayment->getAmount()) != ($grantedAmount = Request::getUserVar('mc_gross')) || ($queuedCurrency = $queuedPayment->getCurrencyCode()) != ($grantedCurrency = Request::getUserVar('mc_currency')) || ($grantedEmail = Request::getUserVar('receiver_email')) != ($queuedEmail = $this->getSetting($schedConf->getConferenceId(), $schedConf->getId(), 'selleraccount'))) {
                                 // The integrity checks for the transaction failed. Complain.
                                 $mail->assignParams(array('schedConfName' => $schedConf->getFullTitle(), 'postInfo' => print_r($_POST, true), 'additionalInfo' => "Granted amount: {$grantedAmount}\n" . "Queued amount: {$queuedAmount}\n" . "Granted currency: {$grantedCurrency}\n" . "Queued currency: {$queuedCurrency}\n" . "Granted to PayPal account: {$grantedEmail}\n" . "Configured PayPal account: {$queuedEmail}", 'serverVars' => print_r($_SERVER, true)));
                                 $mail->send();
                                 exit;
                             }
                             // Fulfill the queued payment.
                             if ($ocsPaymentManager->fulfillQueuedPayment($queuedPaymentId, $queuedPayment)) {
                                 // Send the registrant a notification that their payment was received
                                 $schedConfSettingsDao =& DAORegistry::getDAO('SchedConfSettingsDAO');
                                 $registrationName = $schedConfSettingsDao->getSetting($schedConfId, 'registrationName');
                                 $registrationEmail = $schedConfSettingsDao->getSetting($schedConfId, 'registrationEmail');
                                 $registrationPhone = $schedConfSettingsDao->getSetting($schedConfId, 'registrationPhone');
                                 $registrationFax = $schedConfSettingsDao->getSetting($schedConfId, 'registrationFax');
                                 $registrationMailingAddress = $schedConfSettingsDao->getSetting($schedConfId, 'registrationMailingAddress');
                                 $registrationContactSignature = $registrationName;
                                 if ($registrationMailingAddress != '') {
                                     $registrationContactSignature .= "\n" . $registrationMailingAddress;
                                 }
                                 if ($registrationPhone != '') {
                                     $registrationContactSignature .= "\n" . Locale::Translate('user.phone') . ': ' . $registrationPhone;
                                 }
                                 if ($registrationFax != '') {
                                     $registrationContactSignature .= "\n" . Locale::Translate('user.fax') . ': ' . $registrationFax;
                                 }
                                 $registrationContactSignature .= "\n" . Locale::Translate('user.email') . ': ' . $registrationEmail;
                                 $paramArray = array('registrantName' => $contactName, 'schedConfName' => $schedConfName, 'registrationContactSignature' => $registrationContactSignature);
                                 import('classes.mail.MailTemplate');
                                 $mail = new MailTemplate('MANUAL_PAYMENT_RECEIVED');
                                 $mail->setFrom($registrationEmail, $registrationName);
                                 $mail->assignParams($paramArray);
                                 $mail->addRecipient($contactEmail, $contactName);
                                 $mail->send();
                                 exit;
                             }
                             // If we're still here, it means the payment couldn't be fulfilled.
                             $mail->assignParams(array('schedConfName' => $schedConf->getFullTitle(), 'postInfo' => print_r($_POST, true), 'additionalInfo' => "Queued payment ID {$queuedPaymentId} could not be fulfilled.", 'serverVars' => print_r($_SERVER, true)));
                             $mail->send();
                         }
                         exit;
                     case 'Pending':
                         // Ignore.
                         exit;
                     default:
                         // An unhandled payment status was received; notify someone.
                         $mail->assignParams(array('schedConfName' => $schedConf->getFullTitle(), 'postInfo' => print_r($_POST, true), 'additionalInfo' => "Payment status: {$paymentStatus}", 'serverVars' => print_r($_SERVER, true)));
                         $mail->send();
                         exit;
                 }
             } else {
                 // An unknown confirmation response was received; notify someone.
                 $mail->assignParams(array('schedConfName' => $schedConf->getFullTitle(), 'postInfo' => print_r($_POST, true), 'additionalInfo' => "Confirmation return: {$ret}", 'serverVars' => print_r($_SERVER, true)));
                 $mail->send();
                 exit;
             }
             break;
         case 'cancel':
             Handler::setupTemplate();
             $templateMgr->assign(array('currentUrl' => Request::url(null, null, 'index'), 'pageTitle' => 'plugins.paymethod.paypal.purchase.cancelled.title', 'message' => 'plugins.paymethod.paypal.purchase.cancelled'));
             $templateMgr->display('common/message.tpl');
             exit;
             break;
     }
     parent::handle($args);
     // Don't know what to do with it
 }
Exemple #19
0
 /**
  * Display the form.
  */
 function display()
 {
     $journal =& Request::getJournal();
     $settingsDao =& DAORegistry::getDAO('JournalSettingsDAO');
     $roleDao =& DAORegistry::getDAO('RoleDAO');
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     Locale::requireComponents(array(LOCALE_COMPONENT_OJS_EDITOR));
     // editor.cover.xxx locale keys; FIXME?
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign('articleId', isset($this->article) ? $this->article->getArticleId() : null);
     $templateMgr->assign('journalSettings', $settingsDao->getJournalSettings($journal->getId()));
     $templateMgr->assign('rolePath', Request::getRequestedPage());
     $templateMgr->assign('canViewAuthors', $this->canViewAuthors);
     $countryDao =& DAORegistry::getDAO('CountryDAO');
     $templateMgr->assign('countries', $countryDao->getCountries());
     $templateMgr->assign('helpTopicId', 'submission.indexingAndMetadata');
     if ($this->article) {
         $templateMgr->assign_by_ref('section', $sectionDao->getSection($this->article->getSectionId()));
     }
     if ($this->isEditor) {
         import('article.Article');
         $hideAuthorOptions = array(AUTHOR_TOC_DEFAULT => Locale::Translate('editor.article.hideTocAuthorDefault'), AUTHOR_TOC_HIDE => Locale::Translate('editor.article.hideTocAuthorHide'), AUTHOR_TOC_SHOW => Locale::Translate('editor.article.hideTocAuthorShow'));
         $templateMgr->assign('hideAuthorOptions', $hideAuthorOptions);
         $templateMgr->assign('isEditor', true);
     }
     parent::display();
 }
 /**
  * Display the table of contents
  */
 function issueToc($args)
 {
     $issueId = isset($args[0]) ? $args[0] : 0;
     $this->validate($issueId, true);
     $issue =& $this->issue;
     $this->setupTemplate(EDITOR_SECTION_ISSUES);
     $templateMgr =& TemplateManager::getManager();
     $journal =& Request::getJournal();
     $journalId = $journal->getId();
     $journalSettingsDao =& DAORegistry::getDAO('JournalSettingsDAO');
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     $enablePublicArticleId = $journalSettingsDao->getSetting($journalId, 'enablePublicArticleId');
     $templateMgr->assign('enablePublicArticleId', $enablePublicArticleId);
     $enablePageNumber = $journalSettingsDao->getSetting($journalId, 'enablePageNumber');
     $templateMgr->assign('enablePageNumber', $enablePageNumber);
     $templateMgr->assign('customSectionOrderingExists', $customSectionOrderingExists = $sectionDao->customSectionOrderingExists($issueId));
     $templateMgr->assign('issueId', $issueId);
     $templateMgr->assign_by_ref('issue', $issue);
     $templateMgr->assign('unpublished', !$issue->getPublished());
     $templateMgr->assign('issueAccess', $issue->getAccessStatus());
     //%CBP% get CBP dao for required sections
     $CBPPlatformDao =& DAORegistry::getDAO('CBPPlatformDAO');
     $requiredSections = $CBPPlatformDao->getRequiredSections($journalId);
     foreach ($requiredSections as $requiredSection) {
         $requiredSectionsArr[$requiredSection['title']] = 1;
         if ($requiredSection['delegated'] == "editor") {
             $requiredSectionsDisplay[$requiredSection['title']]['title'] = $requiredSection['title'];
             $requiredSectionsDisplay[$requiredSection['title']]['policy'] = $requiredSection['policy'];
         }
     }
     $templateMgr->assign_by_ref('requiredSections', $requiredSectionsArr);
     $templateMgr->assign_by_ref('requiredSectionsDisplay', $requiredSectionsDisplay);
     // get issue sections and articles
     $publishedArticleDao =& DAORegistry::getDAO('PublishedArticleDAO');
     $publishedArticles = $publishedArticleDao->getPublishedArticles($issueId);
     $layoutEditorSubmissionDao =& DAORegistry::getDAO('LayoutEditorSubmissionDAO');
     $proofedArticleIds = $layoutEditorSubmissionDao->getProofedArticlesByIssueId($issueId);
     $templateMgr->assign('proofedArticleIds', $proofedArticleIds);
     $currSection = 0;
     $counter = 0;
     $sections = array();
     $sectionCount = 0;
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     foreach ($publishedArticles as $article) {
         $sectionId = $article->getSectionId();
         if ($currSection != $sectionId) {
             $lastSectionId = $currSection;
             $sectionCount++;
             if ($lastSectionId !== 0) {
                 $sections[$lastSectionId][5] = $customSectionOrderingExists ? $sectionDao->getCustomSectionOrder($issueId, $sectionId) : $sectionCount;
             }
             // Store next custom order
             $currSection = $sectionId;
             $counter++;
             $sections[$sectionId] = array($sectionId, $article->getSectionTitle(), array($article), $counter, $customSectionOrderingExists ? $sectionDao->getCustomSectionOrder($issueId, $lastSectionId) : $sectionCount - 1, null);
         } else {
             $sections[$article->getSectionId()][2][] = $article;
         }
     }
     $templateMgr->assign_by_ref('sections', $sections);
     $templateMgr->assign('accessOptions', array(ARTICLE_ACCESS_ISSUE_DEFAULT => Locale::Translate('editor.issues.default'), ARTICLE_ACCESS_OPEN => Locale::Translate('editor.issues.open')));
     //%CBP% get comments for issue by reviewers and EIC
     $templateMgr->assign('user', DAORegistry::getDAO('UserDAO'));
     //$templateMgr->assign('issueComments', $CBPPlatformDao->getReviewerIssueComments($issueId));
     import('classes.issue.IssueAction');
     $templateMgr->assign('issueOptions', IssueAction::getIssueOptions());
     $templateMgr->assign('helpTopicId', 'publishing.tableOfContents');
     $templateMgr->addJavaScript('lib/pkp/js/jquery.tablednd_0_5.js');
     $templateMgr->addJavaScript('lib/pkp/js/tablednd.js');
     $templateMgr->display('editor/issues/issueToc.tpl');
 }
 /**
  * Display director submission queue pages.
  */
 function submissions($args, $request)
 {
     $this->validate($request);
     $this->setupTemplate($request, DIRECTOR_TRACK_SUBMISSIONS);
     $schedConf =& $request->getSchedConf();
     $schedConfId = $schedConf->getId();
     $user =& $request->getUser();
     $directorSubmissionDao =& DAORegistry::getDAO('DirectorSubmissionDAO');
     $trackDao =& DAORegistry::getDAO('TrackDAO');
     $page = isset($args[0]) ? $args[0] : '';
     $tracks =& $trackDao->getTrackTitles($schedConfId);
     $filterDirectorOptions = array(FILTER_DIRECTOR_ALL => Locale::Translate('director.allDirectors'), FILTER_DIRECTOR_ME => Locale::Translate('director.me'));
     $filterTrackOptions = array(FILTER_TRACK_ALL => Locale::Translate('director.allTracks')) + $tracks;
     // Get the user's search conditions, if any
     $searchField = $request->getUserVar('searchField');
     $searchMatch = $request->getUserVar('searchMatch');
     $search = $request->getUserVar('search');
     $sort = $request->getUserVar('sort');
     $sortDirection = $request->getUserVar('sortDirection');
     switch ($page) {
         case 'submissionsUnassigned':
             $functionName = 'getDirectorSubmissionsUnassigned';
             $helpTopicId = 'editorial.directorsRole.submissions.unassigned';
             $sort = isset($sort) ? $sort : 'id';
             break;
         case 'submissionsAccepted':
             $functionName = 'getDirectorSubmissionsAccepted';
             $helpTopicId = 'editorial.directorsRole.submissions.presentations';
             $sort = isset($sort) ? $sort : 'seq';
             break;
         case 'submissionsArchives':
             $functionName = 'getDirectorSubmissionsArchives';
             $helpTopicId = 'editorial.directorsRole.submissions.archives';
             $sort = isset($sort) ? $sort : 'id';
             break;
         default:
             $page = 'submissionsInReview';
             $functionName = 'getDirectorSubmissionsInReview';
             $helpTopicId = 'editorial.directorsRole.submissions.inReview';
             $sort = isset($sort) ? $sort : 'id';
     }
     $filterDirector = $request->getUserVar('filterDirector');
     if ($filterDirector != '' && array_key_exists($filterDirector, $filterDirectorOptions)) {
         $user->updateSetting('filterDirector', $filterDirector, 'int', $schedConfId);
     } else {
         $filterDirector = $user->getSetting('filterDirector', $schedConfId);
         if ($filterDirector == null) {
             $filterDirector = FILTER_DIRECTOR_ALL;
             $user->updateSetting('filterDirector', $filterDirector, 'int', $schedConfId);
         }
     }
     if ($filterDirector == FILTER_DIRECTOR_ME) {
         $directorId = $user->getId();
     } else {
         $directorId = FILTER_DIRECTOR_ALL;
     }
     $filterTrack = $request->getUserVar('filterTrack');
     if ($filterTrack != '' && array_key_exists($filterTrack, $filterTrackOptions)) {
         $user->updateSetting('filterTrack', $filterTrack, 'int', $schedConfId);
     } else {
         $filterTrack = $user->getSetting('filterTrack', $schedConfId);
         if ($filterTrack == null) {
             $filterTrack = FILTER_TRACK_ALL;
             $user->updateSetting('filterTrack', $filterTrack, 'int', $schedConfId);
         }
     }
     $rangeInfo =& Handler::getRangeInfo('submissions', array($functionName, (string) $searchField, (string) $searchMatch, (string) $search));
     while (true) {
         $submissions =& $directorSubmissionDao->{$functionName}($schedConfId, $filterTrack, $directorId, $searchField, $searchMatch, $search, null, null, null, $sort == 'status' ? null : $rangeInfo, $sort, $sortDirection);
         if ($submissions->isInBounds()) {
             break;
         }
         unset($rangeInfo);
         $rangeInfo =& $submissions->getLastPageRangeInfo();
         unset($submissions);
     }
     if ($sort == 'status') {
         // Sort all submissions by status, which is too complex to do in the DB
         $submissionsArray = $submissions->toArray();
         unset($submissions);
         $compare = create_function('$s1, $s2', 'return strcmp($s1->getSubmissionStatus(), $s2->getSubmissionStatus());');
         usort($submissionsArray, $compare);
         if ($sortDirection == 'DESC') {
             $submissionsArray = array_reverse($submissionsArray);
         }
         // Convert submission array back to an ItemIterator class
         import('lib.pkp.classes.core.ArrayItemIterator');
         $submissions =& ArrayItemIterator::fromRangeInfo($submissionsArray, $rangeInfo);
     }
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign('pageToDisplay', $page);
     $templateMgr->assign('director', $user->getFullName());
     $templateMgr->assign('directorOptions', $filterDirectorOptions);
     $templateMgr->assign('trackOptions', $filterTrackOptions);
     $templateMgr->assign_by_ref('submissions', $submissions);
     $templateMgr->assign('filterDirector', $filterDirector);
     $templateMgr->assign('filterTrack', $filterTrack);
     $templateMgr->assign('yearOffsetFuture', SCHED_CONF_DATE_YEAR_OFFSET_FUTURE);
     $templateMgr->assign('durationOptions', TrackDirectorHandler::_getDurationOptions());
     // Set search parameters
     $duplicateParameters = array('searchField', 'searchMatch', 'search');
     foreach ($duplicateParameters as $param) {
         $templateMgr->assign($param, $request->getUserVar($param));
     }
     $templateMgr->assign('reviewType', array(REVIEW_ROUND_ABSTRACT => Locale::translate('submission.abstract'), REVIEW_ROUND_PRESENTATION => Locale::translate('submission.paper')));
     $templateMgr->assign('fieldOptions', array(SUBMISSION_FIELD_TITLE => 'paper.title', SUBMISSION_FIELD_AUTHOR => 'user.role.author', SUBMISSION_FIELD_DIRECTOR => 'user.role.director', SUBMISSION_FIELD_REVIEWER => 'user.role.reviewer'));
     $templateMgr->assign('helpTopicId', $helpTopicId);
     $templateMgr->assign('sort', $sort);
     $templateMgr->assign('sortDirection', $sortDirection);
     $templateMgr->display('director/submissions.tpl');
 }
 /**
  * Get subscription type duration in years and months.
  * @return string
  */
 function getDurationYearsMonths()
 {
     $years = (int) floor($this->getData('duration') / 12);
     $months = (int) fmod($this->getData('duration'), 12);
     $yearsMonths = '';
     if ($years == 1) {
         $yearsMonths = '1 ' . Locale::Translate('manager.subscriptionTypes.year');
     } elseif ($years > 1) {
         $yearsMonths = $years . ' ' . Locale::Translate('manager.subscriptionTypes.years');
     }
     if ($months == 1) {
         $yearsMonths .= $yearsMonths == '' ? '1 ' : ' 1 ';
         $yearsMonths .= Locale::Translate('manager.subscriptionTypes.month');
     } elseif ($months > 1) {
         $yearsMonths .= $yearsMonths == '' ? $months . ' ' : ' ' . $months . ' ';
         $yearsMonths .= Locale::Translate('manager.subscriptionTypes.months');
     }
     return $yearsMonths;
 }
Exemple #23
0
 /**
  * Display the presentations
  */
 function presentations()
 {
     $this->validate();
     $conference =& Request::getConference();
     $schedConf =& Request::getSchedConf();
     import('schedConf.SchedConfAction');
     $mayViewProceedings = SchedConfAction::mayViewProceedings($schedConf);
     $mayViewPapers = SchedConfAction::mayViewPapers($schedConf, $conference);
     $templateMgr =& TemplateManager::getManager();
     SchedConfHandler::setupTemplate($conference, $schedConf);
     Locale::requireComponents(array(LOCALE_COMPONENT_OCS_DIRECTOR));
     // FIXME: director.allTracks
     $templateMgr->assign('pageHierarchy', array(array(Request::url(null, 'index', 'index'), $conference->getConferenceTitle(), true), array(Request::url(null, null, 'index'), $schedConf->getSchedConfTitle(), true)));
     $templateMgr->assign('helpTopicId', 'editorial.trackDirectorsRole.presentations');
     $templateMgr->assign_by_ref('schedConf', $schedConf);
     $templateMgr->assign('mayViewProceedings', $mayViewProceedings);
     $templateMgr->assign('mayViewPapers', $mayViewPapers);
     if ($mayViewProceedings) {
         $publishedPaperDao =& DAORegistry::getDAO('PublishedPaperDAO');
         $trackDao =& DAORegistry::getDAO('TrackDAO');
         $tracks =& $trackDao->getTrackTitles($schedConf->getId());
         // Get the user's search conditions, if any
         $searchField = Request::getUserVar('searchField');
         $searchMatch = Request::getUserVar('searchMatch');
         $search = Request::getUserVar('search');
         $searchInitial = Request::getUserVar('searchInitial');
         if (!empty($searchInitial)) {
             $searchField = SUBMISSION_FIELD_AUTHOR;
             $searchMatch = 'initial';
             $search = $searchInitial;
         }
         $templateMgr->assign('fieldOptions', array(SUBMISSION_FIELD_TITLE => 'paper.title', SUBMISSION_FIELD_AUTHOR => 'user.role.author'));
         $previewAbstracts = $schedConf->getSetting('reviewMode') == REVIEW_MODE_BOTH_SEQUENTIAL && $schedConf->getSetting('previewAbstracts');
         $publishedPapers =& $publishedPaperDao->getPublishedPapersInTracks($schedConf->getId(), Request::getUserVar('track'), $searchField, $searchMatch, $search, $previewAbstracts);
         // Set search parameters
         $duplicateParameters = array('searchField', 'searchMatch', 'search', 'searchInitial', 'track');
         foreach ($duplicateParameters as $param) {
             $templateMgr->assign($param, Request::getUserVar($param));
         }
         $templateMgr->assign('alphaList', explode(' ', Locale::translate('common.alphaList')));
         $templateMgr->assign('trackOptions', array(0 => Locale::Translate('director.allTracks')) + $tracks);
         $templateMgr->assign_by_ref('publishedPapers', $publishedPapers);
     }
     $templateMgr->display('schedConf/papers.tpl');
 }
Exemple #24
0
 /**
  * Display editor submission queue pages.
  */
 function submissions($args)
 {
     $this->validate();
     $this->setupTemplate(EDITOR_SECTION_SUBMISSIONS);
     $journal =& Request::getJournal();
     $journalId = $journal->getId();
     $user =& Request::getUser();
     $editorSubmissionDao =& DAORegistry::getDAO('EditorSubmissionDAO');
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     $page = isset($args[0]) ? $args[0] : '';
     $sections =& $sectionDao->getSectionTitles($journalId);
     $sort = Request::getUserVar('sort');
     $sort = isset($sort) ? $sort : 'id';
     $sortDirection = Request::getUserVar('sortDirection');
     $sortDirection = isset($sortDirection) && ($sortDirection == 'ASC' || $sortDirection == 'DESC') ? $sortDirection : 'ASC';
     $filterEditorOptions = array(FILTER_EDITOR_ALL => Locale::Translate('editor.allEditors'), FILTER_EDITOR_ME => Locale::Translate('editor.me'));
     $filterSectionOptions = array(FILTER_SECTION_ALL => Locale::Translate('editor.allSections')) + $sections;
     // Get the user's search conditions, if any
     $searchField = Request::getUserVar('searchField');
     $dateSearchField = Request::getUserVar('dateSearchField');
     $searchMatch = Request::getUserVar('searchMatch');
     $search = Request::getUserVar('search');
     /**
      * Get user's search conditions for research field and regions
      */
     $researchFieldField = Request::getUserVar('researchFieldField');
     $countryField = Request::getUserVar('countryField');
     $fromDate = Request::getUserDateVar('dateFrom', 1, 1);
     if ($fromDate !== null) {
         $fromDate = date('Y-m-d H:i:s', $fromDate);
     }
     $toDate = Request::getUserDateVar('dateTo', 32, 12, null, 23, 59, 59);
     if ($toDate !== null) {
         $toDate = date('Y-m-d H:i:s', $toDate);
     }
     $rangeInfo = Handler::getRangeInfo('submissions');
     switch ($page) {
         case 'submissionsUnassigned':
             $functionName = 'getEditorSubmissionsUnassigned';
             $helpTopicId = 'editorial.editorsRole.submissions.unassigned';
             break;
         case 'submissionsInEditing':
             $functionName = 'getEditorSubmissionsInEditingIterator';
             $helpTopicId = 'editorial.editorsRole.submissions.inEditing';
             break;
         case 'submissionsArchives':
             $functionName = 'getEditorSubmissionsArchives';
             $helpTopicId = 'editorial.editorsRole.submissions.archives';
             break;
         default:
             $page = 'submissionsInReview';
             $functionName = 'getEditorSubmissionsInReviewIterator';
             $helpTopicId = 'editorial.editorsRole.submissions.inReview';
     }
     $filterEditor = Request::getUserVar('filterEditor');
     if ($filterEditor != '' && array_key_exists($filterEditor, $filterEditorOptions)) {
         $user->updateSetting('filterEditor', $filterEditor, 'int', $journalId);
     } else {
         $filterEditor = $user->getSetting('filterEditor', $journalId);
         if ($filterEditor == null) {
             $filterEditor = FILTER_EDITOR_ALL;
             $user->updateSetting('filterEditor', $filterEditor, 'int', $journalId);
         }
     }
     if ($filterEditor == FILTER_EDITOR_ME) {
         $editorId = $user->getId();
     } else {
         $editorId = FILTER_EDITOR_ALL;
     }
     $filterSection = Request::getUserVar('filterSection');
     if ($filterSection != '' && array_key_exists($filterSection, $filterSectionOptions)) {
         $user->updateSetting('filterSection', $filterSection, 'int', $journalId);
     } else {
         $filterSection = $user->getSetting('filterSection', $journalId);
         if ($filterSection == null) {
             $filterSection = FILTER_SECTION_ALL;
             $user->updateSetting('filterSection', $filterSection, 'int', $journalId);
         }
     }
     //workaround for multiple use of iterator in one page 3/21/2012
     $submissions =& $editorSubmissionDao->{$functionName}($journalId, $filterSection, $editorId, $searchField, $searchMatch, $search, $dateSearchField, $fromDate, $toDate, $researchFieldField, $countryField, $rangeInfo, $sort, $sortDirection);
     $submissions1 =& $editorSubmissionDao->{$functionName}($journalId, $filterSection, $editorId, $searchField, $searchMatch, $search, $dateSearchField, $fromDate, $toDate, $researchFieldField, $countryField, $rangeInfo, $sort, $sortDirection);
     $submissions2 =& $editorSubmissionDao->{$functionName}($journalId, $filterSection, $editorId, $searchField, $searchMatch, $search, $dateSearchField, $fromDate, $toDate, $researchFieldField, $countryField, $rangeInfo, $sort, $sortDirection);
     $submissions3 =& $editorSubmissionDao->{$functionName}($journalId, $filterSection, $editorId, $searchField, $searchMatch, $search, $dateSearchField, $fromDate, $toDate, $researchFieldField, $countryField, $rangeInfo, $sort, $sortDirection);
     $submissions4 =& $editorSubmissionDao->{$functionName}($journalId, $filterSection, $editorId, $searchField, $searchMatch, $search, $dateSearchField, $fromDate, $toDate, $researchFieldField, $countryField, $rangeInfo, $sort, $sortDirection);
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign('pageToDisplay', $page);
     $templateMgr->assign('editor', $user->getFullName());
     $templateMgr->assign('editorOptions', $filterEditorOptions);
     $templateMgr->assign('sectionOptions', $filterSectionOptions);
     $templateMgr->assign_by_ref('submissions', $submissions);
     $templateMgr->assign_by_ref('submissions1', $submissions1);
     $templateMgr->assign_by_ref('submissions2', $submissions2);
     $templateMgr->assign_by_ref('submissions3', $submissions3);
     $templateMgr->assign_by_ref('submissions4', $submissions4);
     $templateMgr->assign('filterEditor', $filterEditor);
     $templateMgr->assign('filterSection', $filterSection);
     // Set search parameters
     foreach ($this->getSearchFormDuplicateParameters() as $param) {
         $templateMgr->assign($param, Request::getUserVar($param));
     }
     $templateMgr->assign('dateFrom', $fromDate);
     $templateMgr->assign('dateTo', $toDate);
     $templateMgr->assign('fieldOptions', $this->getSearchFieldOptions());
     $templateMgr->assign('dateFieldOptions', $this->getDateFieldOptions());
     $extraFieldDao =& DAORegistry::getDAO('ExtraFieldDAO');
     $countries =& $extraFieldDao->getExtraFieldsList(EXTRA_FIELD_GEO_AREA);
     $templateMgr->assign_by_ref('researchFields', $extraFieldDao->getExtraFieldsList(EXTRA_FIELD_RESEARCH_FIELD));
     $templateMgr->assign_by_ref('countries', $countries);
     import('classes.issue.IssueAction');
     $issueAction = new IssueAction();
     $templateMgr->register_function('print_issue_id', array($issueAction, 'smartyPrintIssueId'));
     $templateMgr->assign('helpTopicId', $helpTopicId);
     $templateMgr->assign('sort', $sort);
     $templateMgr->assign('sortDirection', $sortDirection);
     $templateMgr->assign('researchFieldField', $researchFieldField);
     $templateMgr->assign('countryField', $countryField);
     $templateMgr->display('editor/submissions.tpl');
 }
Exemple #25
0
 /**
  * Display the form.
  */
 function display()
 {
     $journal =& Request::getJournal();
     $settingsDao =& DAORegistry::getDAO('JournalSettingsDAO');
     $roleDao =& DAORegistry::getDAO('RoleDAO');
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign('articleId', isset($this->article) ? $this->article->getArticleId() : null);
     $templateMgr->assign('journalSettings', $settingsDao->getJournalSettings($journal->getJournalId()));
     $templateMgr->assign('rolePath', Request::getRequestedPage());
     $templateMgr->assign('canViewAuthors', $this->canViewAuthors);
     $countryDao =& DAORegistry::getDAO('CountryDAO');
     $templateMgr->assign('countries', $countryDao->getCountries());
     $disciplineDao =& DAORegistry::getDAO('DisciplineDAO');
     $templateMgr->assign('disciplines', $disciplineDao->getDisciplines());
     $templateMgr->assign('helpTopicId', 'submission.indexingAndMetadata');
     if ($this->article) {
         $templateMgr->assign_by_ref('section', $sectionDao->getSection($this->article->getSectionId()));
     }
     if ($this->canEdit) {
         import('article.Article');
         $hideAuthorOptions = array(AUTHOR_TOC_DEFAULT => Locale::Translate('editor.article.hideTocAuthorDefault'), AUTHOR_TOC_HIDE => Locale::Translate('editor.article.hideTocAuthorHide'), AUTHOR_TOC_SHOW => Locale::Translate('editor.article.hideTocAuthorShow'));
         $templateMgr->assign('hideAuthorOptions', $hideAuthorOptions);
     }
     parent::display();
 }
Exemple #26
0
 /**
  * Get the scheduled conference's contact information
  * @param $schedConfId int
  * @return array
  */
 function getRegistrationContactInformation($schedConfId)
 {
     $schedConfSettingsDao =& DAORegistry::getDAO('SchedConfSettingsDAO');
     $registrationName = $schedConfSettingsDao->getSetting($schedConfId, 'registrationName');
     $registrationEmail = $schedConfSettingsDao->getSetting($schedConfId, 'registrationEmail');
     $registrationPhone = $schedConfSettingsDao->getSetting($schedConfId, 'registrationPhone');
     $registrationFax = $schedConfSettingsDao->getSetting($schedConfId, 'registrationFax');
     $registrationMailingAddress = $schedConfSettingsDao->getSetting($schedConfId, 'registrationMailingAddress');
     $registrationContactSignature = $registrationName;
     if ($registrationMailingAddress != '') {
         $registrationContactSignature .= "\n" . $registrationMailingAddress;
     }
     if ($registrationPhone != '') {
         $registrationContactSignature .= "\n" . Locale::Translate('user.phone') . ': ' . $registrationPhone;
     }
     if ($registrationFax != '') {
         $registrationContactSignature .= "\n" . Locale::Translate('user.fax') . ': ' . $registrationFax;
     }
     $registrationContactSignature .= "\n" . Locale::Translate('user.email') . ': ' . $registrationEmail;
     return array($registrationEmail, $registrationName, $registrationContactSignature);
 }
Exemple #27
0
 /**
  * Display the form.
  */
 function display()
 {
     $journal = Request::getJournal();
     $settingsDao =& DAORegistry::getDAO('JournalSettingsDAO');
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     $countryDao =& DAORegistry::getDAO('CountryDAO');
     $proposalDetailsDao =& DAORegistry::getDAO('ProposalDetailsDAO');
     $studentResearchDao =& DAORegistry::getDAO('StudentResearchDAO');
     $extraFieldDAO =& DAORegistry::getDAO('ExtraFieldDAO');
     $institutionDao =& DAORegistry::getDAO('InstitutionDAO');
     $riskAssessmentDao =& DAORegistry::getDAO('RiskAssessmentDAO');
     $currencyDao =& DAORegistry::getDAO('CurrencyDAO');
     Locale::requireComponents(array(LOCALE_COMPONENT_OJS_EDITOR));
     // editor.cover.xxx locale keys; FIXME?
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign('helpTopicId', 'submission.indexingAndMetadata');
     if ($this->article) {
         $templateMgr->assign_by_ref('section', $sectionDao->getSection($this->article->getSectionId()));
     }
     if ($this->isEditor) {
         import('classes.article.Article');
         $hideAuthorOptions = array(AUTHOR_TOC_DEFAULT => Locale::Translate('editor.article.hideTocAuthorDefault'), AUTHOR_TOC_HIDE => Locale::Translate('editor.article.hideTocAuthorHide'), AUTHOR_TOC_SHOW => Locale::Translate('editor.article.hideTocAuthorShow'));
         $templateMgr->assign('hideAuthorOptions', $hideAuthorOptions);
         $templateMgr->assign('isEditor', true);
     }
     $geoAreas =& $extraFieldDAO->getExtraFieldsList(EXTRA_FIELD_GEO_AREA, EXTRA_FIELD_ACTIVE);
     $proposalTypesList =& $extraFieldDAO->getExtraFieldsList(EXTRA_FIELD_PROPOSAL_TYPE, EXTRA_FIELD_ACTIVE);
     $proposalTypesListWithOther = $proposalTypesList + array('OTHER' => Locale::translate('common.other'));
     $researchDomainsList =& $extraFieldDAO->getExtraFieldsList(EXTRA_FIELD_RESEARCH_DOMAIN, EXTRA_FIELD_ACTIVE);
     $researchFieldsList =& $extraFieldDAO->getExtraFieldsList(EXTRA_FIELD_RESEARCH_FIELD, EXTRA_FIELD_ACTIVE);
     $researchFieldsListWithOther = $researchFieldsList + array('OTHER' => Locale::translate('common.other'));
     $institutionsList = $institutionDao->getInstitutionsList();
     $institutionsListWithOther = $institutionsList + array('OTHER' => Locale::translate('common.other'));
     $sourcesList = $institutionsListWithOther + array('KII' => Locale::translate('proposal.keyImplInstitution'));
     if (Request::getUserVar('addAuthor') || Request::getUserVar('delAuthor') || Request::getUserVar('moveAuthor')) {
         $templateMgr->assign('scrollToAuthor', true);
     }
     $sourceCurrencyId = $journal->getSetting('sourceCurrency');
     $templateMgr->assign('articleId', isset($this->article) ? $this->article->getId() : null);
     $templateMgr->assign('journalSettings', $settingsDao->getJournalSettings($journal->getId()));
     $templateMgr->assign('rolePath', Request::getRequestedPage());
     $templateMgr->assign('canViewAuthors', $this->canViewAuthors);
     $templateMgr->assign('abstractLocales', $journal->getSupportedLocaleNames());
     $templateMgr->assign('coutryList', $countryDao->getCountries());
     $templateMgr->assign('proposalTypesList', $proposalTypesListWithOther);
     $templateMgr->assign('researchDomainsList', $researchDomainsList);
     $templateMgr->assign('researchFieldsList', $researchFieldsListWithOther);
     $templateMgr->assign('proposalDetailYesNoArray', $proposalDetailsDao->getYesNoArray());
     $templateMgr->assign('nationwideRadioButtons', $proposalDetailsDao->getNationwideRadioButtons());
     $templateMgr->assign('dataCollectionArray', $proposalDetailsDao->getDataCollectionArray());
     $templateMgr->assign('otherErcDecisionArray', $proposalDetailsDao->getOtherErcDecisionArray());
     $templateMgr->assign('academicDegreesArray', $studentResearchDao->getAcademicDegreesArray());
     $templateMgr->assign('geoAreasList', $geoAreas);
     $templateMgr->assign('institutionsList', $institutionsListWithOther);
     $templateMgr->assign('sourceCurrency', $currencyDao->getCurrencyByAlphaCode($sourceCurrencyId));
     $templateMgr->assign('sourcesList', $sourcesList);
     $templateMgr->assign('institutionTypes', $institutionDao->getInstitutionTypes());
     $templateMgr->assign('internationalArray', $institutionDao->getInstitutionInternationalArray());
     $templateMgr->assign('riskAssessmentYesNoArray', $riskAssessmentDao->getYesNoArray());
     $templateMgr->assign('riskAssessmentExportReasonArray', $riskAssessmentDao->getExportReasonArray());
     $templateMgr->assign('riskAssessmentLevelsOfRisk', $riskAssessmentDao->getLevelOfRiskArray());
     $templateMgr->assign('riskAssessmentConflictOfInterestArray', $riskAssessmentDao->getConflictOfInterestArray());
     parent::display();
 }
Exemple #28
0
 /**
  * Display editor submission queue pages.
  */
 function submissions($args)
 {
     EditorHandler::validate();
     EditorHandler::setupTemplate(EDITOR_SECTION_SUBMISSIONS);
     $journal =& Request::getJournal();
     $journalId = $journal->getJournalId();
     $user =& Request::getUser();
     $editorSubmissionDao =& DAORegistry::getDAO('EditorSubmissionDAO');
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     $page = isset($args[0]) ? $args[0] : '';
     $sections =& $sectionDao->getSectionTitles($journalId);
     // Get the user's search conditions, if any
     $searchField = Request::getUserVar('searchField');
     $dateSearchField = Request::getUserVar('dateSearchField');
     $searchMatch = Request::getUserVar('searchMatch');
     $search = Request::getUserVar('search');
     $fromDate = Request::getUserDateVar('dateFrom', 1, 1);
     if ($fromDate !== null) {
         $fromDate = date('Y-m-d H:i:s', $fromDate);
     }
     $toDate = Request::getUserDateVar('dateTo', 32, 12, null, 23, 59, 59);
     if ($toDate !== null) {
         $toDate = date('Y-m-d H:i:s', $toDate);
     }
     $rangeInfo = Handler::getRangeInfo('submissions');
     switch ($page) {
         case 'submissionsUnassigned':
             $functionName = 'getEditorSubmissionsUnassigned';
             $helpTopicId = 'editorial.editorsRole.submissions.unassigned';
             break;
         case 'submissionsInEditing':
             $functionName = 'getEditorSubmissionsInEditing';
             $helpTopicId = 'editorial.editorsRole.submissions.inEditing';
             break;
         case 'submissionsArchives':
             $functionName = 'getEditorSubmissionsArchives';
             $helpTopicId = 'editorial.editorsRole.submissions.archives';
             break;
         default:
             $page = 'submissionsInReview';
             $functionName = 'getEditorSubmissionsInReview';
             $helpTopicId = 'editorial.editorsRole.submissions.inReview';
     }
     $filterEditor = isset($args[1]) ? $args[1] : '';
     if ($filterEditor == 'filterEditor') {
         $user->updateSetting('filterEditor', 'filterEditor', 'string', $journalId);
     } elseif ($filterEditor == 'allEditors') {
         $user->updateSetting('filterEditor', 'allEditors', 'string', $journalId);
     } else {
         $filterEditor = $user->getSetting('filterEditor', $journalId);
         if (!$filterEditor) {
             $user->updateSetting('filterEditor', 'allEditors', 'string', $journalId);
         }
     }
     if ($filterEditor == 'filterEditor') {
         $editorId = $user->getUserId();
     } else {
         $editorId = 0;
     }
     $submissions =& $editorSubmissionDao->{$functionName}($journalId, Request::getUserVar('section'), $editorId, $searchField, $searchMatch, $search, $dateSearchField, $fromDate, $toDate, $rangeInfo);
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign('pageToDisplay', $page);
     $templateMgr->assign('editor', $user->getFullName());
     $templateMgr->assign('sectionOptions', array(0 => Locale::Translate('editor.allSections')) + $sections);
     $templateMgr->assign_by_ref('submissions', $submissions);
     $templateMgr->assign('section', Request::getUserVar('section'));
     $templateMgr->assign('filterEditor', $filterEditor);
     // Set search parameters
     foreach (EditorHandler::getSearchFormDuplicateParameters() as $param) {
         $templateMgr->assign($param, Request::getUserVar($param));
     }
     $templateMgr->assign('dateFrom', $fromDate);
     $templateMgr->assign('dateTo', $toDate);
     $templateMgr->assign('fieldOptions', EditorHandler::getSearchFieldOptions());
     $templateMgr->assign('dateFieldOptions', EditorHandler::getDateFieldOptions());
     import('issue.IssueAction');
     $issueAction =& new IssueAction();
     $templateMgr->register_function('print_issue_id', array($issueAction, 'smartyPrintIssueId'));
     $templateMgr->assign('helpTopicId', $helpTopicId);
     $templateMgr->display('editor/submissions.tpl');
 }