Ignore:
Timestamp:
2012/11/02 19:27:41 (11 years ago)
Author:
pineray
Message:

#1958 別お届け先関連の処理をページクラスから分離

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php

    r21951 r22065  
    7373        $objPurchase = new SC_Helper_Purchase_Ex(); 
    7474        $objFormParam = new SC_FormParam_Ex(); 
     75        $objAddress = new SC_Helper_Address_Ex(); 
    7576 
    7677        $this->tpl_uniqid = $objSiteSess->getUniqId(); 
     
    109110            // 削除 
    110111            case 'delete': 
    111                 $this->doDelete($arrForm['other_deliv_id']); 
     112                $objAddress->deleteAddress($objCustomer->getValue('customer_id'), $arrForm['other_deliv_id']); 
    112113                break; 
    113114 
     
    117118 
    118119                $shipping_id = $arrForm['deliv_check'] == -1 ? 0 : $arrForm['deliv_check']; 
    119                 $success = $this->registerDeliv($shipping_id, $this->tpl_uniqid, $objPurchase, $objCustomer); 
     120                $success = $this->registerDeliv($shipping_id, $this->tpl_uniqid, $objPurchase, $objCustomer, $objAddress); 
    120121                if (!$success) { 
    121122                    SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true); 
     
    161162 
    162163        // 登録済み住所を取得 
    163         $this->arrAddr = $objCustomer->getCustomerAddress($objCustomer->getValue('customer_id')); 
     164        $addr = array( 
     165            array( 
     166                'other_deliv_id'    => NULL, 
     167                'customer_id'       => $objCustomer->getValue('customer_id'), 
     168                'name01'            => $objCustomer->getValue('name01'), 
     169                'name02'            => $objCustomer->getValue('name02'), 
     170                'kana01'            => $objCustomer->getValue('kana01'), 
     171                'kana02'            => $objCustomer->getValue('kana02'), 
     172                'zip01'             => $objCustomer->getValue('zip01'), 
     173                'zip02'             => $objCustomer->getValue('zip02'), 
     174                'pref'              => $objCustomer->getValue('pref'), 
     175                'addr01'            => $objCustomer->getValue('addr01'), 
     176                'addr02'            => $objCustomer->getValue('addr02'), 
     177                'tel01'             => $objCustomer->getValue('tel01'), 
     178                'tel02'             => $objCustomer->getValue('tel02'), 
     179                'tel03'             => $objCustomer->getValue('tel03'), 
     180            ) 
     181        ); 
     182        $this->arrAddr = array_merge($addr, $objAddress->getList($objCustomer->getValue('customer_id'))); 
    164183        $this->tpl_addrmax = count($this->arrAddr); 
    165184 
     
    185204        $objFormParam->addParam('その他のお届け先ID', 'other_deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    186205        $objFormParam->addParam('お届け先チェック', 'deliv_check', INT_LEN, 'n', array('MAX_LENGTH_CHECK')); 
    187     } 
    188  
    189     /** 
    190      * その他のお届け先情報を削除する. 
    191      * 
    192      * @param integer $other_deliv_id その他のお届け先ID 
    193      * @return void 
    194      */ 
    195     function doDelete($other_deliv_id) { 
    196         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    197         $where = 'other_deliv_id = ?'; 
    198         $objQuery->delete('dtb_other_deliv', $where, array($other_deliv_id)); 
    199206    } 
    200207 
     
    212219     * @return boolean お届け先チェックの値が妥当な場合 true 
    213220     */ 
    214     function registerDeliv($other_deliv_id, $uniqid, &$objPurchase, &$objCustomer) { 
     221    function registerDeliv($other_deliv_id, $uniqid, &$objPurchase, &$objCustomer, $objAddress) { 
    215222        GC_Utils_Ex::gfDebugLog('register deliv. deliv_check=' . $deliv_check); 
    216223        $arrValues = array(); 
     
    221228        // 別のお届け先がチェックされている場合 
    222229        else { 
    223             $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    224             $arrOtherDeliv = $objQuery->getRow('*', 'dtb_other_deliv', 
    225                                                'customer_id = ? AND other_deliv_id = ?', 
    226                                                array($objCustomer->getValue('customer_id'), $other_deliv_id)); 
    227             if (empty($arrOtherDeliv)) { 
     230            $arrOtherDeliv = $objAddress->getAddress($objCustomer->getValue('customer_id'), $other_deliv_id); 
     231            if (!$arrOtherDeliv) { 
    228232                return false; 
    229233            } 
Note: See TracChangeset for help on using the changeset viewer.