public function actionIndex() { $criteria = new CDbCriteria(); $criteria->order = 't.order'; $criteria->with = array('config'); $model = ConfigGroup::model()->opened()->findAll($criteria); // Save if (isset($_POST['Config'])) { if (isset($_POST['Config'][request()->csrfTokenName])) { unset($_POST['Config'][request()->csrfTokenName]); } foreach ($_POST['Config'] as $k => $v) { db()->createCommand()->update('{{config}}', array('value' => $v, 'updated_at' => date('Y-m-d H:i:s')), 'param = :param', array(':param' => $k)); } if (request()->isAjaxRequest) { echo 'ok'; app()->end(); } } if (isset($_POST['Reset'])) { $configModel = Config::model()->find('param = :param', array(':param' => $_POST['Reset']['field'])); if ($configModel !== NULL) { $configModel->setAttribute('value', $configModel->default); $configModel->save(FALSE); echo $configModel->default; } else { echo 'fail'; } app()->end(); } $this->render('//settings/index', array('model' => $model)); }
public function safeUp() { Yii::import('application.components.ActiveRecord'); Yii::import('application.models.ConfigGroup'); $groupId = ConfigGroup::model()->find('name = "Капча"'); $this->insert('{{config}}', array('param' => 'captcha.bg.color', 'value' => '#2D1A13', 'default' => '#FFFFFF', 'label' => 'Задний фон капчи', 'group_id' => $groupId->id, 'order' => 5, 'method' => '', 'field_type' => 'textField', 'created_at' => date('Y-m-d H:i:s'))); $this->insert('{{config}}', array('param' => 'captcha.font.color', 'value' => '#FFFFFF', 'default' => '#000000', 'label' => 'Цвет текста', 'group_id' => $groupId->id, 'order' => 5, 'method' => '', 'field_type' => 'textField', 'created_at' => date('Y-m-d H:i:s'))); $groupId = ConfigGroup::model()->find('name = "Регистрация"'); $this->insert('{{config}}', array('param' => 'register.multiemail', 'value' => 0, 'default' => 0, 'label' => 'Разрешить регистрировать на один Email много аккаунтов', 'group_id' => $groupId->id, 'order' => 5, 'method' => '', 'field_type' => 'dropDownList', 'created_at' => date('Y-m-d H:i:s'))); }