Пример #1
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     $themes = [];
     foreach (ThemeHelper::getThemes() as $theme) {
         $themes[] = $theme->name;
     }
     return array(array('paginationSize', 'integer', 'max' => 200, 'min' => 1), array('theme', 'in', 'range' => $themes), array(['displayName', 'spaceOrder'], 'safe'), array('logo', 'file', 'extensions' => ['jpg', 'png', 'jpeg'], 'maxSize' => 3 * 1024 * 1024), array('logo', 'dimensionValidation', 'skipOnError' => true), array('dateInputDisplayFormat', 'in', 'range' => ['', 'php:d/m/Y']));
 }
Пример #2
0
 /**
  * Rewrites DynamicConfiguration based on Database Stored Settings
  */
 public static function rewrite()
 {
     // Get Current Configuration
     $config = self::load();
     // Add Application Name to Configuration
     $config['name'] = Yii::$app->settings->get('name');
     // Add Default language
     $defaultLanguage = Yii::$app->settings->get('defaultLanguage');
     if ($defaultLanguage !== null && $defaultLanguage != "") {
         $config['language'] = Yii::$app->settings->get('defaultLanguage');
     } else {
         $config['language'] = Yii::$app->language;
     }
     $timeZone = Yii::$app->settings->get('timeZone');
     if ($timeZone != "") {
         $config['timeZone'] = $timeZone;
         $config['components']['formatter']['defaultTimeZone'] = $timeZone;
         $config['components']['formatterApp']['defaultTimeZone'] = $timeZone;
         $config['components']['formatterApp']['timeZone'] = $timeZone;
     }
     // Add Caching
     $cacheClass = Yii::$app->settings->get('cache.class');
     if (in_array($cacheClass, ['yii\\caching\\DummyCache', 'yii\\caching\\ApcCache', 'yii\\caching\\FileCache'])) {
         $config['components']['cache'] = ['class' => $cacheClass, 'keyPrefix' => Yii::$app->id];
     }
     // Add User settings
     $config['components']['user'] = array();
     if (Yii::$app->getModule('user')->settings->get('auth.defaultUserIdleTimeoutSec')) {
         $config['components']['user']['authTimeout'] = Yii::$app->getModule('user')->settings->get('auth.defaultUserIdleTimeoutSec');
     }
     // Install Mail Component
     $mail = [];
     $mail['transport'] = array();
     if (Yii::$app->settings->get('mailer.transportType') == 'smtp') {
         $mail['transport']['class'] = 'Swift_SmtpTransport';
         if (Yii::$app->settings->get('mailer.hostname')) {
             $mail['transport']['host'] = Yii::$app->settings->get('mailer.hostname');
         }
         if (Yii::$app->settings->get('mailer.username')) {
             $mail['transport']['username'] = Yii::$app->settings->get('mailer.username');
         } else {
             if (!Yii::$app->settings->get('mailer.password')) {
                 $mail['transport']['authMode'] = 'null';
             }
         }
         if (Yii::$app->settings->get('mailer.password')) {
             $mail['transport']['password'] = Yii::$app->settings->get('mailer.password');
         }
         if (Yii::$app->settings->get('mailer.encryption')) {
             $mail['transport']['encryption'] = Yii::$app->settings->get('mailer.encryption');
         }
         if (Yii::$app->settings->get('mailer.port')) {
             $mail['transport']['port'] = Yii::$app->settings->get('mailer.port');
         }
         /*
          if (Yii::$app->settings->get('mailer.allowSelfSignedCerts')) {
          $mail['transport']['ssl']['allow_self_signed'] = true;
          $mail['transport']['ssl']['verify_peer'] = false;
          }
         */
     } elseif (Yii::$app->settings->get('mailer.transportType') == 'php') {
         $mail['transport']['class'] = 'Swift_MailTransport';
     } else {
         $mail['useFileTransport'] = true;
     }
     $config['components']['mailer'] = $mail;
     $config = ArrayHelper::merge($config, ThemeHelper::getThemeConfig(Yii::$app->settings->get('theme')));
     $config['params']['config_created_at'] = time();
     $config['params']['horImageScrollOnMobile'] = Yii::$app->settings->get('horImageScrollOnMobile');
     self::save($config);
 }
Пример #3
0
 /**
  * Store colors to configuration.
  *
  * @deprecated since version 1.1
  * @param type $themeName
  */
 public static function setColorVariables($themeName)
 {
     $theme = ThemeHelper::getThemeByName($themeName);
     if ($theme !== null) {
         $theme->storeColorsToConfig();
     }
 }
Пример #4
0
 public function actionDesign()
 {
     $form = new \humhub\modules\admin\models\forms\DesignSettingsForm();
     if ($form->load(Yii::$app->request->post()) && $form->validate() && $form->save()) {
         Yii::$app->getSession()->setFlash('data-saved', Yii::t('AdminModule.controllers_SettingController', 'Saved'));
         return $this->redirect(['/admin/setting/design']);
     }
     $themes = [];
     foreach (ThemeHelper::getThemes() as $theme) {
         $themes[$theme->name] = $theme->name;
     }
     return $this->render('design', array('model' => $form, 'themes' => $themes, 'logo' => new \humhub\libs\LogoImage()));
 }