16 import(
'classes.handler.Handler');
17 import(
'lib.pkp.classes.core.JSONMessage');
18 import(
'lib.pkp.pages.submission.PKPSubmissionHandler');
25 parent::__construct();
26 $this->
addRoleAssignment(array(ROLE_ID_AUTHOR, ROLE_ID_SUB_EDITOR, ROLE_ID_MANAGER),
27 array(
'index',
'wizard',
'step',
'saveStep',
'fetchChoices'));
37 function step($args, $request) {
38 $step = isset($args[0]) ? (int) $args[0] : 1;
41 $context = $request->getContext();
46 import(
'classes.core.Services');
47 if (
Services::get(
'publication')->canAuthorPublish($submission->getId())){
49 $primaryLocale = $context->getPrimaryLocale();
50 $allowedLocales = $context->getSupportedLocales();
51 $errors =
Services::get(
'publication')->validatePublish($submission->getLatestPublication(), $submission, $allowedLocales, $primaryLocale);
54 $msg .=
'<ul class="plain">';
55 foreach ($errors as $error) {
56 $msg .=
'<li>' . $error .
'</li>';
59 $templateMgr->assign(
'errors', $msg);
64 $templateMgr->assign(
'authorCanNotPublish',
true);
67 return parent::step($args, $request);
76 $term = $request->getUserVar(
'term');
77 $locale = $request->getUserVar(
'locale');
81 switch ($request->getUserVar(
'list')) {
83 $isoCodes = new \Sokil\IsoCodes\IsoCodesFactory(\Sokil\IsoCodes\IsoCodesFactory::OPTIMISATION_IO);
85 foreach ($isoCodes->getLanguages() as $language) {
86 if (!$language->getAlpha2() || $language->getType() !=
'L' || $language->getScope() !=
'I')
continue;
87 if (stristr($language->getLocalName(), $term)) $matches[$language->getAlpha3()] = $language->getLocalName();
89 header(
'Content-Type: text/json');
90 echo json_encode($matches);
105 return parent::setupTemplate($request);
114 1 =>
'author.submit.start',
115 2 =>
'author.submit.upload',
116 3 =>
'author.submit.metadata',
117 4 =>
'author.submit.confirmation',
118 5 =>
'author.submit.nextSteps',