function initData($request)
{
if (isset($this->issue)) {
$locale = AppLocale::getLocale();
$this->_data = array('title' => $this->issue->getTitle(null), 'volume' => $this->issue->getVolume(), 'number' => $this->issue->getNumber(), 'year' => $this->issue->getYear(), 'datePublished' => $this->issue->getDatePublished(), 'description' => $this->issue->getDescription(null), 'accessStatus' => $this->issue->getAccessStatus(), 'openAccessDate' => $this->issue->getOpenAccessDate(), 'showVolume' => $this->issue->getShowVolume(), 'showNumber' => $this->issue->getShowNumber(), 'showYear' => $this->issue->getShowYear(), 'showTitle' => $this->issue->getShowTitle(), 'coverImage' => $this->issue->getCoverImage($locale), 'coverImageAltText' => $this->issue->getCoverImageAltText($locale));
parent::initData();
} else {
$journal = $request->getJournal();
switch ($journal->getSetting('publishingMode')) {
case PUBLISHING_MODE_SUBSCRIPTION:
case PUBLISHING_MODE_NONE:
$accessStatus = ISSUE_ACCESS_SUBSCRIPTION;
break;
case PUBLISHING_MODE_OPEN:
default:
$accessStatus = ISSUE_ACCESS_OPEN;
break;
}
$this->_data = array('showVolume' => 1, 'showNumber' => 1, 'showYear' => 1, 'showTitle' => 1, 'accessStatus' => $accessStatus);
}
}
/** * Edit the current issue form */ function editIssue($args, $request) { $issueId = (int) array_shift($args); $this->validate($issueId, true); $issue =& $this->issue; $this->setupTemplate(EDITOR_SECTION_ISSUES); $templateMgr =& TemplateManager::getManager(); $templateMgr->assign('issueId', $issueId); $journal =& $request->getJournal(); $journalId = $journal->getId(); import('classes.issue.IssueAction'); $templateMgr->assign('issueOptions', IssueAction::getIssueOptions()); import('classes.issue.form.IssueForm'); if (checkPhpVersion('5.0.0')) { // WARNING: This form needs $this in constructor $issueForm = new IssueForm('editor/issues/issueData.tpl'); } else { $issueForm =& new IssueForm('editor/issues/issueData.tpl'); } $issueForm->readInputData(); if ($issueForm->validate($issue)) { $issueForm->execute($issueId); $issueForm->initData($issueId); } $templateMgr->assign_by_ref('issue', $issue); $templateMgr->assign('unpublished', !$issue->getPublished()); $issueForm->display(); }