/** * Редактирует свойства сайта */ public function actionSiteSettings() { //$settingsForm = ; $form_array = SiteSettingsForm::form(); //$form_array['title'] = Yii::t('cms', 'General settings'); $form_array['id'] = 'SiteSettings'; $form_array['activeForm'] = Form::ajaxify($form_array['id']); $form_array['buttons'] = array('refresh' => array('type' => 'submit', 'label' => Yii::t('cms', 'Save'), 'title' => Yii::t('cms', 'Save and reload the page'))); $form = new Form($form_array); $form->id = $form_array['id']; $form->model = clone Yii::app()->settings->model; $form->loadData(); $this->performAjaxValidation($form->model, null, false); if ($form->submitted('refresh')) { if ($form->model->validate()) { Yii::app()->settings->saveAll($form->model->getAttributes()); echo '1'; } else { echo '0'; } Yii::app()->end(); } $caption = array('icon' => 'settings', 'label' => Yii::t('cms', 'Site settings')); $this->render('/form', array('form' => $form, 'caption' => $caption)); }
public function init() { $this->tableName = Yii::app()->db->tablePrefix . $this->tableName; $this->model = new SiteSettingsForm(); try { $this->loadAll(); } catch (Exception $e) { if (Yii::app()->db->active) { Yii::app()->installer->installTable('SiteSettingsForm', $this->tableName); $this->saveAll(SiteSettingsForm::defaults()); Yii::app()->installer->installAll(); $this->loadAll(); } else { echo Yii::t('cms', 'Error! Check configuration file "protected/config/config.php", is database setting correct. Or delete configuration file for installing system.'); } } }
/** * Validate and save changes to site settings. * @param $args array * @param $request object */ function saveSettings($args, &$request) { $this->validate(); $this->setupTemplate(true); $site =& $request->getSite(); import('classes.admin.form.SiteSettingsForm'); $settingsForm = new SiteSettingsForm(); $settingsForm->readInputData(); if ($request->getUserVar('uploadSiteStyleSheet')) { if (!$settingsForm->uploadSiteStyleSheet()) { $settingsForm->addError('siteStyleSheet', Locale::translate('admin.settings.siteStyleSheetInvalid')); } } elseif ($request->getUserVar('deleteSiteStyleSheet')) { $publicFileManager = new PublicFileManager(); $publicFileManager->removeSiteFile($site->getSiteStyleFilename()); } elseif ($request->getUserVar('uploadPageHeaderTitleImage')) { if (!$settingsForm->uploadPageHeaderTitleImage($settingsForm->getFormLocale())) { $settingsForm->addError('pageHeaderTitleImage', Locale::translate('admin.settings.homeHeaderImageInvalid')); } } elseif ($request->getUserVar('deletePageHeaderTitleImage')) { $publicFileManager = new PublicFileManager(); $setting = $site->getSetting('pageHeaderTitleImage'); $formLocale = $settingsForm->getFormLocale(); if (isset($setting[$formLocale])) { $publicFileManager->removeSiteFile($setting[$formLocale]['uploadName']); $setting[$formLocale] = array(); $site->updateSetting('pageHeaderTitleImage', $setting, 'object', true); // Refresh site header $templateMgr =& TemplateManager::getManager(); $templateMgr->assign('displayPageHeaderTitle', $site->getLocalizedPageHeaderTitle()); } } elseif ($settingsForm->validate()) { $settingsForm->execute(); import('lib.pkp.classes.notification.NotificationManager'); $notificationManager = new NotificationManager(); $notificationManager->createTrivialNotification('notification.notification', 'common.changesSaved'); $request->redirect(null, null, 'index'); } $settingsForm->display(); }
/** * Validate and save changes to site settings. * @param $args array * @param $request object */ function saveSettings($args, &$request) { $this->validate(); $this->setupTemplate(true); import('admin.form.SiteSettingsForm'); $settingsForm = new SiteSettingsForm(); $settingsForm->readInputData(); $editData = false; if ($request->getUserVar('uploadStyleSheet')) { if ($settingsForm->uploadStyleSheet('styleSheet')) { $editData = true; } else { $settingsForm->addError('styleSheet', Locale::translate('admin.settings.styleSheet.invalid')); } } elseif ($request->getUserVar('deleteStyleSheet')) { $editData = true; $settingsForm->deleteImage('styleSheet'); } elseif ($request->getUserVar('uploadCustomLogo')) { if ($settingsForm->uploadImage('customLogo')) { $editData = true; } else { $settingsForm->addError('customLogo', Locale::translate('admin.settings.customLogo.invalid')); } } elseif ($request->getUserVar('deleteCustomLogo')) { $editData = true; $settingsForm->deleteImage('customLogo'); } if (!$editData && $settingsForm->validate()) { $settingsForm->execute(); import('notification.NotificationManager'); $notificationManager = new NotificationManager(); $notificationManager->createTrivialNotification('notification.notification', 'common.changesSaved'); $request->redirect(null, 'index'); } $settingsForm->display(); }
/** * Validate and save changes to site settings. */ function saveSettings() { $this->validate(); $this->setupTemplate(true); import('admin.form.SiteSettingsForm'); $settingsForm = new SiteSettingsForm(); $settingsForm->readInputData(); $editData = false; if (Request::getUserVar('uploadStyleSheet')) { if ($settingsForm->uploadStyleSheet('styleSheet')) { $editData = true; } else { $settingsForm->addError('styleSheet', Locale::translate('admin.settings.styleSheet.invalid')); } } elseif (Request::getUserVar('deleteStyleSheet')) { $editData = true; $settingsForm->deleteImage('styleSheet'); } elseif (Request::getUserVar('uploadCustomLogo')) { if ($settingsForm->uploadImage('customLogo')) { $editData = true; } else { $settingsForm->addError('customLogo', Locale::translate('admin.settings.customLogo.invalid')); } } elseif (Request::getUserVar('deleteCustomLogo')) { $editData = true; $settingsForm->deleteImage('customLogo'); } if (!$editData && $settingsForm->validate()) { $settingsForm->execute(); $templateMgr =& TemplateManager::getManager(); $templateMgr->assign(array('currentUrl' => 'admin/settings', 'pageTitle' => 'admin.siteSettings', 'message' => 'common.changesSaved', 'backLink' => Request::url('admin'), 'backLinkLabel' => 'admin.siteAdmin')); $templateMgr->display('common/message.tpl'); } else { $settingsForm->display(); } }
/** * Validate and save changes to site settings. */ function saveSettings() { $this->validate(); $this->setupTemplate(true); $site =& Request::getSite(); import('admin.form.SiteSettingsForm'); $settingsForm = new SiteSettingsForm(); $settingsForm->readInputData(); if (Request::getUserVar('uploadSiteStyleSheet')) { if (!$settingsForm->uploadSiteStyleSheet()) { $settingsForm->addError('siteStyleSheet', Locale::translate('admin.settings.siteStyleSheetInvalid')); } } elseif (Request::getUserVar('deleteSiteStyleSheet')) { $publicFileManager = new PublicFileManager(); $publicFileManager->removeSiteFile($site->getSiteStyleFilename()); } elseif (Request::getUserVar('uploadPageHeaderTitleImage')) { if (!$settingsForm->uploadPageHeaderTitleImage($settingsForm->getFormLocale())) { $settingsForm->addError('pageHeaderTitleImage', Locale::translate('admin.settings.homeHeaderImageInvalid')); } } elseif (Request::getUserVar('deletePageHeaderTitleImage')) { $publicFileManager = new PublicFileManager(); $setting = $site->getSetting('pageHeaderTitleImage'); $formLocale = $settingsForm->getFormLocale(); if (isset($setting[$formLocale])) { $publicFileManager->removeSiteFile($setting[$formLocale]['uploadName']); $setting[$formLocale] = array(); $site->updateSetting('pageHeaderTitleImage', $setting, 'object', true); // Refresh site header $templateMgr =& TemplateManager::getManager(); $templateMgr->assign('displaySitePageHeaderTitle', $site->getLocalizedPageHeaderTitle()); } } elseif ($settingsForm->validate()) { $settingsForm->execute(); $templateMgr =& TemplateManager::getManager(); $templateMgr->assign(array('currentUrl' => Request::url(null, null, null, 'settings'), 'pageTitle' => 'admin.siteSettings', 'message' => 'common.changesSaved', 'backLink' => Request::url(null, null, Request::getRequestedPage()), 'backLinkLabel' => 'admin.siteAdmin')); $templateMgr->display('common/message.tpl'); exit; } $settingsForm->display(); }
public function actionSitesettings() { $this->stepName = Yii::t('install', 'Шаг 5 из 6 : "Настройки проекта"'); $model = new SiteSettingsForm(); if (Yii::app()->request->isPostRequest) { $model->setAttributes($_POST['SiteSettingsForm']); if ($model->validate()) { $transaction = Yii::app()->db->beginTransaction(); try { $user = User::model()->admin()->findAll(); if (count($user) > 1) { throw new CHttpException(500, Yii::t('install', 'Произошла ошибка при установке =(')); } foreach (array('siteDescription', 'siteName', 'siteKeyWords') as $param) { $settings = new Settings(); $settings->setAttributes(array('module_id' => 'yupe', 'param_name' => $param, 'param_value' => $model->{$param}, 'user_id' => $user[0]->id)); if ($settings->save()) { continue; } else { throw new CDbException(print_r($settings->getErrors(), true)); } } $transaction->commit(); Yii::app()->user->setFlash(YFlashMessages::NOTICE_MESSAGE, Yii::t('install', 'Настройки сайта успешно сохранены!')); $this->redirect(array('/install/default/finish/')); } catch (CDbException $e) { $transaction->rollback(); Yii::app()->user->setFlash(YFlashMessages::ERROR_MESSAGE, $e->getMessage()); $this->redirect(array('/install/default/sitesettings/')); } } } $this->render('sitesettings', array('model' => $model)); }
public function actionForm($type, $name, $default = '') { $files = array(); $def = 0; $suggestions = array('' => '', '{dateformat pattern="d MMMM yyyy" time=$content.date}' => Yii::t('filesEditor', 'Function to show time'), '{link text="' . Yii::t('cms', 'Link') . '" url="view/index?pageId=1"}' => Yii::t('filesEditor', 'Function to show link, i.e. to page with ID=1')); if ($type == 'templates') { if (class_exists($name)) { $suggestions['{registercss file="file.css"}'] = Yii::t('filesEditor', 'Function to connect CSS-file'); $suggestions['{registerjs file="file.js"}'] = Yii::t('filesEditor', 'Function to connect JavaScript-file'); $suggestions['{publish file="file.js"}'] = Yii::t('filesEditor', 'Publish and return some file (i.e. image files)'); $suggestions['{form action="/" method="POST" id="form-id" target="_blank"}'] = Yii::t('filesEditor', 'Generate form tag'); if (Yii::app()->getViewRenderer() !== null) { $extension = Yii::app()->getViewRenderer()->fileExtension; } else { $extension = '.php'; } $data = call_user_func(array($name, 'getTemplates'), $name, '', false); $files[] = array('name' => '', 'title' => Yii::t('filesEditor', '«default»'), 'writable' => false); foreach ($data as $file) { $title = basename($file, $extension); $files[] = array('name' => $title, 'title' => $title, 'writable' => is_writable($file)); if ($title == $default) { $def = count($files) - 1; } } $title = Yii::t('filesEditor', 'Widget «{name}» templates', array('{name}' => call_user_func(array($name, 'modelName')))); // Формируем подсказки: $suggestions['{$editMode}'] = Yii::t('filesEditor', 'Edit mode flag'); $suggestions['{$language}'] = Yii::t('filesEditor', 'Language'); $suggestions['{$isGuest}'] = Yii::t('filesEditor', 'Is user is a guest mode flag'); if (method_exists($name, 'templateVars')) { $vars = call_user_func(array($name, 'templateVars')); foreach ($vars as $k => $v) { $suggestions[$k] = Yii::t('filesEditor', 'Widget') . self::SUGGESTIONS_SEPARATOR . $v; } } $objs = array('content' => $name, 'widget' => 'Widget', 'pageWidget' => 'PageWidget', 'page' => 'Page', 'user' => 'User'); $names = array('widget' => Yii::t('filesEditor', 'Widget'), 'content' => Yii::t('filesEditor', 'Widget'), 'page' => Yii::t('filesEditor', 'Showing page'), 'pageWidget' => Yii::t('filesEditor', 'Widget location'), 'user' => Yii::t('filesEditor', 'User')); foreach ($objs as $param => $obj) { $o = new $obj(); if (method_exists($o, 'attributeLabels') && method_exists($o, 'getAttributes')) { $labels = $o->attributeLabels(); $attrs = $o->getAttributes(); foreach ($attrs as $attr => $value) { if (isset($labels[$attr])) { $k = '{$' . $param . '.' . $attr . '}'; $suggestions[$k] = $names[$param] . self::SUGGESTIONS_SEPARATOR . $labels[$attr]; } } } } $setts = call_user_func(array($name, 'settings'), $name); foreach ($setts as $k => $v) { $var = '{$settings.local.' . $k . '}'; $suggestions[$var] = Yii::t('filesEditor', 'Settings for units «{name}»', array('{name}' => call_user_func(array($name, 'modelName')))) . self::SUGGESTIONS_SEPARATOR . $v['label']; } } } else { } $setts = SiteSettingsForm::attributeLabels(); foreach ($setts as $k => $v) { $var = '{$settings.global.' . $k . '}'; $suggestions[$var] = Yii::t('filesEditor', 'General settings') . self::SUGGESTIONS_SEPARATOR . $v; } $suggestions['{$userHostAddress}'] = Yii::t('filesEditor', 'User IP address'); $suggestions['{$TIME}'] = Yii::t('filesEditor', 'Used time (seconds)'); $suggestions['{$MEMORY}'] = Yii::t('filesEditor', 'Used memory (megabytes)'); if (!empty($files)) { $id = 'FilesEditor_' . sprintf('%x', crc32(serialize($files) . $type . $name)); $this->render('/form', array('id' => $id, 'files' => $files, 'type' => $type, 'name' => $name, 'title' => $title, 'default' => $def, 'suggestions' => $suggestions)); } }