Esempio n. 1
0
 public function upload($cat_id)
 {
     if (!empty($this->imageFile)) {
         if ($this->validate()) {
             if (!file_exists("../web/images/cats_images/" . $cat_id)) {
                 mkdir("../web/images/cats_images/" . $cat_id, 0777);
             }
             $image_name = md5($this->imageFile->baseName) . date('His') . '.' . $this->imageFile->extension;
             $this->imageFile->saveAs('images/cats_images/' . $cat_id . '/' . $image_name);
             $model = ImagesForCats::findOne(['cat_id' => $cat_id]);
             if (!empty($model)) {
                 if (file_exists("../web/images/cats_images/" . $cat_id . '/' . $model->url)) {
                     unlink("../web/images/cats_images/" . $cat_id . '/' . $model->url);
                 }
             }
             if (empty($model)) {
                 $model = new ImagesForCats();
             }
             $model->url = $image_name;
             $model->cat_id = $cat_id;
             $model->save();
             return true;
         } else {
             return false;
         }
     }
 }
Esempio n. 2
0
 public function actionEdit($id)
 {
     $model_upload = new UploadFile1();
     $translit_model = new Functions();
     if (Yii::$app->request->isPost) {
         $model_upload->imageFile = UploadedFile::getInstance($model_upload, 'imageFile');
         if ($model_upload->upload($id)) {
             // file is uploaded successfully
         }
     }
     $icon = ImagesForCats::findOne(['cat_id' => $id]);
     @session_start();
     $_SESSION['menu'] = 1;
     $model = new ModArendaTree();
     $item = $model->findOne(['id' => $id]);
     if (Yii::$app->request->post()) {
         CharacteristicsForCats::deleteAll(['cat_id' => $id]);
         if (Yii::$app->request->post('cats')) {
             $cats = Yii::$app->request->post('cats');
             foreach ($cats as $key => $value) {
                 $model_ch = new CharacteristicsForCats();
                 $model_ch->cat_id = Yii::$app->request->post('ModArendaTree')['id'];
                 $model_ch->character_id = $key;
                 $model_ch->save();
             }
         }
         CharacteristicsDataForCats::deleteAll(['cat_id' => $id]);
         if (Yii::$app->request->post('add_cat_for_character_data')) {
             $cats = Yii::$app->request->post('add_cat_for_character_data');
             //  CharacteristicsForCats::deleteAll(['cat_id'=>$id]);
             foreach ($cats as $key => $value) {
                 $model_ch = new CharacteristicsDataForCats();
                 $model_ch->cat_id = Yii::$app->request->post('ModArendaTree')['id'];
                 $model_ch->character_data_id = $key;
                 $model_ch->save();
                 $char = CharacteristicsData::findOne(['id' => $key]);
                 $model1 = CharacteristicsForCats::findOne(['character_id' => $char->parent_id, 'cat_id' => $id]);
                 if (empty($model1)) {
                     $model1 = new CharacteristicsForCats();
                 }
                 $model1->cat_id = $id;
                 $model1->character_id = $char->parent_id;
                 $model1->save();
             }
         }
         ArendaTypesForCats::deleteAll(['cat_id' => $id]);
         if (Yii::$app->request->post('add_cat_for_arenda_type')) {
             $cats = Yii::$app->request->post('add_cat_for_arenda_type');
             foreach ($cats as $key => $value) {
                 $model_ch = new ArendaTypesForCats();
                 $model_ch->cat_id = Yii::$app->request->post('ModArendaTree')['id'];
                 $model_ch->arenda_type_id = $key;
                 $model_ch->save();
             }
         }
     }
     if ($model->load(Yii::$app->request->post())) {
         if ($model->validate()) {
             $item = $model->findOne(['id' => $id]);
             $item->name = $model->name;
             $item->url = $item->url == $model->url ? $translit_model->translit($model->name) : $model->url;
             $item->parent_id = empty($model->parent_id) ? $item->parent_id : $model->parent_id;
             $item->active = $model->active;
             $item->use_name_for_ads = $model->use_name_for_ads;
             $item->name_for_ads = $model->name_for_ads;
             $item->use_rub_km = $model->use_rub_km;
             if ($item->save()) {
                 $session = Yii::$app->session;
                 $session->setFlash('char1', '<div class="alert alert-success">Изменения успешно сохранены.</div>');
                 return $this->redirect('edit?id=' . $id);
             }
         }
     }
     //получаем список категорий для изменения родителя
     $all_cats = $model->find()->asArray()->all();
     //получаем характеристики и подхарактеристики
     $all_characters = Characteristics::find()->asArray()->all();
     foreach ($all_characters as $key => $value) {
         $char_data = CharacteristicsData::find()->where(['parent_id' => $value['id']])->asArray()->all();
         if (!empty($char_data)) {
             $all_characters[$key]['charact_data'] = $char_data;
         }
     }
     //Получаем активные характеристики
     $active_cats = CharacteristicsForCats::find()->where(['cat_id' => $id])->asArray()->all();
     //Получаем активные подхарактеристики
     $active_podcats = CharacteristicsDataForCats::find()->where(['cat_id' => $id])->asArray()->all();
     //получаем типы аренды
     $arenda_types = ArendaTypes::find()->asArray()->all();
     $active_arenda_types = ArendaTypesForCats::find()->where(['cat_id' => $id])->asArray()->all();
     $tree = new ModArendaTree();
     return $this->render('edit', ['icon' => $icon, 'model_upload' => $model_upload, 'model' => $item, 'all_cats' => $tree->view_cat_for_parent($tree->get_cat()), 'all_characters' => $all_characters, 'active_cats' => $active_cats, 'active_podcats' => $active_podcats, 'arenda_types' => $arenda_types, 'active_arenda_types' => $active_arenda_types]);
 }