| Server IP : 195.130.67.5 / Your IP : 216.73.217.154 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Old Sites/Civilgeo/ojs/pages/sectionEditor/ |
Upload File : |
<?php
/**
* @file SectionEditorHandler.inc.php
*
* Copyright (c) 2003-2012 John Willinsky
* Distributed under the GNU GPL v2. For full terms see the file docs/COPYING.
*
* @class SectionEditorHandler
* @ingroup pages_sectionEditor
*
* @brief Handle requests for section editor functions.
*/
// $Id$
// Filter section
define('FILTER_SECTION_ALL', 0);
import('classes.submission.sectionEditor.SectionEditorAction');
import('classes.handler.Handler');
class SectionEditorHandler extends Handler {
/**
* Constructor
**/
function SectionEditorHandler() {
parent::Handler();
$this->addCheck(new HandlerValidatorJournal($this));
// FIXME This is kind of evil
$page = Request::getRequestedPage();
if ( $page == 'sectionEditor' )
$this->addCheck(new HandlerValidatorRoles($this, true, null, null, array(ROLE_ID_SECTION_EDITOR)));
elseif ( $page == 'editor' )
$this->addCheck(new HandlerValidatorRoles($this, true, null, null, array(ROLE_ID_EDITOR)));
}
/**
* Display section editor index page.
*/
function index($args) {
$this->validate();
$this->setupTemplate();
$journal =& Request::getJournal();
$journalId = $journal->getId();
$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 : 'id';
$sortDirection = Request::getUserVar('sortDirection');
$filterSectionOptions = array(
FILTER_SECTION_ALL => AppLocale::Translate('editor.allSections')
) + $sections;
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';
}
$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);
}
}
$submissions =& $sectionEditorSubmissionDao->$functionName(
$user->getId(),
$journal->getId(),
$filterSection,
$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);
$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'
));
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->display('sectionEditor/index.tpl');
}
/**
* Setup common template variables.
* @param $subclass boolean set to true if caller is below this handler in the hierarchy
*/
function setupTemplate($subclass = false, $articleId = 0, $parentPage = null, $showSidebar = true) {
parent::setupTemplate();
AppLocale::requireComponents(array(LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_OJS_EDITOR, LOCALE_COMPONENT_PKP_MANAGER, LOCALE_COMPONENT_OJS_AUTHOR, LOCALE_COMPONENT_OJS_MANAGER));
$templateMgr =& TemplateManager::getManager();
$isEditor = Validation::isEditor();
if (Request::getRequestedPage() == 'editor') {
$templateMgr->assign('helpTopicId', 'editorial.editorsRole');
} else {
$templateMgr->assign('helpTopicId', 'editorial.sectionEditorsRole');
}
$roleSymbolic = $isEditor ? 'editor' : 'sectionEditor';
$roleKey = $isEditor ? 'user.role.editor' : 'user.role.sectionEditor';
$pageHierarchy = $subclass ? array(array(Request::url(null, 'user'), 'navigation.user'), array(Request::url(null, $roleSymbolic), $roleKey), array(Request::url(null, $roleSymbolic), 'article.submissions'))
: array(array(Request::url(null, 'user'), 'navigation.user'), array(Request::url(null, $roleSymbolic), $roleKey));
import('classes.submission.sectionEditor.SectionEditorAction');
$submissionCrumb = SectionEditorAction::submissionBreadcrumb($articleId, $parentPage, $roleSymbolic);
if (isset($submissionCrumb)) {
$pageHierarchy = array_merge($pageHierarchy, $submissionCrumb);
}
$templateMgr->assign('pageHierarchy', $pageHierarchy);
}
/**
* Display submission management instructions.
* @param $args (type)
*/
function instructions($args) {
$this->setupTemplate();
import('classes.submission.proofreader.ProofreaderAction');
if (!isset($args[0]) || !ProofreaderAction::instructions($args[0], array('copy', 'proof', 'referenceLinking'))) {
Request::redirect(null, null, 'index');
}
}
}
?>