/** * 会員の登録住所を取得する. * * 配列の1番目に会員登録住所, 追加登録住所が存在する場合は2番目以降に * 設定される. * * @param integer $customer_id 会員ID * @return array 会員登録住所, 追加登録住所の配列 */ function getCustomerAddress($customer_id) { if (DB_TYPE != 'sqlsrv') { return parent::getCustomerAddress($customer_id); } else { $objQuery =& SC_Query_Ex::getSingletonInstance(); $from = <<<__EOS__ ( SELECT NULL AS other_deliv_id, customer_id, name01, name02, kana01, kana02, zip01, zip02, pref, addr01, addr02, email, email_mobile, tel01, tel02, tel03, fax01, fax02, fax03 FROM dtb_customer WHERE customer_id = ? UNION ALL SELECT other_deliv_id, customer_id, name01, name02, kana01, kana02, zip01, zip02, pref, addr01, addr02, NULL AS email, NULL AS email_mobile, tel01, tel02, tel03, NULL AS fax01, NULL AS fax02, NULL AS fax03 FROM dtb_other_deliv WHERE customer_id = ? ) AS addrs __EOS__; $objQuery->setOrder("CASE WHEN other_deliv_id is null THEN -1 ELSE 0 END, other_deliv_id DESC"); return $objQuery->select('*', $from, '', array($customer_id, $customer_id)); } }
/** * 配送住所のプルダウン用連想配列を取得する. * * 会員ログイン済みの場合は, 会員登録住所及び追加登録住所を取得する. * 非会員の場合は, 「お届け先の指定」画面で入力した住所を取得する. * * @param SC_Customer $objCustomer SC_Customer インスタンス * @param SC_Helper_Purchase $objPurchase SC_Helper_Purchase インスタンス * @param integer $uniqid 受注一時テーブルのユニークID * @return array 配送住所のプルダウン用連想配列 */ function getDelivAddrs(&$objCustomer, &$objPurchase, $uniqid) { $masterData = new SC_DB_MasterData_Ex(); $arrPref = $masterData->getMasterData('mtb_pref'); $arrResults = array('' => '選択してください'); // 会員ログイン時 if ($objCustomer->isLoginSuccess(true)) { $arrAddrs = $objCustomer->getCustomerAddress($objCustomer->getValue('customer_id')); foreach ($arrAddrs as $val) { $other_deliv_id = SC_Utils_Ex::isBlank($val['other_deliv_id']) ? 0 : $val['other_deliv_id']; $arrResults[$other_deliv_id] = $val['name01'] . $val['name02'] . ' ' . $arrPref[$val['pref']] . $val['addr01'] . $val['addr02']; } } else { $arrShippings = $objPurchase->getShippingTemp(); foreach ($arrShippings as $shipping_id => $val) { $arrResults[$shipping_id] = $val['shipping_name01'] . $val['shipping_name02'] . ' ' . $arrPref[$val['shipping_pref']] . $val['shipping_addr01'] . $val['shipping_addr02']; } } return $arrResults; }