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); } }