function selectCopyeditor($args)
 {
     $articleId = isset($args[0]) ? (int) $args[0] : 0;
     list($journal, $submission) = SubmissionEditHandler::validate($articleId, SECTION_EDITOR_ACCESS_EDIT);
     $roleDao =& DAORegistry::getDAO('RoleDAO');
     if (isset($args[1]) && $args[1] != null && $roleDao->roleExists($journal->getJournalId(), $args[1], ROLE_ID_COPYEDITOR)) {
         SectionEditorAction::selectCopyeditor($submission, $args[1]);
         Request::redirect(null, null, 'submissionEditing', $articleId);
     } else {
         parent::setupTemplate(true, $articleId, 'editing');
         $sectionEditorSubmissionDao =& DAORegistry::getDAO('SectionEditorSubmissionDAO');
         $searchType = null;
         $searchMatch = null;
         $search = $searchQuery = Request::getUserVar('search');
         $searchInitial = Request::getUserVar('searchInitial');
         if (isset($search)) {
             $searchType = Request::getUserVar('searchField');
             $searchMatch = Request::getUserVar('searchMatch');
         } else {
             if (isset($searchInitial)) {
                 $searchInitial = String::strtoupper($searchInitial);
                 $searchType = USER_FIELD_INITIAL;
                 $search = $searchInitial;
             }
         }
         $copyeditors = $roleDao->getUsersByRoleId(ROLE_ID_COPYEDITOR, $journal->getJournalId(), $searchType, $search, $searchMatch);
         $copyeditorStatistics = $sectionEditorSubmissionDao->getCopyeditorStatistics($journal->getJournalId());
         $templateMgr =& TemplateManager::getManager();
         $templateMgr->assign('searchField', $searchType);
         $templateMgr->assign('searchMatch', $searchMatch);
         $templateMgr->assign('search', $searchQuery);
         $templateMgr->assign('searchInitial', Request::getUserVar('searchInitial'));
         $templateMgr->assign_by_ref('users', $copyeditors);
         $templateMgr->assign('currentUser', $submission->getCopyeditorId());
         $templateMgr->assign_by_ref('statistics', $copyeditorStatistics);
         $templateMgr->assign('pageSubTitle', 'editor.article.selectCopyeditor');
         $templateMgr->assign('pageTitle', 'user.role.copyeditors');
         $templateMgr->assign('actionHandler', 'selectCopyeditor');
         $templateMgr->assign('fieldOptions', array(USER_FIELD_FIRSTNAME => 'user.firstName', USER_FIELD_LASTNAME => 'user.lastName', USER_FIELD_USERNAME => 'user.username', USER_FIELD_EMAIL => 'user.email'));
         $templateMgr->assign('articleId', $args[0]);
         $templateMgr->assign('helpTopicId', 'journal.roles.copyeditor');
         $templateMgr->assign('alphaList', explode(' ', Locale::translate('common.alphaList')));
         $templateMgr->display('sectionEditor/selectUser.tpl');
     }
 }
 /**
  * Select a copyeditor.
  * @param $args array
  * @param $request PKPRequest
  */
 function selectCopyeditor($args, $request)
 {
     $articleId = (int) array_shift($args);
     $userId = (int) array_shift($args);
     $this->validate($articleId, SECTION_EDITOR_ACCESS_EDIT);
     $journal =& $request->getJournal();
     $submission =& $this->submission;
     $roleDao =& DAORegistry::getDAO('RoleDAO');
     if ($roleDao->userHasRole($journal->getId(), $userId, ROLE_ID_COPYEDITOR)) {
         SectionEditorAction::selectCopyeditor($submission, $userId, $request);
         $request->redirect(null, null, 'submissionEditing', $articleId);
     } else {
         $this->setupTemplate(true, $articleId, 'editing');
         $sectionEditorSubmissionDao =& DAORegistry::getDAO('SectionEditorSubmissionDAO');
         $searchType = null;
         $searchMatch = null;
         $search = $searchQuery = $request->getUserVar('search');
         $searchInitial = $request->getUserVar('searchInitial');
         if (!empty($search)) {
             $searchType = $request->getUserVar('searchField');
             $searchMatch = $request->getUserVar('searchMatch');
         } elseif (!empty($searchInitial)) {
             $searchInitial = String::strtoupper($searchInitial);
             $searchType = USER_FIELD_INITIAL;
             $search = $searchInitial;
         }
         $copyeditors = $roleDao->getUsersByRoleId(ROLE_ID_COPYEDITOR, $journal->getId(), $searchType, $search, $searchMatch);
         $copyeditorStatistics = $sectionEditorSubmissionDao->getCopyeditorStatistics($journal->getId());
         $templateMgr =& TemplateManager::getManager();
         $templateMgr->assign('searchField', $searchType);
         $templateMgr->assign('searchMatch', $searchMatch);
         $templateMgr->assign('search', $searchQuery);
         $templateMgr->assign('searchInitial', $request->getUserVar('searchInitial'));
         $templateMgr->assign_by_ref('users', $copyeditors);
         $templateMgr->assign('currentUser', $submission->getUserBySignoffType('SIGNOFF_COPYEDITING_INITIAL'));
         $templateMgr->assign_by_ref('statistics', $copyeditorStatistics);
         $templateMgr->assign('pageSubTitle', 'editor.article.selectCopyeditor');
         $templateMgr->assign('pageTitle', 'user.role.copyeditors');
         $templateMgr->assign('actionHandler', 'selectCopyeditor');
         $templateMgr->assign('fieldOptions', array(USER_FIELD_FIRSTNAME => 'user.firstName', USER_FIELD_LASTNAME => 'user.lastName', USER_FIELD_USERNAME => 'user.username', USER_FIELD_EMAIL => 'user.email'));
         $templateMgr->assign('articleId', $articleId);
         $templateMgr->assign('helpTopicId', 'journal.roles.copyeditor');
         $templateMgr->assign('alphaList', explode(' ', __('common.alphaList')));
         $templateMgr->display('sectionEditor/selectUser.tpl');
     }
 }