00001 <?php
00002
00015
00016
00017
00018 class AdminJournalHandler extends AdminHandler {
00019
00023 function journals() {
00024 parent::validate();
00025 parent::setupTemplate(true);
00026
00027 $rangeInfo = Handler::getRangeInfo('journals');
00028
00029 $journalDao = &DAORegistry::getDAO('JournalDAO');
00030 $journals = &$journalDao->getJournals($rangeInfo);
00031
00032 $templateMgr = &TemplateManager::getManager();
00033 $templateMgr->assign_by_ref('journals', $journals);
00034 $templateMgr->assign('helpTopicId', 'site.siteManagement');
00035 $templateMgr->display('admin/journals.tpl');
00036 }
00037
00041 function createJournal() {
00042 AdminJournalHandler::editJournal();
00043 }
00044
00049 function editJournal($args = array()) {
00050 parent::validate();
00051 parent::setupTemplate(true);
00052
00053 import('admin.form.JournalSiteSettingsForm');
00054
00055 $settingsForm = &new JournalSiteSettingsForm(!isset($args) || empty($args) ? null : $args[0]);
00056 if ($settingsForm->isLocaleResubmit()) {
00057 $settingsForm->readInputData();
00058 } else {
00059 $settingsForm->initData();
00060 }
00061 $settingsForm->display();
00062 }
00063
00067 function updateJournal() {
00068 parent::validate();
00069
00070 import('admin.form.JournalSiteSettingsForm');
00071
00072 $settingsForm = &new JournalSiteSettingsForm(Request::getUserVar('journalId'));
00073 $settingsForm->readInputData();
00074
00075 if ($settingsForm->validate()) {
00076 PluginRegistry::loadCategory('blocks');
00077 $settingsForm->execute();
00078 Request::redirect(null, null, 'journals');
00079
00080 } else {
00081 parent::setupTemplate(true);
00082 $settingsForm->display();
00083 }
00084 }
00085
00090 function deleteJournal($args) {
00091 parent::validate();
00092
00093 $journalDao = &DAORegistry::getDAO('JournalDAO');
00094
00095 if (isset($args) && !empty($args) && !empty($args[0])) {
00096 $journalId = $args[0];
00097 if ($journalDao->deleteJournalById($journalId)) {
00098
00099
00100 import('file.FileManager');
00101 $fileManager = &new FileManager();
00102
00103 $journalPath = Config::getVar('files', 'files_dir') . '/journals/' . $journalId;
00104 $fileManager->rmtree($journalPath);
00105
00106 import('file.PublicFileManager');
00107 $publicFileManager = &new PublicFileManager();
00108 $publicFileManager->rmtree($publicFileManager->getJournalFilesPath($journalId));
00109 }
00110 }
00111
00112 Request::redirect(null, null, 'journals');
00113 }
00114
00118 function moveJournal() {
00119 parent::validate();
00120
00121 $journalDao = &DAORegistry::getDAO('JournalDAO');
00122 $journal = &$journalDao->getJournal(Request::getUserVar('journalId'));
00123
00124 if ($journal != null) {
00125 $journal->setSequence($journal->getSequence() + (Request::getUserVar('d') == 'u' ? -1.5 : 1.5));
00126 $journalDao->updateJournal($journal);
00127 $journalDao->resequenceJournals();
00128 }
00129
00130 Request::redirect(null, null, 'journals');
00131 }
00132
00136 function importOJS1() {
00137 parent::validate();
00138 parent::setupTemplate(true);
00139
00140 import('admin.form.ImportOJS1Form');
00141
00142 $importForm = &new ImportOJS1Form();
00143 $importForm->initData();
00144 $importForm->display();
00145 }
00146
00150 function doImportOJS1() {
00151 parent::validate();
00152
00153 import('admin.form.ImportOJS1Form');
00154
00155 $importForm = &new ImportOJS1Form();
00156 $importForm->readInputData();
00157
00158 if ($importForm->validate() && ($journalId = $importForm->execute()) !== false) {
00159 $redirects = $importForm->getRedirects();
00160 $conflicts = $importForm->getConflicts();
00161
00162 $templateMgr =& TemplateManager::getManager();
00163 $templateMgr->assign('journalId', $journalId);
00164 $templateMgr->assign('redirects', $redirects);
00165 $templateMgr->assign('conflicts', $conflicts);
00166 $templateMgr->display('admin/importComplete.tpl');
00167 } else {
00168 parent::setupTemplate(true);
00169 $importForm->display();
00170 }
00171 }
00172
00173 }
00174
00175 ?>