public function post_contact() { $val = Validation::forge(); $val->add_callable('MyRules'); $val->add_field('name', 'Name', 'required|max_length[100]'); $val->add_field('email', 'Email', 'required|valid_email|max_length[255]'); $val->add_field('subject', 'Subject', 'required|max_length[255]'); $val->add_field('message', 'Message', 'required|max_length[1000]'); if ($val->run()) { $props = array('to' => $val->validated('email'), 'subject' => Model_Service_Util::mb_trim($val->validated('subject')), 'content' => array('name' => Model_Service_Util::mb_trim($val->validated('name')), 'body' => Model_Service_Util::mb_trim($val->validated('message'))), 'view' => 'contact'); Model_Service_Mail::send_mail($props); $this->data['success'] = 'Gửi tin nhắn thành công'; } else { $this->data['errors'] = $val->error_message(); } return $this->response($this->data); }
public function post_update_info() { $val = Validation::forge(); $val->add_callable('MyRules'); $val->add_field('full_name', Lang::get('label.full_name'), 'trim|max_length[255]'); $val->add_field('gender', Lang::get('label.gender'), 'trim|valid_gender'); $val->add_field('birthday', Lang::get('label.birthday'), 'trim|exact_length[10]'); $val->add_field('telephone', Lang::get('label.telephone'), 'trim|valid_numeric|max_length[12]'); $val->add_field('address', Lang::get('label.address'), 'trim|max_length[255]'); if ($val->run()) { $props = array('full_name' => Model_Service_Util::mb_trim($val->validated('full_name')), 'gender' => $val->validated('gender'), 'birthday' => $val->validated('birthday'), 'telephone' => $val->validated('telephone'), 'address' => Model_Service_Util::mb_trim($val->validated('address'))); if (Model_Base_User::update($this->user_id, $props)) { $this->data['success'] = Lang::get($this->controller . '.' . $this->action . '.success'); } else { $this->data['error'] = Lang::get($this->controller . '.' . $this->action . '.error'); } } else { $this->data['errors'] = $val->error_message(); } return $this->response($this->data); }
public function post_create() { $val = Validation::forge(); $val->add_callable('MyRules'); $val->add_field('category_name', Lang::get('label.category_name'), 'required|max_length[255]'); $val->add_field('id', Lang::get('label.category'), 'trim|valid_numeric|valid_category'); $val->add_field('parent_category_id', Lang::get('label.parent_category'), 'trim|valid_numeric|valid_category'); if ($val->run()) { DB::start_transaction(); $category_id = $val->validated('id'); $parent_category_id = (int) $val->validated('parent_category_id'); $category_props = array('category_name' => Model_Service_Util::mb_trim($val->validated('category_name')), 'parent_category_id' => $parent_category_id, 'level' => !empty($parent_category_id) ? Model_Category::find($parent_category_id)->level + 1 : 1); $create_id = !empty($category_id) ? Model_Base_Category::update($category_id, $category_props) : Model_Base_Category::insert($category_props); if ($create_id) { $type = !empty($category_id) ? 'update' : 'new'; $category_id = !empty($category_id) ? $category_id : $create_id; $photo_props = array('type' => $type, 'category_id' => $category_id); if ($type === 'new' || Input::file('category_photo')) { $upload = Model_Service_Upload::run('category', $photo_props); } if (empty($upload['error'])) { DB::commit_transaction(); $this->data['category'] = array('type' => $type, 'id' => $category_id, 'parent_category_id' => $parent_category_id, 'category_name' => $val->validated('category_name'), 'category_name_display' => Model_Base_Category::get_parent($category_id), 'category_photo_display' => empty($upload['photo_name']) ?: $upload['photo_name'], 'no_image' => _PATH_NO_IMAGE_); $this->data['success'] = true; $this->data['msg'] = Lang::get($this->controller . '.' . $this->action . '.success'); } else { DB::rollback_transaction(); $this->data['msg'] = $upload['error']; } } else { DB::rollback_transaction(); $this->data['msg'] = Lang::get($this->controller . '.' . $this->action . '.error'); } } else { $this->data['errors'] = $val->error_message(); } return $this->response($this->data); }
public function post_update() { $val = Validation::forge(); $val->add_callable('MyRules'); $val->add_field('id', Lang::get('label.product'), 'required|valid_product'); $val->add_field('category_ids', Lang::get('label.category'), 'required'); $val->add_field('product_name', Lang::get('label.product_name'), 'required|max_length[255]'); $val->add_field('product_description', Lang::get('label.description'), 'trim|max_length[1024]'); $val->add_field('product_info', Lang::get('label.information'), 'trim|max_length[10000]'); if ($val->run()) { DB::start_transaction(); $product_id = $val->validated('id'); $category_ids = implode(',', $val->validated('category_ids')); $category_name = Model_Service_Util::mb_trim($val->validated('product_name')); $product_description = Model_Service_Util::mb_trim($val->validated('product_description')); $product_info = $val->validated('product_info'); $product_props = array('product_name' => $category_name, 'product_description' => $product_description, 'product_info' => $product_info); if (Model_Base_Product::update($product_id, $product_props) && Model_Base_ProductCategory::update($product_id, $category_ids)) { DB::commit_transaction(); $this->data['success'] = Lang::get($this->controller . '.' . $this->action . '.success'); } else { DB::rollback_transaction(); $this->data['error'] = Lang::get($this->controller . '.' . $this->action . '.error'); } } else { $this->data['errors'] = $val->error_message(); } return $this->response($this->data); }