/** * @inheritdoc */ public function getDataCellValue($model, $key, $index) { $settings = null; if ($this->component === null) { return $this->_result(Cms::BOOL_N); } if ($model instanceof CmsSite) { $settings = \skeeks\cms\models\CmsComponentSettings::fetchByComponentSiteCode($this->component, $model->code); } if ($model instanceof User) { $settings = \skeeks\cms\models\CmsComponentSettings::fetchByComponentUserId($this->component, $model->id); } if ($settings) { return $this->_result(Cms::BOOL_Y); } return $this->_result(Cms::BOOL_N); }
public function actionSetLang() { $rr = new RequestResponse(); $newLang = \Yii::$app->request->post('code'); $cmsLang = CmsLang::find()->active()->andWhere(['code' => $newLang])->one(); if (!$cmsLang) { $rr->message = 'Указанный язык отлючен или удален'; $rr->success = false; return $rr; } $rr->success = true; $userSettings = CmsComponentSettings::createByComponentUserId(\Yii::$app->admin, \Yii::$app->user->id); $userSettings->setSettingValue('languageCode', $cmsLang->code); if (!$userSettings->save()) { $rr->message = 'Не удалось сохранить настройки'; $rr->success = false; return $rr; } \Yii::$app->admin->invalidateCache(); return $rr; }
<?php echo $this->render('_header', ['component' => $component]); ?> <div class="sx-box sx-mb-10 sx-p-10"> <p><?php echo \Yii::t('app', 'This component may have personal preferences for each user. And it works differently depending on which of the sites is displayed.'); ?> </p> <p><?php echo \Yii::t('app', 'In that case, if user not has personal settings will be used the default settings.'); ?> </p> <?php if ($settings = \skeeks\cms\models\CmsComponentSettings::baseQueryUsers($component)->count()) { ?> <p><b><?php echo \Yii::t('app', 'Number of customized users'); ?> :</b> <?php echo $settings; ?> </p> <button type="submit" class="btn btn-danger btn-xs" onclick="sx.ComponentSettings.Remove.removeUsers(); return false;"> <i class="glyphicon glyphicon-remove"></i> <?php echo \Yii::t('app', 'Reset settings for all users'); ?> </button> <?php } else {
*/ /* @var $this yii\web\View */ ?> <?php echo $this->render('_header', ['component' => $component]); ?> <div class="sx-box sx-mb-10 sx-p-10"> <p><?php echo \Yii::t('app', 'Erase all the settings from the database for this component.'); ?> </p> <?php if ($settingsAllCount = \skeeks\cms\models\CmsComponentSettings::baseQuery($component)->count()) { ?> <p><b><?php echo \Yii::t('app', 'Total found'); ?> :</b> <?php echo $settingsAllCount; ?> </p> <button type="submit" class="btn btn-danger btn-xs" onclick="sx.ComponentSettings.Remove.removeAll(); return false;"> <i class="glyphicon glyphicon-remove"></i> <?php echo \Yii::t('app', 'reset all settings'); ?> </button> <?php } else {
* @copyright 2010 SkeekS (СкикС) * @date 27.03.2015 * * @var $component \skeeks\cms\base\Component */ /* @var $this yii\web\View */ ?> <?php echo $this->render('_header', ['component' => $component]); ?> <div class="sx-box sx-mb-10 sx-p-10"> <? if ($settings = \skeeks\cms\models\CmsComponentSettings::fetchByComponentDefault($component)) : ?> <button type="submit" class="btn btn-danger btn-xs" onclick="sx.ComponentSettings.Remove.removeDefault(); return false;"> <i class="glyphicon glyphicon-remove"></i> <?php echo \Yii::t('skeeks/cms', 'reset default settings'); ?> </button> <small><?php echo \Yii::t('skeeks/cms', 'The settings for this component are stored in the database. This option will erase them from the database, but the component, restore the default values. As they have in the code the developer.'); ?> </small> <? else: ?> <small><?php echo \Yii::t('skeeks/cms', 'These settings not yet saved in the database'); ?> </small> <? endif; ?>
/** * Настройки для пользователя * @param (int) $site_code * @return array */ public function fetchDefaultSettingsByUserId($user_id) { $settings = CmsComponentSettings::fetchByComponentUserId($this, (int) $user_id); if (!$settings) { return []; } return (array) $settings->value; }
public function actionRemove() { $component = $this->_component; $rr = new RequestResponse(); if ($rr->isRequestAjaxPost()) { if (\Yii::$app->request->post('do') == 'all') { if ($settings = \skeeks\cms\models\CmsComponentSettings::baseQuery($component)->all()) { /** * @var $setting CmsComponentSettings */ foreach ($settings as $setting) { //TODO: добавить отладочную информацию. if ($setting->delete()) { } } $component->invalidateCache(); $rr->message = 'Настройки успешно удалены'; $rr->success = true; } } else { if (\Yii::$app->request->post('do') == 'default') { if ($settings = \skeeks\cms\models\CmsComponentSettings::fetchByComponentDefault($component)) { $settings->delete(); $component->invalidateCache(); $rr->message = 'Настройки успешно удалены'; $rr->success = true; } } else { if (\Yii::$app->request->post('do') == 'sites') { if ($settings = \skeeks\cms\models\CmsComponentSettings::baseQuerySites($component)->all()) { /** * @var $setting CmsComponentSettings */ foreach ($settings as $setting) { //TODO: добавить отладочную информацию. if ($setting->delete()) { } } $component->invalidateCache(); $rr->message = 'Настройки успешно удалены'; $rr->success = true; } } else { if (\Yii::$app->request->post('do') == 'users') { if ($settings = \skeeks\cms\models\CmsComponentSettings::baseQueryUsers($component)->all()) { /** * @var $setting CmsComponentSettings */ foreach ($settings as $setting) { //TODO: добавить отладочную информацию. if ($setting->delete()) { } } $component->invalidateCache(); $rr->message = 'Настройки успешно удалены'; $rr->success = true; } } else { if (\Yii::$app->request->post('do') == 'site') { $code = \Yii::$app->request->post('code'); $site = CmsSite::find()->where(['code' => $code])->one(); if ($site) { if ($settings = \skeeks\cms\models\CmsComponentSettings::fetchByComponentSite($component, $site)) { $settings->delete(); $component->invalidateCache(); $rr->message = 'Настройки успешно удалены'; $rr->success = true; } } } else { if (\Yii::$app->request->post('do') == 'user') { $id = \Yii::$app->request->post('id'); $user = User::find()->where(['id' => $id])->one(); if ($user) { if ($settings = \skeeks\cms\models\CmsComponentSettings::fetchByComponentUser($component, $user)) { $settings->delete(); $component->invalidateCache(); $rr->message = 'Настройки успешно удалены'; $rr->success = true; } } } else { $rr->message = 'Все настройки удалены'; $rr->success = true; } } } } } } return (array) $rr; } return $this->render($this->action->id, ['component' => $component]); }
public function actionTriggerIsOpen() { if (\Yii::$app->request->isPost && \Yii::$app->request->isAjax) { $rr = new RequestResponse(); if (\Yii::$app->request->post('isOpen') == "true") { $userSettings = CmsComponentSettings::createByComponentUserId(\Yii::$app->cmsToolbar, \Yii::$app->user->id); $userSettings->setSettingValue('isOpen', Cms::BOOL_Y); if (!$userSettings->save()) { $rr->message = 'Не удалось сохранить настройки'; $rr->success = false; return $rr; } \Yii::$app->cmsToolbar->invalidateCache(); $rr->message = 'Сохранено'; $rr->success = true; } else { $userSettings = CmsComponentSettings::createByComponentUserId(\Yii::$app->cmsToolbar, \Yii::$app->user->id); $userSettings->setSettingValue('isOpen', Cms::BOOL_N); if (!$userSettings->save()) { $rr->message = 'Не удалось сохранить настройки'; $rr->success = false; return $rr; } \Yii::$app->cmsToolbar->invalidateCache(); $rr->message = 'Сохранено'; $rr->success = true; } return $rr; } }
<?php echo $this->render('_header', ['component' => $component]); ?> <h2><?php echo \Yii::t('app', 'User settings'); ?> : <?php echo $user->getDisplayName(); ?> </h2> <div class="sx-box sx-mb-10 sx-p-10"> <?php if ($settings = \skeeks\cms\models\CmsComponentSettings::fetchByComponentUserId($component, $user->id)) { ?> <button type="submit" class="btn btn-danger btn-xs" onclick="sx.ComponentSettings.Remove.removeByUser('<?php echo $user->id; ?> '); return false;"> <i class="glyphicon glyphicon-remove"></i> <?php echo \Yii::t('app', 'Reset settings for this user'); ?> </button> <small><?php echo \Yii::t('app', 'The settings for this component are stored in the database. This option will erase them from the database, but the component, restore the default values. As they have in the code the developer.'); ?> </small> <?php } else {
?> <h2><?php echo \Yii::t('app', 'Settings for the site'); ?> : <?php echo $site->name; ?> (<?php echo $site->code; ?> )</h2> <div class="sx-box sx-mb-10 sx-p-10"> <?php if ($settings = \skeeks\cms\models\CmsComponentSettings::fetchByComponentSiteCode($component, $site->code)) { ?> <button type="submit" class="btn btn-danger btn-xs" onclick="sx.ComponentSettings.Remove.removeBySite('<?php echo $site->code; ?> '); return false;"> <i class="glyphicon glyphicon-remove"></i> <?php echo \Yii::t('app', 'reset settings for this site'); ?> </button> <small><?php echo \Yii::t('app', 'The settings for this component are stored in the database. This option will erase them from the database, but the component, restore the default values. As they have in the code the developer.'); ?> </small> <?php } else {