00001 <?php
00002
00017 class AdminSettingsHandler extends AdminHandler {
00018
00022 function settings() {
00023 parent::validate();
00024 parent::setupTemplate(true);
00025
00026 import('admin.form.SiteSettingsForm');
00027
00028 $settingsForm = &new SiteSettingsForm();
00029 if ($settingsForm->isLocaleResubmit()) {
00030 $settingsForm->readInputData();
00031 } else {
00032 $settingsForm->initData();
00033 }
00034 $settingsForm->display();
00035 }
00036
00040 function saveSettings() {
00041 parent::validate();
00042 parent::setupTemplate(true);
00043 $site =& Request::getSite();
00044
00045 import('admin.form.SiteSettingsForm');
00046
00047 $settingsForm = &new SiteSettingsForm();
00048 $settingsForm->readInputData();
00049
00050 if (Request::getUserVar('uploadSiteStyleSheet')) {
00051 if (!$settingsForm->uploadSiteStyleSheet()) {
00052 $settingsForm->addError('siteStyleSheet', Locale::translate('admin.settings.siteStyleSheetInvalid'));
00053 }
00054 } elseif (Request::getUserVar('deleteSiteStyleSheet')) {
00055 $publicFileManager =& new PublicFileManager();
00056 $publicFileManager->removeSiteFile($site->getSiteStyleFilename());
00057 } elseif (Request::getUserVar('uploadPageHeaderTitleImage')) {
00058 if (!$settingsForm->uploadPageHeaderTitleImage($settingsForm->getFormLocale())) {
00059 $settingsForm->addError('pageHeaderTitleImage', Locale::translate('admin.settings.homeHeaderImageInvalid'));
00060 }
00061 } elseif (Request::getUserVar('deletePageHeaderTitleImage')) {
00062 $publicFileManager =& new PublicFileManager();
00063 $setting = $site->getData('pageHeaderTitleImage');
00064 $formLocale = $settingsForm->getFormLocale();
00065 if (isset($setting[$formLocale])) {
00066 $publicFileManager->removeSiteFile($setting[$formLocale]['uploadName']);
00067 unset($setting[$formLocale]);
00068 $site->setData('pageHeaderTitleImage', $setting);
00069 $siteSettingsDao =& DAORegistry::getDAO('SiteSettingsDAO');
00070 $siteSettingsDao->deleteSetting('pageHeaderTitleImage', $formLocale);
00071
00072
00073 $templateMgr = &TemplateManager::getManager();
00074 $templateMgr->assign('displayPageHeaderTitle', $site->getSitePageHeaderTitle());
00075 }
00076 } elseif ($settingsForm->validate()) {
00077 $settingsForm->execute();
00078
00079 $templateMgr = &TemplateManager::getManager();
00080 $templateMgr->assign(array(
00081 'currentUrl' => Request::url(null, null, 'settings'),
00082 'pageTitle' => 'admin.siteSettings',
00083 'message' => 'common.changesSaved',
00084 'backLink' => Request::url(null, Request::getRequestedPage()),
00085 'backLinkLabel' => 'admin.siteAdmin'
00086 ));
00087 $templateMgr->display('common/message.tpl');
00088 exit();
00089 }
00090 $settingsForm->display();
00091 }
00092
00093 }
00094
00095 ?>