Example #1
0
 /**
  * Редактирует свойства сайта
  */
 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));
 }
Example #2
0
 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();
 }
Example #7
0
 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));
     }
 }