public static function update_page_type_rel($model) { PageTypeRel::deleteAll('page_id = :page_id', [':page_id' => $model->page_id]); foreach ($model->page_type as $key => $value) { $new_model = new PageTypeRel(); $new_model->page_id = $model->page_id; $new_model->page_type = $value; if ($new_model->save()) { } else { throw new NotFoundHttpException('The requested page does not exist.'); } } return true; }
/** * 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]); } }