예제 #1
0
 /**
  * Internal function to return a ReviewForm object from a row.
  * @param $row array
  * @return ReviewForm
  */
 function &_returnReviewFormFromRow(&$row)
 {
     $reviewForm = new ReviewForm();
     $reviewForm->setId($row['review_form_id']);
     $reviewForm->setConferenceId($row['conference_id']);
     $reviewForm->setSequence($row['seq']);
     $reviewForm->setActive($row['is_active']);
     $reviewForm->setCompleteCount($row['complete_count']);
     $reviewForm->setIncompleteCount($row['incomplete_count']);
     $this->getDataObjectSettings('review_form_settings', 'review_form_id', $row['review_form_id'], $reviewForm);
     HookRegistry::call('ReviewFormDAO::_returnReviewFormFromRow', array(&$reviewForm, &$row));
     return $reviewForm;
 }
예제 #2
0
 /**
  * Save review form.
  */
 function execute()
 {
     $conference =& Request::getConference();
     $conferenceId = $conference->getId();
     $reviewFormDao =& DAORegistry::getDAO('ReviewFormDAO');
     if ($this->reviewFormId != null) {
         $reviewForm =& $reviewFormDao->getReviewForm($this->reviewFormId, $conferenceId);
     }
     if (!isset($reviewForm)) {
         $reviewForm = new ReviewForm();
         $reviewForm->setConferenceId($conferenceId);
         $reviewForm->setActive(0);
         $reviewForm->setSequence(REALLY_BIG_NUMBER);
     }
     $reviewForm->setTitle($this->getData('title'), null);
     // Localized
     $reviewForm->setDescription($this->getData('description'), null);
     // Localized
     if ($reviewForm->getId() != null) {
         $reviewFormDao->updateReviewForm($reviewForm);
         $reviewFormId = $reviewForm->getId();
     } else {
         $reviewFormId = $reviewFormDao->insertReviewForm($reviewForm);
         $reviewFormDao->resequenceReviewForms($conferenceId, 0);
     }
 }