/** * Save section. */ function execute() { $journal =& Request::getJournal(); $journalId = $journal->getId(); // We get the section DAO early on so that // the section class will be imported. $sectionDao =& DAORegistry::getDAO('SectionDAO'); $section =& $this->section; if (!is_a($section, 'Section')) { $section = new Section(); $section->setJournalId($journalId); $section->setSequence(REALLY_BIG_NUMBER); } $section->setTitle($this->getData('title'), null); // Localized $section->setAbbrev($this->getData('abbrev'), null); // Localized $reviewFormId = $this->getData('reviewFormId'); if ($reviewFormId === '') { $reviewFormId = null; } $section->setReviewFormId($reviewFormId); $section->setMetaIndexed($this->getData('metaIndexed') ? 0 : 1); // #2066: Inverted $section->setMetaReviewed($this->getData('metaReviewed') ? 0 : 1); // #2066: Inverted $section->setAbstractsNotRequired($this->getData('abstractsNotRequired') ? 1 : 0); $section->setIdentifyType($this->getData('identifyType'), null); // Localized $section->setEditorRestricted($this->getData('editorRestriction') ? 1 : 0); $section->setHideTitle($this->getData('hideTitle') ? 1 : 0); $section->setHideAuthor($this->getData('hideAuthor') ? 1 : 0); $section->setHideAbout($this->getData('hideAbout') ? 1 : 0); $section->setDisableComments($this->getData('disableComments') ? 1 : 0); $section->setPolicy($this->getData('policy'), null); // Localized $section->setAbstractWordCount($this->getData('wordCount')); $section =& parent::execute($section); if ($section->getId() != null) { $sectionDao->updateSection($section); $sectionId = $section->getId(); } else { $sectionId = $sectionDao->insertSection($section); $sectionDao->resequenceSections($journalId); } // Save assigned editors $assignedEditorIds = Request::getUserVar('assignedEditorIds'); if (empty($assignedEditorIds)) { $assignedEditorIds = array(); } elseif (!is_array($assignedEditorIds)) { $assignedEditorIds = array($assignedEditorIds); } $sectionEditorsDao =& DAORegistry::getDAO('SectionEditorsDAO'); $sectionEditorsDao->deleteEditorsBySectionId($sectionId, $journalId); foreach ($this->sectionEditors as $key => $junk) { $sectionEditor =& $this->sectionEditors[$key]; $userId = $sectionEditor->getId(); // We don't have to worry about omit- and include- // section editors because this function is only called // when the Save button is pressed and those are only // used in other cases. if (in_array($userId, $assignedEditorIds)) { $sectionEditorsDao->insertEditor($journalId, $sectionId, $userId, Request::getUserVar('canReview' . $userId), Request::getUserVar('canEdit' . $userId)); } unset($sectionEditor); } }
function importSections() { assert($this->xml->name == 'sections'); $sectionDAO =& DAORegistry::getDAO('SectionDAO'); $sectionEditorsDAO =& DAORegistry::getDAO('SectionEditorsDAO'); $sections = $sectionDAO->getJournalSections($this->journal->getId()); $this->nextElement(); while ($this->xml->name == 'section') { $sectionXML = $this->getCurrentElementAsDom(); $section = new Section(); $section->setJournalId($this->journal->getId()); $section->setReviewFormId($this->idTranslationTable->resolve(INTERNAL_TRANSFER_OBJECT_REVIEW_FORM, (int) $sectionXML->reviewFormId)); $section->setSequence((int) $sectionXML->sequence); $section->setMetaIndexed((string) $sectionXML->metaIndexed); $section->setMetaReviewed((string) $sectionXML->metaReviewed); $section->setAbstractsNotRequired((int) $sectionXML->abstractsNotRequired); $section->setEditorRestricted((int) $sectionXML->editorRestricted); $section->setHideTitle((int) $sectionXML->hideTitle); $section->setHideAuthor((int) $sectionXML->hideAuthor); $section->setHideAbout((int) $sectionXML->hideAbout); $section->setDisableComments((int) $sectionXML->disableComments); $section->setAbstractWordCount((int) $sectionXML->wordCount); $sectionDAO->insertSection($section); $this->idTranslationTable->register(INTERNAL_TRANSFER_OBJECT_SECTION, (int) $sectionXML->oldId, $section->getId()); $this->restoreDataObjectSettings($sectionDAO, $sectionXML->settings, 'section_settings', 'section_id', $section->getId()); foreach ($sectionXML->sectionEditor as $sectionEditorXML) { $userId = $this->idTranslationTable->resolve(INTERNAL_TRANSFER_OBJECT_USER, (int) $sectionEditorXML->userId); $canReview = (int) $sectionEditorXML->canReview; $canEdit = (int) $sectionEditorXML->canEdit; $sectionEditorsDAO->insertEditor($this->journal->getId(), $section->getId(), $userId, $canReview, $canEdit); } $this->nextElement(); } }
/** * Internal function to return a Section object from a row. * @param $row array * @return Section */ function &_returnSectionFromRow(&$row) { $section = new Section(); $section->setId($row['section_id']); $section->setJournalId($row['journal_id']); $section->setReviewFormId($row['review_form_id']); $section->setSequence($row['seq']); $section->setMetaIndexed($row['meta_indexed']); $section->setMetaReviewed($row['meta_reviewed']); $section->setAbstractsNotRequired($row['abstracts_not_required']); $section->setEditorRestricted($row['editor_restricted']); $section->setHideTitle($row['hide_title']); $section->setHideAuthor($row['hide_author']); $section->setHideAbout($row['hide_about']); $section->setDisableComments($row['disable_comments']); $section->setAbstractWordCount($row['abstract_word_count']); $this->getDataObjectSettings('section_settings', 'section_id', $row['section_id'], $section); HookRegistry::call('SectionDAO::_returnSectionFromRow', array(&$section, &$row)); return $section; }
/** * Save section. */ function execute() { $journal =& Request::getJournal(); $journalId = $journal->getId(); $sectionDao =& DAORegistry::getDAO('SectionDAO'); if (isset($this->sectionId)) { $section =& $sectionDao->getSection($this->sectionId, $journalId); } if (!isset($section)) { $section = new Section(); $section->setJournalId($journalId); $section->setSequence(REALLY_BIG_NUMBER); } $section->setTitle($this->getData('title'), null); // Localized $section->setAbbrev($this->getData('abbrev'), null); // Localized // Added region // EL on Febraurt 11th 2013 $section->setRegion($this->getData('region'), null); $reviewFormId = $this->getData('reviewFormId'); if ($reviewFormId === '') { $reviewFormId = null; } $section->setReviewFormId($reviewFormId); $section->setMetaIndexed($this->getData('metaIndexed') ? 0 : 1); // #2066: Inverted $section->setMetaReviewed($this->getData('metaReviewed') ? 0 : 1); // #2066: Inverted $section->setAbstractsNotRequired($this->getData('abstractsNotRequired') ? 1 : 0); $section->setIdentifyType($this->getData('identifyType'), null); // Localized $section->setEditorRestricted($this->getData('editorRestriction') ? 1 : 0); $section->setHideTitle($this->getData('hideTitle') ? 1 : 0); $section->setHideAuthor($this->getData('hideAuthor') ? 1 : 0); $section->setHideAbout($this->getData('hideAbout') ? 1 : 0); $section->setDisableComments($this->getData('disableComments') ? 1 : 0); $section->setPolicy($this->getData('policy'), null); // Localized $section->setAbstractWordCount($this->getData('wordCount')); if ($section->getId() != null) { $sectionDao->updateSection($section); $sectionId = $section->getId(); } else { $sectionId = $sectionDao->insertSection($section); $sectionDao->resequenceSections($journalId); } }