/** * 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; }
/** * 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')); }