/** * Save review form element. */ function execute() { $reviewFormElementDao =& DAORegistry::getDAO('ReviewFormElementDAO'); if ($this->reviewFormElementId != null) { $reviewFormElement =& $reviewFormElementDao->getReviewFormElement($this->reviewFormElementId); } if (!isset($reviewFormElement)) { $reviewFormElement = new ReviewFormElement(); $reviewFormElement->setReviewFormId($this->reviewFormId); $reviewFormElement->setSequence(REALLY_BIG_NUMBER); } $reviewFormElement->setQuestion($this->getData('question'), null); // Localized $reviewFormElement->setRequired($this->getData('required') ? 1 : 0); $reviewFormElement->setIncluded($this->getData('included') ? 1 : 0); $reviewFormElement->setElementType($this->getData('elementType')); if (in_array($this->getData('elementType'), ReviewFormElement::getMultipleResponsesElementTypes())) { $reviewFormElement->setPossibleResponses($this->getData('possibleResponses'), null); // Localized } else { $reviewFormElement->setPossibleResponses(null, null); } if ($reviewFormElement->getId() != null) { $reviewFormElementDao->deleteSetting($reviewFormElement->getId(), 'possibleResponses'); $reviewFormElementDao->updateObject($reviewFormElement); $this->reviewFormElementId = $reviewFormElement->getId(); } else { $this->reviewFormElementId = $reviewFormElementDao->insertObject($reviewFormElement); $reviewFormElementDao->resequenceReviewFormElements($this->reviewFormId); } }