Changeset 22065 for branches/version-2_12-dev/data/class/pages
- Timestamp:
- 2012/11/02 19:27:41 (11 years ago)
- Location:
- branches/version-2_12-dev/data/class/pages
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/pages/mypage/LC_Page_Mypage_Delivery.php
r21867 r22065 69 69 $objCustomer = new SC_Customer_Ex(); 70 70 $customer_id = $objCustomer->getValue('customer_id'); 71 $objAddress = new SC_Helper_Address_Ex(); 71 72 $objFormParam = new SC_FormParam_Ex(); 72 73 … … 84 85 } 85 86 86 $ this->deleteOtherDeliv($customer_id, $objFormParam->getValue('other_deliv_id'));87 $objAddress->deleteAddress($customer_id, $objFormParam->getValue('other_deliv_id')); 87 88 break; 88 89 … … 91 92 $arrData = $objFormParam->getHashArray(); 92 93 //別のお届け先情報 93 $arrOtherDeliv = $ this->getOtherDeliv($customer_id, (($arrData['pageno'] - 1) * SEARCH_PMAX));94 $arrOtherDeliv = $objAddress->getList($customer_id, (($arrData['pageno'] - 1) * SEARCH_PMAX)); 94 95 //県名をセット 95 96 $arrOtherDeliv = $this->setPref($arrOtherDeliv, $this->arrPref); … … 108 109 109 110 //別のお届け先情報 110 $this->arrOtherDeliv = $ this->getOtherDeliv($customer_id);111 $this->arrOtherDeliv = $objAddress->getList($customer_id); 111 112 112 113 //お届け先登録数 … … 139 140 140 141 /** 141 * お届け先の取得142 *143 * @param integer $customerId144 * @param integer $startno145 * @return array146 */147 function getOtherDeliv($customer_id, $startno = '') {148 $objQuery =& SC_Query_Ex::getSingletonInstance();149 $objQuery->setOrder('other_deliv_id DESC');150 //スマートフォン用の処理151 if ($startno != '') {152 $objQuery->setLimitOffset(SEARCH_PMAX, $startno);153 }154 return $objQuery->select('*', 'dtb_other_deliv', 'customer_id = ?', array($customer_id));155 }156 157 /**158 * お届け先の削除159 *160 * @param integer $customerId161 * @param integer $delivId162 */163 function deleteOtherDeliv($customer_id, $deliv_id) {164 $where = 'customer_id = ? AND other_deliv_id = ?';165 $objQuery =& SC_Query_Ex::getSingletonInstance();166 $objQuery->delete('dtb_other_deliv', $where, array($customer_id, $deliv_id));167 }168 169 /**170 142 * 県名をセット 171 143 * -
branches/version-2_12-dev/data/class/pages/mypage/LC_Page_Mypage_DeliveryAddr.php
r21867 r22065 72 72 73 73 $objCustomer = new SC_Customer_Ex(); 74 $objAddress = new SC_Helper_Address_Ex(); 74 75 $ParentPage = MYPAGE_DELIVADDR_URLPATH; 75 76 … … 97 98 // パラメーター管理クラス,パラメーター情報の初期化 98 99 $objFormParam = new SC_FormParam_Ex(); 99 SC_Helper_Customer_Ex::sfCustomerOtherDelivParam($objFormParam);100 $objAddress->setFormParam($objFormParam); 100 101 $objFormParam->setParam($_POST); 101 102 $this->arrForm = $objFormParam->getHashArray(); … … 104 105 // 入力は必ずedit 105 106 case 'edit': 106 $this->arrErr = SC_Helper_Customer_Ex::sfCustomerOtherDelivErrorCheck($objFormParam);107 $this->arrErr = $objAddress->errorCheck($objFormParam); 107 108 // 入力エラーなし 108 109 if (empty($this->arrErr)) { … … 116 117 117 118 if ($objCustomer->isLoginSuccess(true)) { 118 $this->lfRegistData($obj FormParam, $objCustomer->getValue('customer_id'));119 $this->lfRegistData($objAddress, $objFormParam, $objCustomer->getValue('customer_id')); 119 120 } else { 120 121 $this->lfRegistDataNonMember($objFormParam); … … 135 136 136 137 if ($_GET['other_deliv_id'] != '') { 137 $arrOtherDeliv = $ this->lfGetOtherDeliv($objCustomer->getValue('customer_id'), $_SESSION['other_deliv_id']);138 $arrOtherDeliv = $objAddress->getAddress($objCustomer->getValue('customer_id'), $_SESSION['other_deliv_id']); 138 139 139 140 //不正アクセス判定 140 if (!$objCustomer->isLoginSuccess(true) || count($arrOtherDeliv) == 0) {141 if (!$objCustomer->isLoginSuccess(true) || !$arrOtherDeliv) { 141 142 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR); 142 143 } 143 144 144 145 //別のお届け先情報取得 145 $this->arrForm = $arrOtherDeliv [0];146 $this->arrForm = $arrOtherDeliv; 146 147 } 147 148 break; … … 165 166 } 166 167 167 /**168 * ほかのお届け先を取得する169 *170 * @param mixed $customer_id171 * @param mixed $other_deliv_id172 * @access private173 * @return array()174 */175 function lfGetOtherDeliv($customer_id, $other_deliv_id) {176 $objQuery =& SC_Query_Ex::getSingletonInstance();177 return $objQuery->select('*', 'dtb_other_deliv', 'customer_id = ? AND other_deliv_id = ?', array($customer_id, $other_deliv_id));178 }179 180 168 /* 登録実行 */ 181 function lfRegistData($objFormParam, $customer_id) { 182 $objQuery =& SC_Query_Ex::getSingletonInstance(); 183 169 function lfRegistData($objAddress, $objFormParam, $customer_id) { 184 170 $arrRet = $objFormParam->getHashArray(); 185 171 $sqlval = $objFormParam->getDbArray(); … … 187 173 $sqlval['customer_id'] = $customer_id; 188 174 189 // 追加 190 if (strlen($arrRet['other_deliv_id'] == 0)) { 191 // 別のお届け先登録数の取得 192 $deliv_count = $objQuery->count('dtb_other_deliv', 'customer_id = ?', array($customer_id)); 193 // 別のお届け先最大登録数に達している場合、エラー 194 if ($deliv_count >= DELIV_ADDR_MAX) { 195 SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先最大登録数に達しています。'); 196 } 197 198 // 実行 199 $sqlval['other_deliv_id'] = $objQuery->nextVal('dtb_other_deliv_other_deliv_id'); 200 $objQuery->insert('dtb_other_deliv', $sqlval); 201 202 // 変更 203 } else { 204 $deliv_count = $objQuery->count('dtb_other_deliv','customer_id = ? AND other_deliv_id = ?' ,array($customer_id, $arrRet['other_deliv_id'])); 205 if ($deliv_count != 1) { 206 SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '一致する別のお届け先がありません。'); 207 } 208 209 // 実行 210 $objQuery->update('dtb_other_deliv', $sqlval, 'other_deliv_id = ?', array($arrRet['other_deliv_id'])); 211 } 175 $objAddress->registAddress($customer_id, $sqlval, $arrRet['other_deliv_id']); 212 176 } 213 177 -
branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php
r21951 r22065 73 73 $objPurchase = new SC_Helper_Purchase_Ex(); 74 74 $objFormParam = new SC_FormParam_Ex(); 75 $objAddress = new SC_Helper_Address_Ex(); 75 76 76 77 $this->tpl_uniqid = $objSiteSess->getUniqId(); … … 109 110 // 削除 110 111 case 'delete': 111 $ this->doDelete($arrForm['other_deliv_id']);112 $objAddress->deleteAddress($objCustomer->getValue('customer_id'), $arrForm['other_deliv_id']); 112 113 break; 113 114 … … 117 118 118 119 $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); 120 121 if (!$success) { 121 122 SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true); … … 161 162 162 163 // 登録済み住所を取得 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'))); 164 183 $this->tpl_addrmax = count($this->arrAddr); 165 184 … … 185 204 $objFormParam->addParam('その他のお届け先ID', 'other_deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 186 205 $objFormParam->addParam('お届け先チェック', 'deliv_check', INT_LEN, 'n', array('MAX_LENGTH_CHECK')); 187 }188 189 /**190 * その他のお届け先情報を削除する.191 *192 * @param integer $other_deliv_id その他のお届け先ID193 * @return void194 */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));199 206 } 200 207 … … 212 219 * @return boolean お届け先チェックの値が妥当な場合 true 213 220 */ 214 function registerDeliv($other_deliv_id, $uniqid, &$objPurchase, &$objCustomer ) {221 function registerDeliv($other_deliv_id, $uniqid, &$objPurchase, &$objCustomer, $objAddress) { 215 222 GC_Utils_Ex::gfDebugLog('register deliv. deliv_check=' . $deliv_check); 216 223 $arrValues = array(); … … 221 228 // 別のお届け先がチェックされている場合 222 229 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) { 228 232 return false; 229 233 } -
branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php
r21951 r22065 71 71 $objCustomer = new SC_Customer_Ex(); 72 72 $objFormParam = new SC_FormParam_Ex(); 73 $objAddress = new SC_Helper_Address_Ex(); 73 74 74 75 // 複数配送先指定が無効な場合はエラー … … 81 82 82 83 $this->addrs = $this->getDelivAddrs($objCustomer, $objPurchase, 83 $ this->tpl_uniqid);84 $objAddress, $this->tpl_uniqid); 84 85 $this->tpl_addrmax = count($this->addrs); 85 86 $this->lfInitParam($objFormParam); … … 96 97 $this->saveMultipleShippings($this->tpl_uniqid, $objFormParam, 97 98 $objCustomer, $objPurchase, 98 $objCartSess );99 $objCartSess, $objAddress); 99 100 $objSiteSess->setRegistFlag(); 100 101 … … 187 188 * @return array 配送住所のプルダウン用連想配列 188 189 */ 189 function getDelivAddrs(&$objCustomer, &$objPurchase, $uniqid) {190 function getDelivAddrs(&$objCustomer, &$objPurchase, &$objAddress, $uniqid) { 190 191 $masterData = new SC_DB_MasterData_Ex(); 191 192 $arrPref = $masterData->getMasterData('mtb_pref'); … … 194 195 // 会員ログイン時 195 196 if ($objCustomer->isLoginSuccess(true)) { 196 $arrAddrs = $objCustomer->getCustomerAddress($objCustomer->getValue('customer_id')); 197 $addr = array( 198 array( 199 'other_deliv_id' => NULL, 200 'customer_id' => $objCustomer->getValue('customer_id'), 201 'name01' => $objCustomer->getValue('name01'), 202 'name02' => $objCustomer->getValue('name02'), 203 'kana01' => $objCustomer->getValue('kana01'), 204 'kana02' => $objCustomer->getValue('kana02'), 205 'zip01' => $objCustomer->getValue('zip01'), 206 'zip02' => $objCustomer->getValue('zip02'), 207 'pref' => $objCustomer->getValue('pref'), 208 'addr01' => $objCustomer->getValue('addr01'), 209 'addr02' => $objCustomer->getValue('addr02'), 210 'tel01' => $objCustomer->getValue('tel01'), 211 'tel02' => $objCustomer->getValue('tel02'), 212 'tel03' => $objCustomer->getValue('tel03'), 213 ) 214 ); 215 $arrAddrs = array_merge($addr, $objAddress->getList($objCustomer->getValue('customer_id'))); 197 216 foreach ($arrAddrs as $val) { 198 217 $other_deliv_id = SC_Utils_Ex::isBlank($val['other_deliv_id']) ? 0 : $val['other_deliv_id']; … … 280 299 * @return void 281 300 */ 282 function saveMultipleShippings($uniqid, &$objFormParam, &$objCustomer, &$objPurchase, &$objCartSess ) {301 function saveMultipleShippings($uniqid, &$objFormParam, &$objCustomer, &$objPurchase, &$objCartSess, &$objAddress) { 283 302 $objQuery =& SC_Query_Ex::getSingletonInstance(); 284 303 … … 290 309 if ($objCustomer->isLoginSuccess(true)) { 291 310 if ($other_deliv_id != 0) { 292 $otherDeliv = $objQuery->select('*', 'dtb_other_deliv', 293 'other_deliv_id = ?', 294 array($other_deliv_id)); 295 foreach ($otherDeliv[0] as $key => $val) { 311 $otherDeliv = $objAddress->getAddress($objCustomer->getValue('customer_id'), $other_deliv_id); 312 foreach ($otherDeliv as $key => $val) { 296 313 $arrValues[$other_deliv_id]['shipping_' . $key] = $val; 297 314 }
Note: See TracChangeset
for help on using the changeset viewer.