Ignore:
Timestamp:
2013/08/26 15:52:37 (11 years ago)
Author:
m_uehara
Message:

#2348 r23116 - r23125 をマージ

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13_0/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

    r23053 r23126  
    3333class LC_Page_Admin_Order_Edit extends LC_Page_Admin_Order_Ex 
    3434{ 
    35     var $arrShippingKeys = array( 
     35    public $arrShippingKeys = array( 
    3636        'shipping_id', 
    3737        'shipping_name01', 
     
    5959    ); 
    6060 
    61     var $arrShipmentItemKeys = array( 
     61    public $arrShipmentItemKeys = array( 
    6262        'shipment_product_class_id', 
    6363        'shipment_product_code', 
     
    6969    ); 
    7070 
    71     var $arrProductKeys = array( 
     71    public $arrProductKeys = array( 
    7272        'product_id', 
    7373        'product_class_id', 
     
    8989     * @return void 
    9090     */ 
    91     function init() 
     91    public function init() 
    9292    { 
    9393        parent::init(); 
     
    124124     * @return void 
    125125     */ 
    126     function process() 
     126    public function process() 
    127127    { 
    128128        $this->action(); 
     
    135135     * @return void 
    136136     */ 
    137     function action() 
     137    public function action() 
    138138    { 
    139139        $objPurchase = new SC_Helper_Purchase_Ex(); 
     
    258258                                     $objFormParam); 
    259259                // 加算ポイントの計算 
    260                 if (USE_POINT === true && $this->tpl_mode == 'add'){ 
     260                if (USE_POINT === true && $this->tpl_mode == 'add') { 
    261261                    $birth_point = 0; 
    262                     if ($customer_birth){ 
     262                    if ($customer_birth) { 
    263263                        $arrRet = preg_split('|[- :/]|', $customer_birth); 
    264264                        $birth_date = intval($arrRet[1]); 
     
    312312     * パラメーター情報の初期化を行う. 
    313313     * 
    314      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    315      * @return void 
    316      */ 
    317     function lfInitParam(&$objFormParam) 
     314     * @param  SC_FormParam $objFormParam SC_FormParam インスタンス 
     315     * @return void 
     316     */ 
     317    public function lfInitParam(&$objFormParam) 
    318318    { 
    319319        // 検索条件のパラメーターを初期化 
     
    439439     * 複数配送用フォームの初期化を行う. 
    440440     * 
    441      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    442      * @return void 
    443      */ 
    444     function lfInitMultipleParam(&$objFormParam) 
     441     * @param  SC_FormParam $objFormParam SC_FormParam インスタンス 
     442     * @return void 
     443     */ 
     444    public function lfInitMultipleParam(&$objFormParam) 
    445445    { 
    446446        $objFormParam->addParam('商品規格ID', 'multiple_product_class_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     
    457457     * 複数配送入力フォームで入力された値を SC_FormParam へ設定する. 
    458458     * 
    459      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    460      * @return void 
    461      */ 
    462     function setMultipleItemTo(&$objFormParam) 
     459     * @param  SC_FormParam $objFormParam SC_FormParam インスタンス 
     460     * @return void 
     461     */ 
     462    public function setMultipleItemTo(&$objFormParam) 
    463463    { 
    464464        $arrMultipleKey = array('multiple_shipping_id', 
     
    534534     * 受注データを取得して, SC_FormParam へ設定する. 
    535535     * 
    536      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    537      * @param integer $order_id 取得元の受注ID 
    538      * @return void 
    539      */ 
    540     function setOrderToFormParam(&$objFormParam, $order_id) 
     536     * @param  SC_FormParam $objFormParam SC_FormParam インスタンス 
     537     * @param  integer      $order_id    取得元の受注ID 
     538     * @return void 
     539     */ 
     540    public function setOrderToFormParam(&$objFormParam, $order_id) 
    541541    { 
    542542        $objPurchase = new SC_Helper_Purchase_Ex(); 
     
    604604     * 入力内容のチェックを行う. 
    605605     * 
    606      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    607      * @return array エラーメッセージの配列 
    608      */ 
    609     function lfCheckError(&$objFormParam) 
     606     * @param  SC_FormParam $objFormParam SC_FormParam インスタンス 
     607     * @return array        エラーメッセージの配列 
     608     */ 
     609    public function lfCheckError(&$objFormParam) 
    610610    { 
    611611        $objProduct = new SC_Product_Ex(); 
     
    625625        } 
    626626        $arrErrTemp = array_merge($arrErrTemp, $arrErrDate); 
    627  
    628627 
    629628        // 商品の種類数 
     
    695694     * DB更新処理 
    696695     * 
    697      * @param integer $order_id 受注ID 
    698      * @param SC_Helper_Purchase $objPurchase SC_Helper_Purchase インスタンス 
    699      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    700      * @param string $message 通知メッセージ 
    701      * @param array $arrValuesBefore 更新前の受注情報 
    702      * @return integer $order_id 受注ID 
     696     * @param  integer            $order_id        受注ID 
     697     * @param  SC_Helper_Purchase $objPurchase    SC_Helper_Purchase インスタンス 
     698     * @param  SC_FormParam       $objFormParam    SC_FormParam インスタンス 
     699     * @param  string             $message        通知メッセージ 
     700     * @param  array              $arrValuesBefore 更新前の受注情報 
     701     * @return integer            $order_id 受注ID 
    703702     * 
    704703     * エラー発生時は負数を返す。 
    705704     */ 
    706     function doRegister($order_id, &$objPurchase, &$objFormParam, &$message, &$arrValuesBefore) 
     705    public function doRegister($order_id, &$objPurchase, &$objFormParam, &$message, &$arrValuesBefore) 
    707706    { 
    708707        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     
    799798            foreach ($arrDetail as $product_detail) { 
    800799                foreach ($arrAllShipmentItem[$shipping_index]['shipment_product_class_id'] as $relation_index => $shipment_product_class_id) { 
    801                     if($product_detail['product_class_id'] == $shipment_product_class_id){ 
     800                    if ($product_detail['product_class_id'] == $shipment_product_class_id) { 
    802801                        $arrAllShipmentItem[$shipping_index]['shipment_price'][$relation_index] = $product_detail['price']; 
    803802                    } 
     
    837836     * 小画面で選択した受注商品をフォームに反映させる. 
    838837     * 
    839      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    840      * @return void 
    841      */ 
    842     function doRegisterProduct(&$objFormParam) 
     838     * @param  SC_FormParam $objFormParam SC_FormParam インスタンス 
     839     * @return void 
     840     */ 
     841    public function doRegisterProduct(&$objFormParam) 
    843842    { 
    844843        $product_class_id = $objFormParam->getValue('add_product_class_id'); 
     
    847846            $changed_no = $objFormParam->getValue('no'); 
    848847            $this->shipmentEditProduct($objFormParam, $product_class_id, $changed_no); 
    849         }else{ 
     848        } else { 
    850849            $this->shipmentAddProduct($objFormParam, $product_class_id); 
    851850        } 
     
    855854     * 受注商品を削除する. 
    856855     * 
    857      * @param integer $delete_no 削除する受注商品の項番 
    858      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    859      * @return void 
    860      */ 
    861     function doDeleteProduct($delete_no, &$objFormParam) 
     856     * @param  integer      $delete_no    削除する受注商品の項番 
     857     * @param  SC_FormParam $objFormParam SC_FormParam インスタンス 
     858     * @return void 
     859     */ 
     860    public function doDeleteProduct($delete_no, &$objFormParam) 
    862861    { 
    863862        $select_shipping_id    = $objFormParam->getValue('select_shipping_id'); 
     
    875874        foreach ($arrNewShipments['shipment_product_class_id'] as $shipping_id => $arrShipmentProductClassIds) { 
    876875            foreach ($arrShipmentProductClassIds as $relation_index => $shipment_product_class_id) { 
    877                 if(in_array($delete_product_class_id, $arrShipmentProductClassIds)){ 
     876                if (in_array($delete_product_class_id, $arrShipmentProductClassIds)) { 
    878877                    $is_product_delete = false; 
    879878                    break; 
     
    883882 
    884883        //商品情報から削除 
    885         if($is_product_delete){ 
     884        if ($is_product_delete) { 
    886885            $this->checkDeleteProducts($objFormParam, $arrPreProductClassIds, $delete_product_class_id, $this->arrProductKeys); 
    887886        } 
     
    891890     * お届け先を追加する. 
    892891     * 
    893      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    894      * @return void 
    895      */ 
    896     function addShipping(&$objFormParam) 
     892     * @param  SC_FormParam $objFormParam SC_FormParam インスタンス 
     893     * @return void 
     894     */ 
     895    public function addShipping(&$objFormParam) 
    897896    { 
    898897        $objFormParam->setValue('shipping_quantity', 
     
    906905     * 会員情報をフォームに設定する. 
    907906     * 
    908      * @param integer $customer_id 会員ID 
    909      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    910      * @return void 
    911      */ 
    912     function setCustomerTo($customer_id, &$objFormParam) 
     907     * @param  integer      $customer_id 会員ID 
     908     * @param  SC_FormParam $objFormParam SC_FormParam インスタンス 
     909     * @return void 
     910     */ 
     911    public function setCustomerTo($customer_id, &$objFormParam) 
    913912    { 
    914913        $arrCustomer = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($customer_id); 
     
    925924     * アンカーキーを取得する. 
    926925     * 
    927      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
     926     * @param  SC_FormParam                  $objFormParam SC_FormParam インスタンス 
    928927     * @return アンカーキーの文字列 
    929928     */ 
    930     function getAnchorKey(&$objFormParam) 
     929    public function getAnchorKey(&$objFormParam) 
    931930    { 
    932931        $ancor_key = $objFormParam->getValue('anchor_key'); 
     
    941940     * 商品を追加 
    942941     * 
    943      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    944      * @param integer $add_product_class_id 追加商品規格ID 
    945      * @return void 
    946      */ 
    947     function shipmentAddProduct(&$objFormParam, $add_product_class_id) 
     942     * @param  SC_FormParam $objFormParam        SC_FormParam インスタンス 
     943     * @param  integer      $add_product_class_id 追加商品規格ID 
     944     * @return void 
     945     */ 
     946    public function shipmentAddProduct(&$objFormParam, $add_product_class_id) 
    948947    { 
    949948        //複数配送に商品情報追加 
     
    953952        $arrShipmentProducts = $this->getShipmentProducts($objFormParam); 
    954953 
    955         if(in_array($add_product_class_id, $arrShipmentProducts['shipment_product_class_id'][$select_shipping_id])){ 
     954        if($arrShipmentProducts['shipment_product_class_id'] && in_array($add_product_class_id, $arrShipmentProducts['shipment_product_class_id'][$select_shipping_id])){ 
    956955            foreach ($arrShipmentProducts['shipment_product_class_id'][$select_shipping_id] as $relation_index => $shipment_product_class_id) { 
    957                 if($shipment_product_class_id == $add_product_class_id){ 
     956                if ($shipment_product_class_id == $add_product_class_id) { 
    958957                    $arrShipmentProducts['shipment_quantity'][$select_shipping_id][$relation_index]++; 
    959958                    break; 
    960959                } 
    961960            } 
    962         }else{ 
     961        } else { 
    963962            //届け先に選択商品がない場合 
    964963            $objProduct = new SC_Product_Ex(); 
     
    982981     * 商品を変更 
    983982     * 
    984      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    985      * @param integer $add_product_class_id 変更商品規格ID 
    986      * @param integer $change_no 変更対象 
    987      * @return void 
    988      */ 
    989     function shipmentEditProduct(&$objFormParam, $edit_product_class_id, $change_no) 
     983     * @param  SC_FormParam $objFormParam        SC_FormParam インスタンス 
     984     * @param  integer      $add_product_class_id 変更商品規格ID 
     985     * @param  integer      $change_no            変更対象 
     986     * @return void 
     987     */ 
     988    public function shipmentEditProduct(&$objFormParam, $edit_product_class_id, $change_no) 
    990989    { 
    991990        $arrPreProductClassIds = $objFormParam->getValue('product_class_id'); 
     
    996995        //既にあるデータは1つだけ数量を1増やす 
    997996        $pre_shipment_product_class_id = $arrShipmentProducts['shipment_product_class_id'][$select_shipping_id][$change_no]; 
    998         if($pre_shipment_product_class_id == $edit_product_class_id) { 
     997        if ($pre_shipment_product_class_id == $edit_product_class_id) { 
    999998            $arrShipmentProducts['shipment_quantity'][$select_shipping_id][$change_no] ++; 
    1000         }elseif(in_array($edit_product_class_id, $arrShipmentProducts['shipment_product_class_id'][$select_shipping_id])){ 
     999        } elseif (in_array($edit_product_class_id, $arrShipmentProducts['shipment_product_class_id'][$select_shipping_id])) { 
    10011000            //配送先データ削除 
    10021001            $arrShipmentProducts = $this->deleteShipment($objFormParam, $this->arrShipmentItemKeys , $select_shipping_id, $change_no); 
    10031002            foreach ($arrShipmentProducts['shipment_product_class_id'][$select_shipping_id] as $relation_index => $shipment_product_class_id) { 
    1004                 if($shipment_product_class_id == $edit_product_class_id){ 
     1003                if ($shipment_product_class_id == $edit_product_class_id) { 
    10051004                    $arrShipmentProducts['shipment_quantity'][$select_shipping_id][$relation_index] ++; 
    10061005                    break; 
    10071006                } 
    10081007            } 
    1009         }else{ 
     1008        } else { 
    10101009            $objProduct = new SC_Product_Ex(); 
    10111010            $arrAddProductInfo = $objProduct->getDetailAndProductsClass($edit_product_class_id); 
     
    10241023        //変更前のproduct_class_idが他の届け先にも存在するか 
    10251024        foreach ($arrNewShipmentProducts['shipment_product_class_id'] as $shipping_id => $arrShipmentProductClassIds) { 
    1026             if(in_array($pre_shipment_product_class_id, $arrShipmentProductClassIds)){ 
     1025            if (in_array($pre_shipment_product_class_id, $arrShipmentProductClassIds)) { 
    10271026                $is_product_delete = false; 
    10281027                break; 
     
    10311030 
    10321031        //商品情報から削除 
    1033         if($is_product_delete){ 
     1032        if ($is_product_delete) { 
    10341033            $this->checkDeleteProducts($objFormParam, $arrPreProductClassIds, $pre_shipment_product_class_id, $this->arrProductKeys); 
    10351034        } 
     
    10391038     * 複数配送のパラメータを取り出す 
    10401039     * 
    1041      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    1042      * @return array 配送データ 
    1043      */ 
    1044     function getShipmentProducts(&$objFormParam) 
     1040     * @param  SC_FormParam $objFormParam SC_FormParam インスタンス 
     1041     * @return array        配送データ 
     1042     */ 
     1043    public function getShipmentProducts(&$objFormParam) 
    10451044    { 
    10461045        $arrShipmentProducts['shipment_product_class_id']    = $objFormParam->getValue('shipment_product_class_id'); 
     
    10531052 
    10541053        foreach ($arrShipmentProducts as $key => $value) { 
    1055             if(!is_array($value)){ 
     1054            if (!is_array($value)) { 
    10561055                $arrShipmentProducts[$key] = array(); 
    10571056            } 
     
    10641063     * 変更対象のデータを上書きする 
    10651064     * 
    1066      * @param array   $arrShipmentProducts 変更対象配列 
    1067      * @param array   $arrProductInfo       上書きデータ 
    1068      * @param integer $shipping_id          配送先ID 
    1069      * @param array   $no                   変更対象 
    1070      * @return void 
    1071      */ 
    1072     function changeShipmentProducts(&$arrShipmentProducts, $arrProductInfo, $shipping_id, $no) 
     1065     * @param  array   $arrShipmentProducts 変更対象配列 
     1066     * @param  array   $arrProductInfo      上書きデータ 
     1067     * @param  integer $shipping_id         配送先ID 
     1068     * @param  array   $no                  変更対象 
     1069     * @return void 
     1070     */ 
     1071    public function changeShipmentProducts(&$arrShipmentProducts, $arrProductInfo, $shipping_id, $no) 
    10731072    { 
    10741073        $arrShipmentProducts['shipment_product_class_id'][$shipping_id][$no]    = $arrProductInfo['product_class_id']; 
     
    10841083     * 商品側の総量計算&セット 
    10851084     * 
    1086      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    1087      * @return void 
    1088      */ 
    1089     function setProductsQuantity(&$objFormParam) 
     1085     * @param  SC_FormParam $objFormParam SC_FormParam インスタンス 
     1086     * @return void 
     1087     */ 
     1088    public function setProductsQuantity(&$objFormParam) 
    10901089    { 
    10911090        $arrShipmentsItems = $objFormParam->getSwapArray(array('shipment_product_class_id','shipment_quantity')); 
     
    11071106     * 削除対象の確認、削除をする 
    11081107     * 
    1109      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    1110      * @param array   $arrProductClassIds      削除対象配列の商品規格ID 
    1111      * @param integer $delete_product_class_id 削除商品規格ID 
    1112      * @param array   $arrDeleteKeys            削除項目 
    1113      * @return void 
    1114      */ 
    1115     function checkDeleteProducts(&$objFormParam, $arrProductClassIds, $delete_product_class_id, $arrDeleteKeys) 
     1108     * @param  SC_FormParam $objFormParam                              SC_FormParam インスタンス 
     1109     * @param  array        $arrProductClassIds                       削除対象配列の商品規格ID 
     1110     * @param  integer      $delete_product_class_id 削除商品規? ?ID 
     1111     * @param  array        $arrDeleteKeys                              削除項目 
     1112     * @return void 
     1113     */ 
     1114    public function checkDeleteProducts(&$objFormParam, $arrProductClassIds, $delete_product_class_id, $arrDeleteKeys) 
    11161115    { 
    11171116        foreach ($arrProductClassIds as $relation_index => $product_class_id) { 
    11181117            //product_class_idの重複はないので、1つ削除したら完了 
    1119             if($product_class_id == $delete_product_class_id){ 
     1118            if ($product_class_id == $delete_product_class_id) { 
    11201119                foreach ($arrDeleteKeys as $delete_key) { 
    11211120                    $arrProducts = $objFormParam->getValue($delete_key); 
    11221121                    foreach ($arrProducts as $index => $product_info) { 
    1123                         if($index != $relation_index){ 
     1122                        if ($index != $relation_index) { 
    11241123                            $arrUpdateParams[$delete_key][] = $product_info; 
    11251124                        } 
     
    11351134     * 配送先商品の削除の削除 
    11361135     * 
    1137      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    1138      * @param array   $arrShipmentDeleteKeys  削除項目 
    1139      * @param integer $delete_shipping_id     削除配送ID 
    1140      * @param array   $delete_no               削除対象 
    1141      * @return void 
    1142      */ 
    1143     function deleteShipment(&$objFormParam, $arrShipmentDeletKeys, $delete_shipping_id, $delete_no) 
     1136     * @param  SC_FormParam $objFormParam          SC_FormParam インスタンス 
     1137     * @param  array        $arrShipmentDeleteKeys 削除項目 
     1138     * @param  integer      $delete_shipping_id  削除配送ID 
     1139     * @param  array        $delete_no             削除対象 
     1140     * @return void 
     1141     */ 
     1142    public function deleteShipment(&$objFormParam, $arrShipmentDeletKeys, $delete_shipping_id, $delete_no) 
    11441143    { 
    11451144            foreach ($arrShipmentDeletKeys as $delete_key) { 
    11461145                $arrShipments = $objFormParam->getValue($delete_key); 
    1147                 foreach ($arrShipments as $shipp_id => $arrKeyData){ 
     1146                foreach ($arrShipments as $shipp_id => $arrKeyData) { 
    11481147                    foreach ($arrKeyData as $relation_index => $shipment_info) { 
    1149                         if($relation_index != $delete_no || $shipp_id != $delete_shipping_id){ 
     1148                        if ($relation_index != $delete_no || $shipp_id != $delete_shipping_id) { 
    11501149                            $arrUpdateParams[$delete_key][$shipp_id][] = $shipment_info; 
    11511150                        } 
     
    11601159     * 受注商品一覧側に商品を追加 
    11611160     * 
    1162      * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    1163      * @param array   $arrProductClassIds      対象配列の商品規格ID 
    1164      * @param integer $indert_product_class_id 追加商品規格ID 
    1165      * @param array   $arrAddProductInfo        追加データ 
    1166      * @return array  $arrAddProducts           更新データ 
    1167      */ 
    1168     function checkInsertOrderProducts(&$objFormParam, $arrProductClassIds, $insert_product_class_id, $arrAddProductInfo) 
    1169     { 
    1170         if(is_array($arrProductClassIds) && !in_array($insert_product_class_id, $arrProductClassIds)){ 
     1161     * @param  SC_FormParam $objFormParam                    SC_FormParam インスタンス 
     1162     * @param  array        $arrProductClassIds            対象配列の商品規格ID 
     1163     * @param  integer      $indert_product_class_id 追?? 商品規格ID 
     1164     * @param  array        $arrAddProductInfo               追加データ 
     1165     * @return array        $arrAddProducts           更新データ 
     1166     */ 
     1167    public function checkInsertOrderProducts(&$objFormParam, $arrProductClassIds, $insert_product_class_id, $arrAddProductInfo) 
     1168    { 
     1169        if(!$arrProductClassIds || !in_array($insert_product_class_id, $arrProductClassIds)){ 
    11711170            $arrAddProducts = array(); 
    11721171 
     
    11851184                $arrAddProducts[$insert_key][] = $arrAddProductInfo[$insert_key]; 
    11861185            } 
     1186 
    11871187            return $arrAddProducts; 
    1188         }else{ 
     1188        } else { 
    11891189            //受注商品の数量は、複数配送側の集計で出しているので、重複しても数量を増やさない。 
    11901190            return null; 
Note: See TracChangeset for help on using the changeset viewer.