Пример #1
0
 public function create_item($page_id = null, $model)
 {
     $controller = Yii::app()->getController();
     if (isset($_POST['ModuleList4'])) {
         $mpage_id = ModulesInPages::model()->getLink($page_id, $this->module_id);
         $_POST['ModuleList4']['mpage_id'] = $mpage_id;
         if (!isset($_POST['ModuleList4']['date'])) {
             $_POST['ModuleList4']['date'] = date('Y-m-d');
         }
         $model->attributes = $_POST['ModuleList4'];
         if ((int) $_POST['ModuleList4']['img_id']) {
             Files::model()->saveTempFile((int) $_POST['ModuleList4']['img_id']);
         }
         if ($model->save()) {
             $item_id = $model->primaryKey;
             // обработка input-параметров
             if (isset($_POST['ModuleList4Values']) && is_array($_POST['ModuleList4Values']) && count($_POST['ModuleList4Values'])) {
                 foreach ($_POST['ModuleList4Values'] as $key => $value) {
                     if (is_array($value) && count($value)) {
                         foreach ($value as $key2 => $value2) {
                             $params_value = new ModuleList4Values();
                             $params_value->attributes = array('param_id' => (int) $key, 'item_id' => $item_id, 'value' => $value2);
                             $params_value->save();
                         }
                     } else {
                         $params_value = new ModuleList4Values();
                         $params_value->attributes = array('param_id' => (int) $key, 'item_id' => $item_id, 'value' => $value);
                         $params_value->save();
                     }
                 }
             }
             // активация (создание) альбомов для параметров типа «Фотогалерея»
             $params_list = ModuleList4Params::model()->getList($mpage_id);
             if (count($params_list)) {
                 foreach ($params_list as $key => $value) {
                     if ($value['data_type_id'] == 8) {
                         $param_id = $value['id'];
                         $id = $item_id;
                         $param_value = ModuleList4Values::model()->getItem($id, $param_id);
                         if (count($param_value) == 0 || is_null(ModuleGallery::model()->findByPk((int) $param_value['value']))) {
                             $gallery = new ModuleGallery();
                             $gallery->attributes = array('title' => 'list4 # param_id = ' . $param_id . ', item_id = ' . $id, 'date' => date('Y-m-d'), 'active' => 1);
                             if ($gallery->save()) {
                                 if (count($param_value) == 0) {
                                     $model = new ModuleList4Values();
                                     $model->attributes = array('param_id' => $param_id, 'item_id' => $id, 'value' => $gallery->primaryKey);
                                     $model->save();
                                 } else {
                                     ModuleList4Values::model()->new_value($id, $param_id, $gallery->primaryKey);
                                 }
                             }
                         }
                     }
                 }
             }
             Yii::app()->user->setFlash($this->module_id . '_add_message', '<p style="color:green;">Добавлено</p>');
             $controller->redirect(Yii::app()->baseUrl . '?r=pages/update&id=' . $page_id . '&/#!/tab_' . $this->module_id);
         } else {
             Yii::app()->user->setFlash($this->module_id . '_add_message', '<p style="color:red;">Ошибка</p>');
         }
     }
     return $model;
 }
Пример #2
0
        ?>
				<div id="param_<?php 
        echo $value['id'];
        ?>
" class="list4_gallery">
					<fieldset>
					<?php 
        if (!isset($params_values_list[$value['id']]) || empty($params_values_list[$value['id']]['value']) || is_null(ModuleGallery::model()->findByPk((int) $params_values_list[$value['id']]['value']))) {
            $id = $model->id;
            $param_id = $value['id'];
            $param_value = ModuleList4Values::model()->getItem($id, $param_id);
            if (count($param_value) == 0 || is_null(ModuleGallery::model()->findByPk((int) $param_value['value']))) {
                // галерея
                $gallery = new ModuleGallery();
                $gallery->attributes = array('title' => 'list4 # param_id = ' . $param_id . ', item_id = ' . $id, 'date' => date('Y-m-d'), 'active' => 1);
                if ($gallery->save()) {
                    if (count($param_value) == 0) {
                        $model = new ModuleList4Values();
                        $model->attributes = array('param_id' => $param_id, 'item_id' => $id, 'value' => $gallery->primaryKey);
                        $model->save();
                    } else {
                        ModuleList4Values::model()->new_value($id, $param_id, $gallery->primaryKey);
                    }
                    $params_values_list[$value['id']] = ModuleList4Values::model()->getItem($id, $param_id);
                }
            }
        }
        if (isset($params_values_list[$value['id']]) && !empty($params_values_list[$value['id']]['value']) && !is_null(ModuleGallery::model()->findByPk((int) $params_values_list[$value['id']]['value']))) {
            $gallery_id = (int) $params_values_list[$value['id']]['value'];
            ?>
                <div class="row2 cf">
Пример #3
0
 public function actionIndex($page_id = null)
 {
     $role_id = Users::model()->findByPk(Yii::app()->user->id)->role_id;
     if (!is_null($page_id) && Pages::model()->existsPage($page_id)) {
         $mpage_id = ModulesInPages::model()->getLink((int) $page_id, $this->module->id);
         if ($mpage_id > 0) {
             $model = new ModuleList4Params();
             if ($role_id < 2) {
                 if (isset($_POST['ModuleList4Params'])) {
                     $_POST['ModuleList4Params']['mpage_id'] = $mpage_id;
                     $model->attributes = $_POST['ModuleList4Params'];
                     if ($model->save()) {
                         $param_id = $model->primaryKey;
                         // активация (создание) альбомов для элементов списка
                         if ($model->data_type_id == 8) {
                             $data = ModuleList4::model()->getList($mpage_id);
                             if (count($data)) {
                                 foreach ($data as $key => $value) {
                                     $id = $value->id;
                                     $param_value = ModuleList4Values::model()->getItem($id, $param_id);
                                     if (count($param_value) == 0 || is_null(ModuleGallery::model()->findByPk((int) $param_value['value']))) {
                                         $gallery = new ModuleGallery();
                                         $gallery->attributes = array('title' => 'list4 # param_id = ' . $param_id . ', item_id = ' . $id, 'date' => date('Y-m-d'), 'active' => 1);
                                         if ($gallery->save()) {
                                             if (count($param_value) == 0) {
                                                 $model = new ModuleList4Values();
                                                 $model->attributes = array('param_id' => $param_id, 'item_id' => $id, 'value' => $gallery->primaryKey);
                                                 $model->save();
                                             } else {
                                                 ModuleList4Values::model()->new_value($id, $param_id, $gallery->primaryKey);
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                         Yii::app()->user->setFlash($this->module->id . '_add_message', '<p style="color:green;">Добавлено</p>');
                         $this->redirect(Yii::app()->baseUrl . '?r=' . $this->module->id . '/params/index&page_id=' . $page_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') as $k => $v) {
                         if (isset($_POST[$k]) && !empty($_POST[$k])) {
                             $out = "UPDATE {$v} SET order_id= CASE";
                             $id = $_POST[$k];
                             $id = explode(',', $id);
                             for ($i = count($id); $i > 0; $i--) {
                                 $out .= " WHEN id='" . intval($id[count($id) - $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/index&page_id=' . $page_id);
                 }
             }
             $list = ModuleList4Params::model()->getList($mpage_id);
             $data_type_drop_down_list = DataType::model()->getDropDownList();
             $module_settings = ModuleList4Settings::model()->getItem($mpage_id);
             $this->pageTitle = $module_settings->title . ' — Список параметров';
             $this->render('index', array('model' => $model, 'data_type_drop_down_list' => $data_type_drop_down_list, 'list' => $list, 'page_id' => $page_id, 'role_id' => $role_id));
         } else {
             $this->redirect(Yii::app()->baseUrl . '?r=pages/update&id=' . $page_id . '&/#!/tab_' . $this->module->id);
         }
     } else {
         $this->redirect(Yii::app()->request->scriptUrl);
     }
 }