/** * Save extra field. */ function execute() { $extraFieldDao =& DAORegistry::getDAO('ExtraFieldDAO'); if (isset($this->extraFieldId)) { $extraField =& $extraFieldDao->getExtraField($this->extraFieldId); } if (!isset($extraField)) { $extraField = new ExtraField(); } $extraField->setExtraFieldType($this->typeConst); $journal = Request::getJournal(); $extraFieldNames = $this->getData('extraFieldNames'); foreach ($journal->getSupportedLocaleNames() as $localeKey => $localeValue) { $extraField->setExtraFieldName($extraFieldNames[$localeKey], $localeKey); } $extraField->setExtraFieldActive($this->getData('active')); if (isset($this->extraFieldId)) { $extraFieldDao->updateExtraField($extraField); } else { $extraFieldDao->insertExtraField($extraField); } }