/** * Creates a new CmsDocument model. * If creation is successful, the browser will be redirected to the 'view' page. * * @return mixed * @menuLabel crate new cms document * @menuIcon <span class="glyphicon glyphicon-list-alt"></span> * @functionalRight cmsBackendWrite */ public function actionCreate() { $model = new CmsDocument(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model]); } }
/** * @menuLabel __HIDDEN__ * @menuIcon <span class="glyphicon glyphicon-list-alt"></span> */ public function actionEditMenuLanguageVersion($menuItemId, $useget = false) { $menuItemId = intval($menuItemId); $model_menu = CmsMenuItem::find()->where(['id' => $menuItemId])->with('cmsHierarchyItem')->one(); $hierarchyItem = $model_menu->cmsHierarchyItem; $languageCode = $this->module->getLanguageManager()->getMappingForIdResolveAlias($model_menu->language); $model_wrapperform = new MenuItemAndContentForm(); if ($useget) { $model_wrapperform->load(Yii::$app->request->get()); } else { $model_wrapperform->load(Yii::$app->request->post()); } $model_content = null; $model_document = null; $message = null; $page_content_id_set = $model_menu->page_content_id != null; $contentType = $page_content_id_set ? MenuItemAndContentForm::CONTENT_TYPE_PAGE : intval($model_wrapperform->contentType); /** * **** PAGE CONTENT FORM **************** */ if ($page_content_id_set || $contentType == intval(MenuItemAndContentForm::CONTENT_TYPE_PAGE)) { $model_content = new CmsPageContent(); if ($page_content_id_set) { $model_content = CmsPageContent::findOne($model_menu->page_content_id); } $loadSuccess_content = $model_content->load(Yii::$app->request->post()); // check if menu item needs to be saved $model_content->language = $model_menu->language; if ($loadSuccess_content) { if ($model_content->created_datetime == null) { $model_content->created_datetime = new Expression('NOW()'); $model_content->createdby_userid = Yii::$app->user->id; } if ($model_content->validate() && $model_content->save()) { // link new item to menu if needed if (!$page_content_id_set) { $model_menu->page_content_id = $model_content->id; if ($model_menu->save()) { $message .= '<span class="success">' . Yii::t('simplecms', 'Content linked to Menu language version') . '</span>'; } else { $message .= '<span class="error">' . Yii::t('simplecms', 'Error: content saved, yet it could not be linked to the menu language version!') . implode($model_content->getFirstErrors(), ' ') . '</span>'; } } $message .= '<span class="success">' . Yii::t('simplecms', 'Content saved successfully') . '</span>'; } else { $message .= '<span class="error">' . Yii::t('simplecms', 'Error: saving content failed!') . implode($model_content->getFirstErrors(), ' ') . '</span>'; } } // update menu item // $menu_item_new_name = new CmsMenuItem(); if ($model_menu->load(Yii::$app->request->post())) { if ($model_menu->save()) { $message .= '<span class="success">' . Yii::t('simplecms', 'Menu details saved successfully') . '</span>'; } else { $message .= '<span class="error">' . Yii::t('simplecms', 'Error: saving new menu name!') . '</span>'; } } $model_wrapperform->contentType = MenuItemAndContentForm::CONTENT_TYPE_PAGE; } else { if ($model_menu->document_id != null || $contentType == MenuItemAndContentForm::CONTENT_TYPE_DOCUMENT) { /** * **** DOCUMENT FORM **************** */ if ($model_menu->document_id != null) { $model_document = CmsDocument::findOne($model_menu->document_id); } else { $model_document = new CmsDocument(); $model_document->created_datetime = new Expression('NOW()'); $model_document->createdby_userid = Yii::$app->user->id; } $loadSuccess_document = $model_document->load(Yii::$app->request->post()); // set fixed values $model_document->language = $model_menu->language; if ($loadSuccess_document) { if ($model_document->save()) { // link new item to menu if needed if ($model_menu->document_id == null) { $model_menu->document_id = $model_document->id; $model_menu->save(); } $message .= '<span class="success">' . Yii::t('simplecms', 'Document saved successfully') . '</span>'; } else { $message .= '<span class="error">' . Yii::t('simplecms', 'Error: saving document failed!') . '</span>'; } } // check if menu item name has been altered if ($model_menu->load(Yii::$app->request->post())) { if ($model_menu->save()) { $message .= '<span class="success">' . Yii::t('simplecms', 'Menu details saved successfully') . '</span>'; } else { $message .= '<span class="error">' . Yii::t('simplecms', 'Error: saving new menu name!') . '</span>'; } } $model_wrapperform->contentType = MenuItemAndContentForm::CONTENT_TYPE_DOCUMENT; } else { if ($model_menu->direct_url != null || $contentType == MenuItemAndContentForm::CONTENT_TYPE_URL) { /** * **** DIRECT URL FORM **************** */ if ($model_menu->load(Yii::$app->request->post())) { if ($model_menu->save()) { $message .= '<span class="success">' . Yii::t('simplecms', 'Menu details saved successfully') . '</span>'; } else { $message .= '<span class="error">' . Yii::t('simplecms', 'Error: saving new menu name!') . '</span>'; } } $model_wrapperform->contentType = MenuItemAndContentForm::CONTENT_TYPE_URL; } else { // illegal state, no content found for item, menu might not have been created properly or not completed, display selector for new content type $model_wrapperform->contentType = MenuItemAndContentForm::CONTENT_TYPE_UNDEFINED; } } } // get post parameters // TODO // set default values return $this->render('editMenuAndContent', ['model_wrapperform' => $model_wrapperform, 'model_content' => $model_content, 'hierarchy_item' => $hierarchyItem, 'languageCode' => $languageCode, 'model_document' => $model_document, 'model_menu' => $model_menu, 'message' => $message]); }