Open Journal Systems  3.3.0
IssueAccessForm.inc.php
1 <?php
2 
17 import('lib.pkp.classes.form.Form');
18 import('classes.issue.Issue'); // Bring in constants
19 
20 class IssueAccessForm extends Form {
22  var $_issue;
23 
28  function __construct($issue) {
29  parent::__construct('controllers/grid/issues/form/issueAccessForm.tpl');
30  $this->addCheck(new FormValidatorPost($this));
31  $this->addCheck(new FormValidatorCSRF($this));
32  $this->_issue = $issue;
33  }
34 
38  function fetch($request, $template = null, $display = false) {
39  $templateMgr = TemplateManager::getManager($request);
40  $templateMgr->assign(array(
41  'accessOptions' => array(
42  ISSUE_ACCESS_OPEN => 'editor.issues.openAccess',
43  ISSUE_ACCESS_SUBSCRIPTION => 'editor.issues.subscription',
44  ),
45  'issueId' => $this->_issue->getId(),
46  ));
47  return parent::fetch($request, $template, $display);
48  }
49 
54  function initData() {
55  $this->_data = array(
56  'accessStatus' => $this->_issue->getAccessStatus(),
57  'openAccessDate' => $this->_issue->getOpenAccessDate(),
58  );
59  parent::initData();
60  }
61 
65  function readInputData() {
66  $this->readUserVars(array(
67  'accessStatus',
68  'openAccessDate',
69  ));
70  }
71 
76  function execute(...$functionArgs) {
77  $journal = Application::get()->getRequest()->getJournal();
78 
79  $issueDao = DAORegistry::getDAO('IssueDAO'); /* @var $issueDao IssueDAO */
80  $this->_issue->setAccessStatus($this->getData('accessStatus') ? $this->getData('accessStatus') : ISSUE_ACCESS_OPEN);
81  if ($openAccessDate = $this->getData('openAccessDate')) $this->_issue->setOpenAccessDate($openAccessDate);
82  else $this->_issue->setOpenAccessDate(null);
83 
84  HookRegistry::call('IssueAccessForm::execute', array($this, $this->_issue));
85  $issueDao->updateObject($this->_issue);
86  parent::execute(...$functionArgs);
87  }
88 }
89 
90 
IssueAccessForm\fetch
fetch($request, $template=null, $display=false)
Definition: IssueAccessForm.inc.php:41
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
Form\readUserVars
readUserVars($vars)
Definition: Form.inc.php:378
Form\getData
getData($key)
Definition: Form.inc.php:220
IssueAccessForm\initData
initData()
Definition: IssueAccessForm.inc.php:57
FormValidatorPost
Form validation check to make sure the form is POSTed.
Definition: FormValidatorPost.inc.php:18
IssueAccessForm\execute
execute(... $functionArgs)
Definition: IssueAccessForm.inc.php:79
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
IssueAccessForm\readInputData
readInputData()
Definition: IssueAccessForm.inc.php:68
IssueAccessForm
Form to edit an issue's access settings.
Definition: IssueAccessForm.inc.php:20
Form\addCheck
addCheck($formValidator)
Definition: Form.inc.php:395
FormValidatorCSRF
Form validation check to make sure the CSRF token is correct.
Definition: FormValidatorCSRF.inc.php:18
Form
Class defining basic operations for handling HTML forms.
Definition: Form.inc.php:47
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235
IssueAccessForm\$_issue
$_issue
Definition: IssueAccessForm.inc.php:25
HookRegistry\call
static call($hookName, $args=null)
Definition: HookRegistry.inc.php:86
IssueAccessForm\__construct
__construct($issue)
Definition: IssueAccessForm.inc.php:31