Example #1
0
 public function actionViewcharact($id)
 {
     @session_start();
     $_SESSION['menu'] = 3;
     $model = new Characteristics();
     $model_data = new CharacteristicsData();
     if ($model->load(Yii::$app->request->post())) {
         if ($model->validate()) {
             if ($model->save()) {
                 return $this->redirect('charact');
             }
         }
     }
     if (Yii::$app->request->post('delete_character_data')) {
         $del_items = Yii::$app->request->post('delete_character_data');
         foreach ($del_items as $key => $value) {
             $character_data = CharacteristicsData::findOne(['id' => $key]);
             $character_data->delete();
         }
     }
     if (Yii::$app->request->post('delete_character')) {
         $del_items = Yii::$app->request->post('delete_character');
         foreach ($del_items as $key => $value) {
             $character = Characteristics::findOne(['id' => $key]);
             $character->delete();
         }
         return $this->redirect('/tree/admin/charact');
     }
     if (!empty($model_data->load(Yii::$app->request->post()))) {
         $data = Yii::$app->request->post();
         if (!empty($data['CharacteristicsData']['name'])) {
             foreach ($data['CharacteristicsData']['name'] as $key => $value) {
                 $model_data = new CharacteristicsData();
                 $model_data->name = $data['CharacteristicsData']['name'][$key];
                 if (empty($model_data->name)) {
                     continue;
                 }
                 $model_data->parent_id = $data['CharacteristicsData']['parent_id'][$key];
                 if ($model_data->save()) {
                     $session = Yii::$app->session;
                     $session->setFlash('char_data', '<div class="alert alert-success">Вы успешно добавили данные.</div>');
                     $idd = Yii::$app->db->getLastInsertID();
                     $model1 = new ModArendaTree();
                     $result = $model1->find()->all();
                     $batchmas = [];
                     foreach ($result as $key => $value) {
                         $batchmas[] = ['character_data_id' => $idd, 'cat_id' => $value->id];
                     }
                     //Yii :: $app -> db -> createCommand ()-> batchInsert ( 'characteristics_data_for_cats' ,  [  'character_data_id' ,  'cat_id' ],$batchmas)-> execute ();
                 }
             }
         }
     }
     if (Yii::$app->request->post()) {
         $char_id = key(Yii::$app->request->post('CharacteristicsData')['parent_id']);
         CharacteristicsForCats::deleteAll(['character_id' => $char_id]);
         if (Yii::$app->request->post('cats')) {
             foreach (Yii::$app->request->post('cats') as $key3 => $value3) {
                 $char_for_cats = new CharacteristicsForCats();
                 $char_for_cats->character_id = $char_id;
                 $char_for_cats->cat_id = $key3;
                 $char_for_cats->save();
             }
         }
     }
     //получаем список характеристик
     $characters = $model->find()->where(['id' => $id])->asArray()->all();
     foreach ($characters as $key => $value) {
         $characters_data = new CharacteristicsData();
         $characters_list = $characters_data->find()->where(['parent_id' => $value['id']])->asArray()->orderBy(['name' => SORT_ASC])->all();
         $characters[$key]['characters_data'] = $characters_list;
     }
     //Получаем активные категории
     $active_cats = CharacteristicsForCats::find()->where(['character_id' => $id])->asArray()->all();
     //получаем категории и подкатегории
     $cats_model = new ModArendaTree();
     $cats = $cats_model->view_cat_for_characters($cats_model->get_cat(), 0, $active_cats);
     return $this->render('view_charact', ['model' => $model, 'data' => $characters, 'characteristics_data' => $model_data, 'tree' => $cats]);
 }
Example #2
0
 public function getCharacteristicsData()
 {
     return $this->hasOne(CharacteristicsData::className(), ['parent_id' => $this->id]);
 }
Example #3
0
 public function actionViewcharact($id)
 {
     @session_start();
     $_SESSION['menu'] = 3;
     $model = new Characteristics();
     $model_data = new CharacteristicsData();
     if ($model->load(Yii::$app->request->post())) {
         if ($model->validate()) {
             if ($model->save()) {
                 return $this->redirect('charact');
             }
         }
     }
     if (Yii::$app->request->post('delete_character')) {
         $del_items = Yii::$app->request->post('delete_character');
         foreach ($del_items as $key => $value) {
             $character = Characteristics::findOne(['id' => $key]);
             $character->delete();
         }
         return $this->redirect('/tree/admin/charact');
     }
     if (Yii::$app->request->post()) {
         $char_id = $_GET['id'];
         CharacteristicsForCats::deleteAll(['character_id' => $char_id]);
         if (Yii::$app->request->post('cats')) {
             foreach (Yii::$app->request->post('cats') as $key3 => $value3) {
                 $char_for_cats = new CharacteristicsForCats();
                 $char_for_cats->character_id = $char_id;
                 $char_for_cats->cat_id = $key3;
                 $char_for_cats->save();
             }
         }
     }
     //получаем список характеристик
     $characters = $model->find()->where(['id' => $id])->asArray()->all();
     foreach ($characters as $key => $value) {
         $characters_data = new CharacteristicsData();
         $characters_list = $characters_data->find()->where(['parent_id' => $value['id']])->asArray()->orderBy(['name' => SORT_ASC])->all();
         $characters[$key]['characters_data'] = $characters_list;
     }
     //Получаем активные категории
     $active_cats = CharacteristicsForCats::find()->where(['character_id' => $id])->asArray()->all();
     //получаем категории и подкатегории
     $cats_model = new ModArendaTree();
     $cats = $cats_model->view_cat_for_characters($cats_model->get_cat(), 0, $active_cats);
     return $this->render('view_charact', ['model' => $model, 'data' => $characters, 'characteristics_data' => $model_data, 'tree' => $cats]);
 }