public function add($id1, $id2, $text1) { $out = false; $model = $this->findByAttributes(array('id_1' => $id1, 'id_2' => $id2)); if (is_null($model)) { $model = $this->findByAttributes(array('id_2' => $id1, 'id_1' => $id2)); } if (is_null($model)) { $model = new ModuleList4List4(); $model->attributes = array('id_1' => $id1, 'id_2' => $id2, 'text1' => $text1); if ($model->save()) { $out = true; } } else { $model->text1 = $text1; if ($model->save()) { $out = true; } } return $out; }
<label class="labelCheckbox" for="ModuleList4List4_<?php echo $value['id']; ?> _0"><i>Нет</i></label> </div> </td> </tr> <?php } ?> <?php foreach ($params_values as $mpage_ids) { $params_values2 = ModuleList4List4::model()->getList($model->id); $list4 = ModuleList4::model()->getList($mpage_ids); foreach ($list4 as $l3) { $params_text = ModuleList4List4::model()->getText($l3->id, $model->id); ?> <tr> <td> <div class="edit_line checkboxLine"> <?php if ($settings['type'] === false) { ?> <input name="ModuleList4List4[<?php echo $value['id']; ?> ][<?php echo $l3->id; ?> ]" id="ytModuleList4List4_<?php echo $value['id'];
public function getList4($id, $mpage_id, $maxlevel = 1, $level = 1, $param_list = false) { if ($level > $maxlevel) { return NULL; } /*//$modulelist4 = new ModuleList4(); //$val = $modulelist4->findByAttributes(array('id' => $id, 'mpage_id' => $mpage_id)); //if (is_null($val)) return NULL; $val = (object) array('id'=>$id); //$list4 = $val->getAttributes(); $list4 = array('id'=>$id);*/ $modulelist4 = new ModuleList4(); $val = $modulelist4->findByAttributes(array('id' => $id, 'mpage_id' => $mpage_id)); if (is_null($val)) { return NULL; } $list4 = $val->getAttributes(); if ($param_list !== false) { $params = ModuleList4Params::model()->findAllByAttributes(array('mpage_id' => $mpage_id, 'code' => $param_list)); } else { $params = ModuleList4Params::model()->findAllByAttributes(array('mpage_id' => $mpage_id)); } foreach ($params as $param) { $list4['params'][$param->id] = $param->getAttributes(); $list4['params'][$param->id]['settings'] = unserialize($list4['params'][$param->id]['settings']); switch ($param->data_type_id) { case '1': case '2': case '3': case '4': $values = ModuleList4Values::model()->findAllByAttributes(array('param_id' => $param->id, 'item_id' => $val->id)); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; /* case '3': $values = ModuleList4Values::model()->findAllByAttributes( array( 'param_id' => $param->id, 'item_id' => $val->id, ) ); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; case '4': $values = ModuleList4Values::model()->findAllByAttributes( array( 'param_id' => $param->id, 'item_id' => $val->id, ) ); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; */ /* case '3': $values = ModuleList4Values::model()->findAllByAttributes( array( 'param_id' => $param->id, 'item_id' => $val->id, ) ); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; case '4': $values = ModuleList4Values::model()->findAllByAttributes( array( 'param_id' => $param->id, 'item_id' => $val->id, ) ); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; */ case '5': $values = ModuleList4Values::model()->findAllByAttributes(array('param_id' => $param->id, 'item_id' => $val->id)); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = ModuleList4ParamsValues::model()->findByPk($value->value)->title; $tmp_value = ModuleList4ParamsValues::model()->findByPk($value->value); if ($tmp_value) { $tmp_value_id = $tmp_value->id; $list4['params'][$param->id]['values'][$j]['value_id'] = $tmp_value_id; } // $list4['params'][$param->id]['values'][$j]['value_id'] = ModuleList4ParamsValues::model()-> // findByPk($value->value)->id; $j++; } break; // $values = ModuleList4Values::model()->with('list4paramsvalues')->findAllByAttributes( // array( // 't.param_id' => $param->id, // 't.item_id' => $val->id, // ) // ); // $j = 0; // foreach ($values as $value) { // $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); // $list4['params'][$param->id]['values'][$j]['value'] = $value->list4paramsvalues->title; // $j++; // } break; case '8': $value = ModuleList4Values::model()->findByAttributes(array('param_id' => $param->id, 'item_id' => $val->id)); $photos = array(); // $gId = $list4['params'][$param->id]['value'] = '1234123412';//$value->value; $gId = $value->value; foreach (ModuleGalleryPhotos::model()->with('file')->findAllByAttributes(array('gallery_id' => $gId)) as $item) { $photos[] = $item->file->file_name; } $list4['params'][$param->id]['value'] = $photos; break; case '9': $linked_mpages = array(); foreach (ModuleList4ParamsList4::model()->findAllByAttributes(array('param_id' => $param->id)) as $link) { $linked_mpages[] = $link->mpage_id; } $j = 0; foreach ($linked_mpages as $linked_mpage) { $allowed = array(); foreach ($modulelist4->findAllByAttributes(array('mpage_id' => $linked_mpage)) as $v) { $allowed[] = $v->id; } $linkparams = ModuleList4List4::model()->findAllByAttributes(array('id_1' => $val->id, 'id_2' => $allowed)); foreach ($linkparams as $linkparam) { $list4['params'][$param->id]['values'][$j] = $linkparam->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $this->getList4($linkparam->id_2, $linked_mpage, $maxlevel, $level + 1, $param_list); $j++; } } break; default: break; } } return $list4; }
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) && ModuleList4::model()->existsItem($mpage_id, $id)) { // обработка параметров с одним значением if (isset($_POST['ModuleList4Values']) && is_array($_POST['ModuleList4Values']) && count($_POST['ModuleList4Values'])) { foreach ($_POST['ModuleList4Values'] as $key => $value) { $key = (int) $key; $data_type_id = ModuleList4Params::model()->findByPk($key)->data_type_id; if (ModuleList4Values::model()->existsItem($id, $key)) { $params_value = ModuleList4Values::model()->getItem($id, $key); if ($data_type_id == 7) { $old_file_id = (int) $params_value->value; } ModuleList4Values::model()->new_value($id, $key, '0'); $params_value->attributes = array('value' => $value); if ($params_value->save() && $data_type_id == 7) { $file_id = (int) $value; if ($file_id > 0) { Files::model()->saveTempFile($file_id); } if ($old_file_id != $file_id) { Files::model()->deleteFile($old_file_id, $this->module->id); } } $criteria = new CDbCriteria(); $criteria->condition = 'param_id = :param_id AND item_id = :item_id AND id <> :id'; $criteria->params = array('param_id' => $key, 'item_id' => $id, 'id' => $params_value->id); ModuleList4Values::model()->deleteAll($criteria); } else { $params_value = new ModuleList4Values(); $params_value->attributes = array('param_id' => $key, 'item_id' => $id, 'value' => $value); if ($params_value->save() && $data_type_id == 7) { $file_id = (int) $value; if ($file_id > 0) { Files::model()->saveTempFile($file_id); } } } } } // обработка файлов if (isset($_POST['ModuleList4Files'])) { $list4file = new ModuleList4Files(); $list4file->short = $_POST['ModuleList4Files']['short']; $list4file->file_id = $_POST['ModuleList4Files']['file_id']; $list4file->item_id = $id; if ($list4file->save()) { Files::model()->saveTempFile((int) $list4file->file_id); } else { Files::model()->deleteFile($list4file->file_id, $this->module->id); Yii::app()->user->setFlash('message', '<p style="color:red;">Ошибка</p>'); } } // обработка параметров с несколькими значениями if (isset($_POST['ModuleList4ValuesMultiply']) && is_array($_POST['ModuleList4ValuesMultiply']) && count($_POST['ModuleList4ValuesMultiply'])) { foreach ($_POST['ModuleList4ValuesMultiply'] as $key => $value) { ModuleList4Values::model()->new_value($id, (int) $key, '0'); foreach ($value as $key2 => $value2) { if (ModuleList4Values::model()->existsItem($id, (int) $key, '0')) { $params_value = ModuleList4Values::model()->getItem($id, (int) $key, '0'); $params_value->attributes = array('value' => $value2); $params_value->save(); } else { $params_value = new ModuleList4Values(); $params_value->attributes = array('param_id' => (int) $key, 'item_id' => $id, 'value' => $value2); $params_value->save(); } } } } // обработка параметров типа «List4» if ($page_id == 99) { $list4ids = ModuleList4::model()->getListIds($mpage_id); } if (isset($_POST['ModuleList4List4']) && is_array($_POST['ModuleList4List4']) && count($_POST['ModuleList4List4'])) { foreach ($_POST['ModuleList4List4'] as $k => $v) { if (is_array($v) && count($v)) { foreach ($v as $key => $value) { $key = (int) $key; $value = (int) $value; $text = isset($_POST['ModuleList4List4Text'][$k][$key]) ? trim($_POST['ModuleList4List4Text'][$k][$key]) : ''; if ($key > 0) { if (empty($value)) { ModuleList4List4::model()->deleteAllByAttributes(array('id_1' => $id, 'id_2' => $key)); ModuleList4List4::model()->deleteAllByAttributes(array('id_2' => $id, 'id_1' => $key)); } else { if ($page_id == 99) { ModuleList4List4::model()->deleteAllByAttributes(array('id_1' => $list4ids, 'id_2' => $key)); ModuleList4List4::model()->deleteAllByAttributes(array('id_2' => $list4ids, 'id_1' => $key)); ModuleList4List4::model()->add($key, $id, $text); } else { ModuleList4List4::model()->add($id, $key, $text); } } } } } else { ModuleList4List4::model()->deleteAllByAttributes(array('id_1' => $id)); ModuleList4List4::model()->deleteAllByAttributes(array('id_2' => $id)); $key = (int) $k; $value = (int) $v; $text = isset($_POST['ModuleList4List4Text'][$k]) ? trim($_POST['ModuleList4List4Text'][$k]) : ''; if ($key > 0 && $value > 0) { ModuleList4List4::model()->add($id, $value, $text); } } } } // сохранение порядка в парамтерах типа «фотогалереях» if (isset($_POST['gallery_ids']) && is_array($_POST['gallery_ids']) && count($_POST['gallery_ids'])) { foreach ($_POST['gallery_ids'] as $k => $v) { $gallery_id = (int) $k; $v = explode(',', $v); if (count($v) > 1) { $out = "UPDATE rktv_module_gallery_photos SET order_id= CASE"; for ($i = count($v); $i > 0; $i--) { $out .= " WHEN id='" . intval($v[count($v) - $i]) . "' THEN '{$i}'"; } $out .= " ELSE order_id END WHERE gallery_id = {$gallery_id}"; $connection = Yii::app()->db; $command = $connection->createCommand($out); $out = $command->execute(); } } } // обработка основных полей $model = ModuleList4::model()->findByPk($id); if (isset($_POST['ModuleList4'])) { $old_file_id = $model->img_id; if ($_POST['ModuleList4']['img_id'] == 'NULL') { $_POST['ModuleList4']['img_id'] = ''; } $model->attributes = $_POST['ModuleList4']; if ((int) $_POST['ModuleList4']['img_id']) { Files::model()->saveTempFile((int) $_POST['ModuleList4']['img_id']); } elseif ($_POST['ModuleList4']['img_id'] == '') { Files::model()->deleteFile($old_file_id, $this->module->id); } if ($model->save()) { if ($old_file_id != $model->img_id) { Files::model()->deleteFile($old_file_id, $this->module->id); } Yii::app()->user->setFlash('message', '<p style="color:green;">Сохранено</p>'); $this->redirect(Yii::app()->baseUrl . '?r=' . $this->module->id . '/main/update&page_id=' . $page_id . '&id=' . $id); } else { Yii::app()->user->setFlash('message', '<p style="color:red;">Ошибка</p>'); } } $model = ModuleList4::model()->getItem($id, $mpage_id); $params_list = ModuleList4Params::model()->getList($mpage_id); $params_values_list = ModuleList4Values::model()->getList($id); $files = ModuleList4Files::model()->getList($id); $module_settings = ModuleList4Settings::model()->getItem($mpage_id); $this->pageTitle = $module_settings->title; $this->render('update', array('page_id' => $page_id, 'params_list' => $params_list, 'params_values_list' => $params_values_list, 'model' => $model, 'module_settings' => $module_settings, 'files' => $files)); } else { $this->redirect(Yii::app()->baseUrl . '?r=pages/update&id=' . $page_id . '&/#!/tab_' . $this->module->id); } } else { $this->redirect(Yii::app()->request->scriptUrl); } }
?> " data-type="<?php echo $type; ?> " data-type2="<?php echo $type2; ?> "> <td> <strong><?php echo $point->title; ?> </strong> <?php $icon_text = ''; list($g) = ModuleList4List4::model()->getList($point->id); switch ($g) { case '1': case '2': $icon_text = "Банкомат ЭКОПРОМБАНКа"; break; case '316': $icon_text = "Терминал ЭКОПРОМБАНКа"; break; } $icon_img = ''; if ($point->params['partner']->value == '1') { $icon_text = 'Банкомат партнера'; } if ($point->params['partner_term']->value == '1') { $icon_text = 'Терминал партнера';