public function actionCreate()
 {
     $model = new CmsPage();
     $model->attributes = $_POST;
     $model->SaveImage();
     if ($model->save()) {
         $this->sendResponse($model);
     }
 }
Exemple #2
0
  * @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));
     }
 }