public function actionCreate() { $model = new CmsPage(); $model->attributes = $_POST; $model->SaveImage(); if ($model->save()) { $this->sendResponse($model); } }
* @param integer $id the ID of the model to be displayed */ public function actionView($id) { $this->render('view', array('model' => $this->loadModel($id))); } /** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new CmsPage(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model);
public function post_clone_page() { if (Input::has('page_id')) { $pid = Input::get('page_id'); $lang = Input::get('lang'); $now = date('Y-m-d H:i:s'); //SET ACTIVE LANG Session::put('LANG', $lang); //GET PAGE DATA $page = CmsPage::find($pid); //SET PARENT 0 IF CHANGE LANG if ($lang == LANG) { $parent_id = $page->parent_id; $slug = $page->slug; } else { $parent_id = 0; $slug = '/' . Str::slug($page->name, '-'); } $new_page_attr = array('parent_id' => $parent_id, 'role_id' => $page->role_id, 'role_level' => $page->role_level, 'author_id' => AUTHORID, 'slug' => $slug, 'name' => $page->name, 'title' => $page->title, 'keyw' => $page->keyw, 'descr' => $page->descr, 'header' => $page->header, 'layout' => $page->layout, 'footer' => $page->footer, 'access_level' => $page->access_level, 'extra_id' => $page->extra_id, 'order_id' => $page->order_id, 'lang' => $lang, 'is_home' => $page->is_home, 'is_valid' => 0); //WRITE NEW PAGE $new_page = new CmsPage($new_page_attr); $new_page->save(); if (Input::has('clone_media') and Input::get('clone_media') == 1) { //GET NEW ID $nid = $new_page->id; //GET ALL MEDIA IN PIVOT WHERE OLD PAGE_ID // $pivot = $page->files()->pivot(); foreach (DB::table('files_pages')->where_cmspage_id($pid)->get() as $value) { $clone_array = array('cmsfile_id' => $value->cmsfile_id, 'cmspage_id' => $nid, 'created_at' => $now, 'updated_at' => $now); DB::table('files_pages')->insert($clone_array); } } if (Input::has('clone_elements') and Input::get('clone_elements') == 1) { //GET NEW ID $nid = $new_page->id; //GET ALL ELEMENTS IN PIVOT WHERE OLD PAGE_ID // $pivot = $page->elements()->pivot(); foreach (DB::table('elements_pages')->where_cmspage_id($pid)->get() as $value) { //INSERT TO PIVOT if ($lang != LANG) { //NEW ELEMENT IF LANG CHANGE //GET ELEMENT MODEL $element = CmsElement::find($value->cmselement_id); $new_element_attr = array('author_id' => AUTHORID, 'name' => $element->name, 'label' => $element->label, 'text' => $element->text, 'zone' => $element->zone, 'lang' => $lang, 'is_valid' => 0); $new_element = new CmsElement($new_element_attr); $page = CmsPage::find($nid); $page->elements()->insert($new_element); } else { //CLONE ELEMENT $clone_array = array('cmselement_id' => $value->cmselement_id, 'cmspage_id' => $nid, 'created_at' => $now, 'updated_at' => $now); DB::table('elements_pages')->insert($clone_array); } } } Notification::success(LL('cms::alert.clone_page_success', CMSLANG, array('element' => $page->name)), 1500); return Redirect::to_action('cms::page', array($lang)); } else { Notification::error(LL('cms::alert.clone_page_error', CMSLANG), 1500); return Redirect::to_action('cms::page', array($lang)); } }
public function post_clone_page() { if (Input::has('page_id')) { $pid = Input::get('page_id'); $lang = Input::get('lang'); $now = date('Y-m-d H:i:s'); //SET ACTIVE LANG Session::put('LANG', $lang); //GET PAGE DATA $page = CmsPage::find($pid); //SET PARENT 0 IF CHANGE LANG if ($lang == LANG) { $parent_id = $page->parent_id; $slug = $page->slug; } else { $parent_id = 0; $slug = '/' . Str::slug($page->name, '-'); } $new_page_attr = array('parent_id' => $parent_id, 'role_id' => $page->role_id, 'role_level' => $page->role_level, 'author_id' => AUTHORID, 'slug' => $slug, 'name' => $page->name, 'title' => $page->title, 'keyw' => $page->keyw, 'descr' => $page->descr, 'header' => $page->header, 'layout' => $page->layout, 'footer' => $page->footer, 'access_level' => $page->access_level, 'extra_id' => $page->extra_id, 'order_id' => $page->order_id, 'lang' => $lang, 'is_home' => $page->is_home, 'is_valid' => 0); //WRITE NEW PAGE $new_page = new CmsPage($new_page_attr); $new_page->save(); // KEEP OPEN Session::flash('keep_open_item', array('parent_id' => $parent_id, 'page_id' => $new_page->id)); if (Input::has('clone_media') and Input::get('clone_media') == 1) { //GET NEW ID $nid = $new_page->id; //GET ALL MEDIA IN PIVOT WHERE OLD PAGE_ID // $pivot = $page->files()->pivot(); foreach (DB::table('files_pages')->where_cmspage_id($pid)->get() as $value) { $clone_array = array('cmsfile_id' => $value->cmsfile_id, 'cmspage_id' => $nid, 'created_at' => $now, 'updated_at' => $now); DB::table('files_pages')->insert($clone_array); } } // IF IS ARRAY CLONE_ELEMENTS if (is_array(Input::get('clone_elements'))) { //GET NEW PAGE ID $nid = $new_page->id; $elements_to_be_cloned = Input::get('clone_elements'); // FOR EACH ELEMENT TO CLONE foreach ($elements_to_be_cloned as $el) { //GET ORIGINAL ORDER_ID $original_el = DB::table('elements_pages')->where_cmspage_id($pid)->where_cmselement_id($el)->first(); $ororder = !empty($original_el) ? $original_el->order_id : Config::get('cms::settings.order'); // LANG CHANGES if ($lang != LANG) { // ALWAYS SEPARATE ELEMENTS $element = CmsElement::find($el); $new_element_attr = array('author_id' => AUTHORID, 'name' => $element->name, 'label' => $element->label, 'text' => $element->text, 'zone' => $element->zone, 'lang' => $lang, 'is_valid' => 0); $new_element = new CmsElement($new_element_attr); $page = CmsPage::find($nid); $page->elements()->insert($new_element, array('order_id' => $ororder)); } else { // CHECK IF ELEMENTS SEPARATE OR NOT $separate_elements = Input::get('ele_separate'); if (is_array($separate_elements) and in_array($el, $separate_elements)) { // ELEMENT MUST BE SEPARATED $element = CmsElement::find($el); $new_element_attr = array('author_id' => AUTHORID, 'name' => $element->name, 'label' => $element->label, 'text' => $element->text, 'zone' => $element->zone, 'lang' => $lang, 'is_valid' => 0); $new_element = new CmsElement($new_element_attr); $page = CmsPage::find($nid); $page->elements()->insert($new_element, array('order_id' => $ororder)); } else { //CLONE ELEMENT $clone_array = array('cmselement_id' => $el, 'cmspage_id' => $nid, 'order_id' => $ororder, 'created_at' => $now, 'updated_at' => $now); DB::table('elements_pages')->insert($clone_array); } } } } Notification::success(LL('cms::alert.clone_page_success', CMSLANG, array('element' => $page->name)), 1500); return Redirect::to_action('cms::page', array($lang)); } else { Notification::error(LL('cms::alert.clone_page_error', CMSLANG), 1500); return Redirect::to_action('cms::page', array($lang)); } }