IssueForm::initData PHP Method

initData() public method

Initialize form data from current issue.
public initData ( $request )
    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);
        }
    }

Usage Example

コード例 #1
0
 /**
  * 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();
 }
All Usage Examples Of IssueForm::initData