00001 <?php
00002
00015
00016
00017
00018 import('rt.RTAdmin');
00019 import('rt.ojs.RTDAO');
00020
00021 define('RT_DIRECTORY', 'rt');
00022 define('DEFAULT_RT_LOCALE', 'en_US');
00023
00024 class JournalRTAdmin extends RTAdmin {
00025
00027 var $journalId;
00028
00030 var $dao;
00031
00032
00033 function JournalRTAdmin($journalId) {
00034 $this->journalId = $journalId;
00035 $this->dao = &DAORegistry::getDAO('RTDAO');
00036 }
00037
00038 function restoreVersions($deleteBeforeLoad = true) {
00039 import('rt.RTXMLParser');
00040 $parser = &new RTXMLParser();
00041
00042 if ($deleteBeforeLoad) $this->dao->deleteVersionsByJournalId($this->journalId);
00043
00044 $localeFilesLocation = RT_DIRECTORY . DIRECTORY_SEPARATOR . Locale::getLocale();
00045 if (!file_exists($localeFilesLocation)) {
00046
00047 $localeFilesLocation = RT_DIRECTORY . DIRECTORY_SEPARATOR . DEFAULT_RT_LOCALE;
00048 $overrideLocale = true;
00049 } else {
00050 $overrideLocale = false;
00051 }
00052
00053 $versions = $parser->parseAll($localeFilesLocation);
00054 foreach ($versions as $version) {
00055 if ($overrideLocale) {
00056 $version->setLocale(Locale::getLocale());
00057 }
00058 $this->dao->insertVersion($this->journalId, $version);
00059 }
00060 }
00061
00062 function importVersion($filename) {
00063 import ('rt.RTXMLParser');
00064 $parser = &new RTXMLParser();
00065
00066 $version = &$parser->parse($filename);
00067 $this->dao->insertVersion($this->journalId, $version);
00068 }
00069 }
00070
00071 ?>