public function actionEditSetting()
 {
     if (!($metadata = SettingMetadata::model()->find('`key`=?', array(@$_GET['key'])))) {
         $this->redirect(array('/admin/settings'));
     }
     $errors = array();
     if (Yii::app()->request->isPostRequest) {
         foreach (SettingMetadata::model()->findAll('element_type_id is null') as $metadata) {
             if (@$_POST[$metadata->key]) {
                 if (!($setting = $metadata->getSetting($metadata->key, null, true))) {
                     $setting = new SettingInstallation();
                     $setting->key = $metadata->key;
                 }
                 $setting->value = @$_POST[$metadata->key];
                 if (!$setting->save()) {
                     $errors = $setting->errors;
                 } else {
                     $this->redirect(array('/admin/settings'));
                 }
             }
         }
     }
     $this->render('/admin/edit_setting', array('metadata' => $metadata, 'errors' => $errors));
 }