Beispiel #1
0
 /**
  * Edit article
  *
  * @param int $id article-ID
  *
  * @author Nguyen Van Hiep
  * @access public
  *
  * @version 1.0
  * @since 1.0
  */
 public function action_edit($id = null, $current_cat_view = '', $current_lang_view = '')
 {
     $a = Model_Article::find($id);
     if (!$a) {
         Session::set_flash('error', __('message.art_not_exists'));
         Response::redirect('admin/article');
     }
     $view = View::forge('admin/article/edit');
     $view->a = $a;
     $view->err = array();
     $view->sel_cats = Model_ArtCat::get_cat_from_art($id);
     $view->langs = $this->langs;
     $view->cats = Model_Categories::get_cat_list();
     if ($current_cat_view != 'cat' and $current_lang_view != 'lang') {
         $view->current_cat_view = "cat={$current_cat_view}&lang={$current_lang_view}";
     } elseif ($current_cat_view != 'cat') {
         $view->current_cat_view = "cat={$current_cat_view}&lang=";
     } elseif ($current_lang_view != 'lang') {
         $view->current_cat_view = "cat=&lang={$current_lang_view}";
     } else {
         $view->current_cat_view = "cat=&lang=";
     }
     if (Input::method() == 'POST') {
         if (count(Input::file()) == 0) {
             Session::set_flash('error', __('message.upload_files_error'));
             Response::redirect('admin/articLe/edit');
         }
         $a->title = Input::post('title');
         $a->slug = Input::post('slug');
         $a->title_search = str_replace('-', ' ', Input::post('slug'));
         $a->desc = Input::post('desc');
         $a->content = Input::post('content');
         $content_search = strip_tags(Input::post('content'));
         $a->content_search = preg_replace('/[\\s]+/mu', ' ', $content_search);
         // remove all tab, new line
         $content_no_mark = Input::vn_str_filter(strip_tags(Input::post('content')));
         $a->content_search_no_mark = preg_replace('/[\\s]+/mu', ' ', $content_no_mark);
         $a->lang = Input::post('lang');
         $a->updated_at = date('Y-m-d h:i:s', time());
         $val = Model_Article::validate('edit', $a);
         Upload::process($this->config);
         $upload_errs = Upload::get_errors();
         $up_err = reset($upload_errs);
         $input_file = Input::file();
         $upthumb = $input_file['thumbnail']['name'];
         $is_upthumb = true;
         // Check if upload new thumbnail or not
         if ($up_err['field'] == 'thumbnail' and strlen($upthumb) == 0) {
             $upload_errs = array();
             $is_upthumb = false;
         }
         if ($val->run() and count($upload_errs) == 0) {
             //save account
             if ($a->save()) {
                 // Save Article-Category
                 Model_ArtCat::save_art_cat($a->id, Input::post('cat') ? Input::post('cat') : array(), true);
                 //Save images
                 $this->save_thumb($a->id, $is_upthumb);
                 //redirect to index page
                 Session::set_flash('success', __('message.art_edited'));
                 Response::redirect("admin/article?{$view->current_cat_view}");
             } else {
                 //fail in transaction
                 Session::set_flash('error', __('message.registration_failed'));
             }
         } else {
             $view->err = $val->error_message();
             $err = $this->upload_errors($upload_errs);
             $view->err = array_merge($view->err, $err);
         }
     }
     $this->template->title = __('prod.edit');
     $this->template->content = $view;
 }
Beispiel #2
0
 /**
  * Call via ajax
  *
  * @return select box (cats)
  *
  * @access public
  * @author Dao Anh Minh
  */
 public function action_get_cat_by_lang()
 {
     $lang = Input::get('lang');
     $cats = Model_Categories::get_cat_list(true, $lang);
     return Form::select('cat', 0, $cats, array('class' => 'form-control'));
 }