Exemple #1
0
 public function actionUpdate($page_id = null, $id = null)
 {
     if (!is_null($page_id) && Pages::model()->existsPage($page_id)) {
         $mpage_id = ModulesInPages::model()->getLink((int) $page_id, $this->module->id);
         if (!is_null($id) && ModuleList4Params::model()->existsItem($mpage_id, $id)) {
             $model = new ModuleList4ParamsValues();
             if (isset($_POST['ModuleList4ParamsValues'])) {
                 $_POST['ModuleList4ParamsValues']['param_id'] = $id;
                 $model->attributes = $_POST['ModuleList4ParamsValues'];
                 if ($model->save()) {
                     Yii::app()->user->setFlash($this->module->id . '_add_message', '<p style="color:green;">Добавлено</p>');
                     $this->redirect(Yii::app()->baseUrl . '?r=' . $this->module->id . '/params/update&page_id=' . $page_id . '&id=' . $id);
                 } else {
                     Yii::app()->user->setFlash($this->module->id . '_add_message', '<p style="color:red;">Ошибка</p>');
                 }
             }
             if (isset($_POST['type']) && $_POST['type'] == $this->module->id) {
                 foreach (array('ids' => 'rktv_module_' . $this->module->id . '_params_values') as $k => $v) {
                     if (isset($_POST[$k]) && !empty($_POST[$k])) {
                         $out = "UPDATE {$v} SET order_id= CASE";
                         $id0 = $_POST[$k];
                         $id0 = explode(',', $id0);
                         for ($i = count($id0); $i > 0; $i--) {
                             $out .= " WHEN id='" . intval($id0[count($id0) - $i]) . "' THEN '{$i}'";
                         }
                         $out .= " ELSE order_id END";
                         $connection = Yii::app()->db;
                         $command = $connection->createCommand($out);
                         $out = $command->execute();
                     }
                 }
                 Yii::app()->user->setFlash($this->module->id . '_order_message', '<p style="color:green;">Сохранено</p>');
                 $this->redirect(Yii::app()->baseUrl . '?r=' . $this->module->id . '/params/update&page_id=' . $page_id . '&id=' . $id);
             }
             $list = ModuleList4ParamsValues::model()->getList($id);
             $item = ModuleList4Params::model()->getItem($id);
             $module_settings = ModuleList4Settings::model()->getItem($mpage_id);
             $this->pageTitle = $module_settings->title . ' — Возможные значения параметра «' . $item->title . '»';
             $this->render('update', array('model' => $model, 'item' => $item, 'list' => $list, 'page_id' => $page_id, 'id' => $id));
         } else {
             $this->redirect(Yii::app()->baseUrl . '?r=pages/update&id=' . $page_id . '&/#!/tab_' . $this->module->id);
         }
     } else {
         $this->redirect(Yii::app()->request->scriptUrl);
     }
 }