00001 <?php
00002
00015
00016
00017
00018 class JournalLanguagesHandler extends ManagerHandler {
00019
00023 function languages() {
00024 parent::validate();
00025 parent::setupTemplate(true);
00026
00027 import('manager.form.LanguageSettingsForm');
00028
00029 $settingsForm = &new LanguageSettingsForm();
00030 $settingsForm->initData();
00031 $settingsForm->display();
00032 }
00033
00037 function saveLanguageSettings() {
00038 parent::validate();
00039 parent::setupTemplate(true);
00040
00041 import('manager.form.LanguageSettingsForm');
00042
00043 $settingsForm = &new LanguageSettingsForm();
00044 $settingsForm->readInputData();
00045
00046 if ($settingsForm->validate()) {
00047 $settingsForm->execute();
00048
00049 $templateMgr = &TemplateManager::getManager();
00050 $templateMgr->assign(array(
00051 'currentUrl' => Request::url(null, null, 'languages'),
00052 'pageTitle' => 'common.languages',
00053 'message' => 'common.changesSaved',
00054 'backLink' => Request::url(null, Request::getRequestedPage()),
00055 'backLinkLabel' => 'manager.journalManagement'
00056 ));
00057 $templateMgr->display('common/message.tpl');
00058
00059 } else {
00060 $settingsForm->display();
00061 }
00062 }
00063
00064 function reloadLocalizedDefaultSettings() {
00065
00066 $locale = Request::getUserVar('localeToLoad');
00067 if ( !Locale::isLocaleValid($locale) ) {
00068 Request::redirect(null, null, 'languages');
00069 }
00070
00071 parent::validate();
00072 parent::setupTemplate(true);
00073
00074 $journal = &Request::getJournal();
00075 $journalSettingsDao = &DAORegistry::getDAO('JournalSettingsDAO');
00076 $journalSettingsDao->reloadLocalizedDefaultSettings($journal->getJournalId(), 'registry/journalSettings.xml', array(
00077 'indexUrl' => Request::getIndexUrl(),
00078 'journalPath' => $journal->getData('path'),
00079 'primaryLocale' => $journal->getPrimaryLocale(),
00080 'journalName' => $journal->getTitle($journal->getPrimaryLocale())
00081 ),
00082 $locale);
00083
00084 $templateMgr = &TemplateManager::getManager();
00085 $templateMgr->assign(array(
00086 'currentUrl' => Request::url(null, null, 'languages'),
00087 'pageTitle' => 'common.languages',
00088 'message' => 'common.changesSaved',
00089 'backLink' => Request::url(null, Request::getRequestedPage()),
00090 'backLinkLabel' => 'manager.journalManagement'
00091 ));
00092 $templateMgr->display('common/message.tpl');
00093 }
00094
00095
00096
00097 }
00098 ?>