/** * Internal function to return a Journal object from a row. * @param $row array * @return Journal */ function &_returnJournalFromRow(&$row) { $journal = new Journal(); $journal->setId($row['journal_id']); $journal->setPath($row['path']); $journal->setSequence($row['seq']); $journal->setEnabled($row['enabled']); $journal->setPrimaryLocale($row['primary_locale']); HookRegistry::call('JournalDAO::_returnJournalFromRow', array(&$journal, &$row)); return $journal; }
function createJournal() { $journalConfigXML = $this->getCurrentElementAsDom(); $journalDao =& DAORegistry::getDAO("JournalDAO"); $journal = new Journal(); $journal->setPath((string) $journalConfigXML->path); $journal->setEnabled((int) $journalConfigXML->enabled); $journal->setPrimaryLocale((string) $journalConfigXML->primaryLocale); $this->generateJournalPath($journal); $journalId = $journalDao->insertJournal($journal); $journalDao->resequenceJournals(); // Make the file directories for the journal import('lib.pkp.classes.file.FileManager'); $fileManager = new FileManager(); if (!file_exists(Config::getVar('files', 'files_dir') . '/journals/' . $journalId)) { $fileManager->mkdir(Config::getVar('files', 'files_dir') . '/journals/' . $journalId); } if (!file_exists(Config::getVar('files', 'files_dir') . '/journals/' . $journalId . '/articles')) { $fileManager->mkdir(Config::getVar('files', 'files_dir') . '/journals/' . $journalId . '/articles'); } if (!file_exists(Config::getVar('files', 'files_dir') . '/journals/' . $journalId . '/issues')) { $fileManager->mkdir(Config::getVar('files', 'files_dir') . '/journals/' . $journalId . '/issues'); } if (!file_exists(Config::getVar('files', 'public_files_dir') . '/journals/' . $journalId)) { $fileManager->mkdir(Config::getVar('files', 'public_files_dir') . '/journals/' . $journalId); } import('classes.rt.ojs.JournalRTAdmin'); $journalRtAdmin = new JournalRTAdmin($journalId); $journalRtAdmin->restoreVersions(false); // Make sure all plugins are loaded for settings preload PluginRegistry::loadAllPlugins(); HookRegistry::call('JournalSiteSettingsForm::execute', array(&$this, &$journal, &$section, &$isNewJournal)); $journalSettingsDao =& DAORegistry::getDAO('JournalSettingsDAO'); $this->restoreDataObjectSettings($journalSettingsDao, $journalConfigXML->settings, "journal_settings", "journal_id", $journal->getId()); $this->journal = $journal; }