Example #1
0
 /**
  * Updates an existing Page model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $model = $this->findModel($id);
     $PageSelfRels_model_q = PageSelfRels::find()->where(['page_id' => $id])->all();
     $PageTypeRel_model_q = PageTypeRel::find()->where(['page_id' => $id])->all();
     $PageImageRel_model = new PageImageRel();
     $PageTagsRel_model_q = PageTagsRel::find()->where(['page_id' => $id])->all();
     $posts = Post::find()->where(['page_id' => $id])->all();
     $_SESSION['KCFINDER']['disabled'] = false;
     // enables the file browser in the admin
     $_SESSION['KCFINDER']['uploadURL'] = Url::base() . "/kcupload/";
     // URL for the uploads folder
     $_SESSION['KCFINDER']['uploadDir'] = Yii::getAlias('@app') . "/web/kcupload/";
     // path to the uploads folder
     if (empty($PageSelfRels_model_q)) {
         $PageSelfRels_model = new PageSelfRels();
     } else {
         $PageSelfRels_model = new PageSelfRels();
         $PageSelfRels_model->parent_page_id = ArrayHelper::getColumn($PageSelfRels_model_q, 'parent_page_id');
     }
     if (empty($PageTagsRel_model_q)) {
         $PageTagsRel_model = new PageTagsRel();
     } else {
         $PageTagsRel_model = new PageTagsRel();
         $PageTagsRel_model->tag_id = ArrayHelper::getColumn($PageTagsRel_model_q, 'tag_id');
     }
     if (empty($PageTypeRel_model_q)) {
         $PageTypeRel_model = new PageTypeRel();
     } else {
         $PageTypeRel_model = new PageTypeRel();
         $PageTypeRel_model->page_type = ArrayHelper::getColumn($PageTypeRel_model_q, 'page_type');
     }
     $image_rel_model = PageImageRel::find()->where(['page_id' => $id])->orderBy('sort_order asc')->all();
     if ($model->load(Yii::$app->request->post()) && $PageTagsRel_model->load(Yii::$app->request->post()) && $PageSelfRels_model->load(Yii::$app->request->post()) && $PageTypeRel_model->load(Yii::$app->request->post())) {
         if ($model->save()) {
             $PageSelfRels_model->page_id = $model->id;
             if (empty($PageSelfRels_model->parent_page_id)) {
                 PageSelfRels::deleteAll(['page_id' => $PageSelfRels_model->page_id]);
                 $PageSelfRels_model->parent_page_id = 0;
                 $PageSelfRels_model->save();
             } else {
                 Page::update_page_self_rel($PageSelfRels_model);
             }
             $PageTagsRel_model->page_id = $model->id;
             if (empty($PageTagsRel_model->tag_id)) {
                 PageTagsRel::deleteAll(['page_id' => $PageTagsRel_model->page_id]);
                 /*
                                     $PageTagsRel_model->tag_id = 0;
                                     $PageTagsRel_model->save();*/
             } else {
                 Page::update_page_tags_rel($PageTagsRel_model);
             }
             $PageTypeRel_model->page_id = $model->id;
             if (empty($PageTypeRel_model->page_type)) {
                 PageTypeRel::deleteAll(['page_id' => $PageTypeRel_model->page_id]);
                 $PageTypeRel_model->page_type = '';
                 $PageTypeRel_model->save();
             } else {
                 Page::update_page_type_rel($PageTypeRel_model);
             }
             return $this->redirect(['view', 'id' => $model->id]);
         } else {
             echo '<pre>';
             var_dump($_POST['Page']);
             var_dump($model->getErrors());
         }
     } else {
         $breadcumb = array_reverse(Page::get_breadcumb($id));
         return $this->render('update', ['model' => $model, 'PageSelfRels_model' => $PageSelfRels_model, 'image_rel_model' => $image_rel_model, 'breadcumb' => $breadcumb, 'PageTypeRel_model' => $PageTypeRel_model, 'PageImageRel_model' => $PageImageRel_model, 'posts' => $posts, 'PageTagsRel_model' => $PageTagsRel_model]);
     }
 }