Beispiel #1
0
 public function save()
 {
     $setting = Setting::findOne(['id' => $this->id]);
     if (empty($setting)) {
         $setting = new Setting();
         $setting->name = $this->name;
         $setting->value = SettingForm::encodeValue($this->value);
         $oldRules = $this->_value_rules;
         $this->_value_rules = [[['value'], 'string']];
         Yii::getLogger()->log('save:', YII_DEBUG);
         if ($setting->save()) {
             $this->_value_rules = $oldRules;
             $this->id = $setting->id;
             return $setting;
         } else {
             $this->_value_rules = $oldRules;
             Yii::getLogger()->log('save error', YII_DEBUG);
         }
     } else {
         $setting->name = $this->name;
         $setting->value = SettingForm::encodeValue($this->value);
         $oldRules = $this->_value_rules;
         $this->_value_rules = [[['value'], 'string']];
         Yii::getLogger()->log('update:', YII_DEBUG);
         if ($setting->update()) {
             $this->_value_rules = $oldRules;
             return $setting;
         } else {
             $this->_value_rules = $oldRules;
             Yii::getLogger()->log('update error:' . print_r($setting, true), YII_DEBUG);
         }
     }
     return null;
 }