Ejemplo n.º 1
0
 /**
  * 提交商品修改
  */
 public function post()
 {
     // 初始化返回结构体
     $return_struct = array('status' => 0, 'code' => 501, 'msg' => 'Not Implemented', 'content' => array());
     try {
         // 初始化返回数据
         $return_data = array();
         // 收集请求数据
         $request_data = $this->input->post();
         $request_data = trims::run($request_data);
         $url_redirect = url::base() . $this->package_name . '/' . $this->class_name;
         //标签过滤 商品描述保留
         tool::filter_strip_tags($request_data, array('desc', 'pdtdes_content'));
         $product = $request_data;
         //收集商品详细描述表单数据
         $product['descsections'] = array();
         if (!empty($request_data['pdtdes_title']) and is_array($request_data['pdtdes_title'])) {
             foreach ($request_data['pdtdes_title'] as $index => $pdtdes_title) {
                 $descsection = array('title' => $pdtdes_title, 'position' => isset($request_data['pdtdes_position'][$index]) ? $request_data['pdtdes_position'][$index] : '', 'content' => isset($request_data['pdtdes_content'][$index]) ? $request_data['pdtdes_content'][$index] : '');
                 if (isset($request_data['pdtdes_id'][$index])) {
                     $descsection['id'] = $request_data['pdtdes_id'][$index];
                 }
                 $product['descsections'][] = $descsection;
             }
         }
         //收集商品批发数据
         $product['wholesales'] = array('type' => 0, 'items' => array());
         isset($request_data['wholesale_type']) and $product['wholesales']['type'] = $request_data['wholesale_type'];
         if (isset($product['is_wholesale']) && $product['is_wholesale'] > 0) {
             if (!empty($request_data['wholesale_indexs']) and is_array($request_data['wholesale_indexs'])) {
                 foreach ($request_data['wholesale_indexs'] as $index) {
                     $wholesale = array();
                     isset($request_data['wholesale_num_begin_' . $index]) and $wholesale['num_begin'] = $request_data['wholesale_num_begin_' . $index];
                     isset($request_data['wholesale_value_' . $index]) and $wholesale['value'] = $request_data['wholesale_value_' . $index];
                     $product['wholesales']['items'][] = $wholesale;
                 }
             }
         }
         BLL_Product::set(&$product);
         if ($product['id'] <= 0) {
             throw new MyRuntimeException(Kohana::lang('o_product.no_save'), 500);
         }
         if ($request_data['save_redirect'] == 1) {
             $url_redirect .= '/edit?id=' . $product['id'];
         } elseif ($request_data['save_redirect'] == 2) {
             $url_redirect .= '/add';
         }
         remind::set(Kohana::lang('o_product.edit_product_success'), $url_redirect, 'success');
     } catch (MyRuntimeException $ex) {
         $this->_ex($ex, $return_struct, $request_data);
     }
 }