Changeset 11730 for branches/comu/html/shopping/complete.php
- Timestamp:
- 2007/03/11 06:27:25 (19 years ago)
- File:
-
- 1 edited
-
branches/comu/html/shopping/complete.php (modified) (34 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/comu/html/shopping/complete.php
r11729 r11730 12 12 $this->tpl_mainpage = 'shopping/complete.tpl'; 13 13 $this->tpl_css = URL_DIR.'css/layout/shopping/complete.css'; 14 $this->tpl_title = " ご注文完了";14 $this->tpl_title = "¤´Ãíʸ´°Î»"; 15 15 global $arrCONVENIENCE; 16 16 $this->arrCONVENIENCE = $arrCONVENIENCE; … … 22 22 $objPage->arrCONVENIMESSAGE = $arrCONVENIMESSAGE; 23 23 /* 24 session_start 時のno-cacheヘッダーを抑制することで25 「戻る」ボタン使用時の有効期限切れ表示を抑制する。26 private-no-expire: クライアントのキャッシュを許可する。24 session_start»þ¤Îno-cache¥Ø¥Ã¥À¡¼¤òÍÞÀ©¤¹¤ë¤³¤È¤Ç 25 ¡ÖÌá¤ë¡×¥Ü¥¿¥ó»ÈÍÑ»þ¤Î͸ú´ü¸ÂÀÚ¤ìɽ¼¨¤òÍÞÀ©¤¹¤ë¡£ 26 private-no-expire:¥¯¥é¥¤¥¢¥ó¥È¤Î¥¥ã¥Ã¥·¥å¤òµö²Ä¤¹¤ë¡£ 27 27 */ 28 28 session_cache_limiter('private-no-expire'); … … 41 41 $objCustomer = new SC_Customer(); 42 42 43 // 前のページで正しく登録手続きが行われたか判定43 // Á°¤Î¥Ú¡¼¥¸¤ÇÀµ¤·¤¯ÅÐÏ¿¼ê³¤¤¬¹Ô¤ï¤ì¤¿¤«È½Äê 44 44 sfIsPrePage($objSiteSess); 45 // ユーザユニークIDの取得と購入状態の正当性をチェック45 // ¥æ¡¼¥¶¥æ¥Ë¡¼¥¯ID¤Î¼èÆÀ¤È¹ØÆþ¾õÂÖ¤ÎÀµÅöÀ¤ò¥Á¥§¥Ã¥¯ 46 46 $uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess); 47 47 if ($uniqid != "") { 48 48 49 // 完了処理49 // ´°Î»½èÍý 50 50 $objQuery = new SC_Query(); 51 51 $objQuery->begin(); … … 53 53 $objQuery->commit(); 54 54 55 // セッションに保管されている情報を更新する55 // ¥»¥Ã¥·¥ç¥ó¤ËÊݴɤµ¤ì¤Æ¤¤¤ë¾ðÊó¤ò¹¹¿·¤¹¤ë 56 56 $objCustomer->updateSession(); 57 57 58 // 完了メール送信58 // ´°Î»¥á¡¼¥ëÁ÷¿® 59 59 if($order_id != "") { 60 60 sfSendOrderMail($order_id, '1'); 61 61 } 62 62 63 // その他情報の取得63 //¤½¤Î¾¾ðÊó¤Î¼èÆÀ 64 64 $other_data = $objQuery->get("dtb_order", "memo02", "order_id = ? ", array($order_id)); 65 65 if($other_data != "") { 66 66 $arrOther = unserialize($other_data); 67 67 68 // データを編集68 // ¥Ç¡¼¥¿¤òÊÔ½¸ 69 69 foreach($arrOther as $key => $val){ 70 // URL の場合にはリンクつきで表示させる70 // URL¤Î¾ì¹ç¤Ë¤Ï¥ê¥ó¥¯¤Ä¤¤Çɽ¼¨¤µ¤»¤ë 71 71 if (preg_match('/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $val["value"])) { 72 72 $arrOther[$key]["value"] = "<a href='#' onClick=\"window.open('". $val["value"] . "'); \" >" . $val["value"] ."</a>"; … … 78 78 } 79 79 80 // アフィリエイト用コンバージョンタグの設定80 // ¥¢¥Õ¥£¥ê¥¨¥¤¥ÈÍÑ¥³¥ó¥Ð¡¼¥¸¥ç¥ó¥¿¥°¤ÎÀßÄê 81 81 $objPage->tpl_conv_page = AFF_SHOPPING_COMPLETE; 82 82 $objPage->tpl_aff_option = "order_id=$order_id"; 83 // 合計価格の取得83 //¹ç·×²Á³Ê¤Î¼èÆÀ 84 84 $total = $objQuery->get("dtb_order", "total", "order_id = ? ", array($order_id)); 85 85 if($total != "") { … … 89 89 90 90 $objPage->arrInfo = $arrInfo; 91 // キャンペーンからの遷移かチェック91 // ¥¥ã¥ó¥Ú¡¼¥ó¤«¤é¤ÎÁ«°Ü¤«¥Á¥§¥Ã¥¯ 92 92 $objPage->is_campaign = $objCampaignSess->getIsCampaign(); 93 93 $objPage->campaign_dir = $objCampaignSess->getCampaignDir(); 94 94 95 95 $objView->assignobj($objPage); 96 // フレームを選択(キャンペーンページから遷移なら変更)96 // ¥Õ¥ì¡¼¥à¤òÁªÂò(¥¥ã¥ó¥Ú¡¼¥ó¥Ú¡¼¥¸¤«¤éÁ«°Ü¤Ê¤éÊѹ¹) 97 97 $objCampaignSess->pageView($objView); 98 98 99 // セッション開放99 // ¥»¥Ã¥·¥ç¥ó³«Êü 100 100 $objCampaignSess->delCampaign(); 101 101 //-------------------------------------------------------------------------------------------------------------------------- 102 // エビスタグ引渡し用データを生成する102 // ¥¨¥Ó¥¹¥¿¥°°úÅϤ·Íѥǡ¼¥¿¤òÀ¸À®¤¹¤ë 103 103 function lfGetEbisData($order_id) { 104 104 $objQuery = new SC_Query(); … … 107 107 108 108 if($arrRet[0]['customer_id'] > 0) { 109 // 会員番号109 // ²ñ°÷ÈÖ¹æ 110 110 $arrEbis['m1id'] = $arrRet[0]['customer_id']; 111 // 非会員or会員111 // Èó²ñ°÷or²ñ°÷ 112 112 $arrEbis['o5id'] = '1'; 113 113 } else { 114 // 会員番号114 // ²ñ°÷ÈÖ¹æ 115 115 $arrEbis['m1id'] = ''; 116 // 非会員or会員116 // Èó²ñ°÷or²ñ°÷ 117 117 $arrEbis['o5id'] = '2'; 118 118 } 119 119 120 // 購入金額120 // ¹ØÆþ¶â³Û 121 121 $arrEbis['a1id'] = $arrRet[0]['total']; 122 // 性別122 // ÀÊÌ 123 123 $arrEbis['o2id'] = $arrRet[0]['order_sex']; 124 // 年齢124 // ǯÎð 125 125 $arrEbis['o3id'] = $arrRet[0]['order_age']; 126 // 職業126 // ¿¦¶È 127 127 $arrEbis['o4id'] = $arrRet[0]['order_job']; 128 128 … … 132 132 133 133 $line = ""; 134 // 商品IDをアンダーバーで接続する。134 // ¾¦ÉÊID¤ò¥¢¥ó¥À¡¼¥Ð¡¼¤ÇÀܳ¤¹¤ë¡£ 135 135 foreach($arrProducts['product_id'] as $val) { 136 136 if($line != "") { … … 141 141 } 142 142 143 // 商品ID143 // ¾¦ÉÊID 144 144 $arrEbis['o1id'] = $line; 145 145 … … 147 147 } 148 148 149 // 完了処理149 // ´°Î»½èÍý 150 150 function lfDoComplete($objQuery, $uniqid) { 151 151 global $objCartSess; … … 155 155 global $arrInfo; 156 156 157 // 一時受注テーブルの読込157 // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆÉ¹þ 158 158 $arrData = sfGetOrderTemp($uniqid); 159 159 160 // 会員情報登録処理160 // ²ñ°÷¾ðÊóÅÐÏ¿½èÍý 161 161 if ($objCustomer->isLoginSuccess()) { 162 // 新お届け先の登録162 // ¿·¤ªÆÏ¤±Àè¤ÎÅÐÏ¿ 163 163 lfSetNewAddr($uniqid, $objCustomer->getValue('customer_id')); 164 // 購入集計を顧客テーブルに反映164 // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç 165 165 lfSetCustomerPurchase($objCustomer->getValue('customer_id'), $arrData, $objQuery); 166 166 } else { 167 // 購入時強制会員登録167 //¹ØÆþ»þ¶¯À©²ñ°÷ÅÐÏ¿ 168 168 switch(PURCHASE_CUSTOMER_REGIST) { 169 // 無効169 //̵¸ú 170 170 case '0': 171 // 購入時会員登録171 // ¹ØÆþ»þ²ñ°÷ÅÐÏ¿ 172 172 if($arrData['member_check'] == '1') { 173 // 仮会員登録173 // ²¾²ñ°÷ÅÐÏ¿ 174 174 $customer_id = lfRegistPreCustomer($arrData, $arrInfo); 175 // 購入集計を顧客テーブルに反映175 // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç 176 176 lfSetCustomerPurchase($customer_id, $arrData, $objQuery); 177 177 } 178 178 break; 179 // 有効179 //͸ú 180 180 case '1': 181 // 仮会員登録181 // ²¾²ñ°÷ÅÐÏ¿ 182 182 $customer_id = lfRegistPreCustomer($arrData, $arrInfo); 183 // 購入集計を顧客テーブルに反映183 // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç 184 184 lfSetCustomerPurchase($customer_id, $arrData, $objQuery); 185 185 break; … … 187 187 188 188 } 189 // 一時テーブルを受注テーブルに格納する189 // °ì»þ¥Æ¡¼¥Ö¥ë¤ò¼õÃí¥Æ¡¼¥Ö¥ë¤Ë³ÊǼ¤¹¤ë 190 190 $order_id = lfRegistOrder($objQuery, $arrData, $objCampaignSess); 191 // カート商品を受注詳細テーブルに格納する191 // ¥«¡¼¥È¾¦Éʤò¼õÃí¾ÜºÙ¥Æ¡¼¥Ö¥ë¤Ë³ÊǼ¤¹¤ë 192 192 lfRegistOrderDetail($objQuery, $order_id, $objCartSess); 193 // 受注一時テーブルの情報を削除する。193 // ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤òºï½ü¤¹¤ë¡£ 194 194 lfDeleteTempOrder($objQuery, $uniqid); 195 // キャンペーンからの遷移の場合登録する。195 // ¥¥ã¥ó¥Ú¡¼¥ó¤«¤é¤ÎÁ«°Ü¤Î¾ì¹çÅÐÏ¿¤¹¤ë¡£ 196 196 if($objCampaignSess->getIsCampaign()) { 197 197 lfRegistCampaignOrder($objQuery, $objCampaignSess, $order_id); 198 198 } 199 199 200 // セッションカート内の商品を削除する。200 // ¥»¥Ã¥·¥ç¥ó¥«¡¼¥ÈÆâ¤Î¾¦Éʤòºï½ü¤¹¤ë¡£ 201 201 $objCartSess->delAllProducts(); 202 // 注文一時IDを解除する。202 // Ãíʸ°ì»þID¤ò²ò½ü¤¹¤ë¡£ 203 203 $objSiteSess->unsetUniqId(); 204 204 … … 206 206 } 207 207 208 // 会員登録(仮登録)208 // ²ñ°÷ÅÐÏ¿¡Ê²¾ÅÐÏ¿¡Ë 209 209 function lfRegistPreCustomer($arrData, $arrInfo) { 210 // 購入時の会員登録210 // ¹ØÆþ»þ¤Î²ñ°÷ÅÐÏ¿ 211 211 $sqlval['name01'] = $arrData['order_name01']; 212 212 $sqlval['name02'] = $arrData['order_name02']; … … 229 229 $sqlval['reminder'] = $arrData['reminder']; 230 230 $sqlval['reminder_answer'] = $arrData['reminder_answer']; 231 // 会員仮登録231 // ²ñ°÷²¾ÅÐÏ¿ 232 232 $sqlval['status'] = 1; 233 // URL 判定用キー233 // URLȽÄêÍÑ¥¡¼ 234 234 $sqlval['secret_key'] = sfGetUniqRandomId("t"); 235 235 … … 239 239 $objQuery->insert("dtb_customer", $sqlval); 240 240 241 // 顧客IDの取得241 // ¸ÜµÒID¤Î¼èÆÀ 242 242 $arrRet = $objQuery->select("customer_id", "dtb_customer", "secret_key = ?", array($sqlval['secret_key'])); 243 243 $customer_id = $arrRet[0]['customer_id']; 244 244 245 // メルマガ配信用フラグの判定245 // ¥á¥ë¥Þ¥¬ÇÛ¿®Íѥե饰¤ÎȽÄê 246 246 switch($arrData['mail_flag']) { 247 case '1': // HTML メール247 case '1': // HTML¥á¡¼¥ë 248 248 $mail_flag = 4; 249 249 break; 250 case '2': // TEXT メール250 case '2': // TEXT¥á¡¼¥ë 251 251 $mail_flag = 5; 252 252 break; 253 case '3': // 希望なし253 case '3': // ´õ˾¤Ê¤· 254 254 $mail_flag = 6; 255 255 break; … … 261 261 $objQuery = new SC_Query(); 262 262 $objQuery->begin(); 263 // メルマガ配信用テーブル登録263 // ¥á¥ë¥Þ¥¬ÇÛ¿®Íѥơ¼¥Ö¥ëÅÐÏ¿ 264 264 lfRegistNonCustomer($arrData['order_email'], $mail_flag, $objQuery); 265 265 $objQuery->commit(); 266 266 267 // 仮登録完了メール送信267 //¡¡²¾ÅÐÏ¿´°Î»¥á¡¼¥ëÁ÷¿® 268 268 $objMailPage = new LC_Page(); 269 269 $objMailPage->to_name01 = $arrData['order_name01']; … … 277 277 $objMail = new GC_SendMail(); 278 278 $objMail->setItem( 279 '' // 宛先280 , sfMakeSubject(" 会員登録のご確認") // サブジェクト281 , $body // 本文282 , $arrInfo['email03'] // 配送元アドレス283 , $arrInfo['shop_name'] // 配送元 名前284 , $arrInfo["email03"] // reply_to285 , $arrInfo["email04"] // return_path279 '' //¡¡°¸Àè 280 , sfMakeSubject("²ñ°÷ÅÐÏ¿¤Î¤´³Îǧ") //¡¡¥µ¥Ö¥¸¥§¥¯¥È 281 , $body //¡¡ËÜʸ 282 , $arrInfo['email03'] //¡¡ÇÛÁ÷¸µ¥¢¥É¥ì¥¹ 283 , $arrInfo['shop_name'] //¡¡ÇÛÁ÷¸µ¡¡Ì¾Á° 284 , $arrInfo["email03"] //¡¡reply_to 285 , $arrInfo["email04"] //¡¡return_path 286 286 , $arrInfo["email04"] // Errors_to 287 287 , $arrInfo["email01"] // Bcc 288 288 ); 289 // 宛先の設定290 $name = $arrData['order_name01'] . $arrData['order_name02'] ." 様";289 // °¸Àè¤ÎÀßÄê 290 $name = $arrData['order_name01'] . $arrData['order_name02'] ." ÍÍ"; 291 291 $objMail->setTo($arrData['order_email'], $name); 292 292 $objMail->sendMail(); … … 295 295 } 296 296 297 // 受注テーブルへ登録297 // ¼õÃí¥Æ¡¼¥Ö¥ë¤ØÅÐÏ¿ 298 298 function lfRegistOrder($objQuery, $arrData, $objCampaignSess) { 299 299 $sqlval = $arrData; 300 300 301 // 受注テーブルに書き込まない列を除去302 unset($sqlval['mail_flag']); // メルマガチェック303 unset($sqlval['deliv_check']); // 別のお届け先チェック304 unset($sqlval['point_check']); // ポイント利用チェック305 unset($sqlval['member_check']); // 購入時会員チェック306 unset($sqlval['password']); // ログインパスワード307 unset($sqlval['reminder']); // リマインダー質問308 unset($sqlval['reminder_answer']); // リマインダー答え309 310 // 注文ステータス:指定が無ければ新規受付に設定301 // ¼õÃí¥Æ¡¼¥Ö¥ë¤Ë½ñ¤¹þ¤Þ¤Ê¤¤Îó¤ò½üµî 302 unset($sqlval['mail_flag']); // ¥á¥ë¥Þ¥¬¥Á¥§¥Ã¥¯ 303 unset($sqlval['deliv_check']); // Ê̤ΤªÆÏ¤±Àè¥Á¥§¥Ã¥¯ 304 unset($sqlval['point_check']); // ¥Ý¥¤¥ó¥ÈÍøÍÑ¥Á¥§¥Ã¥¯ 305 unset($sqlval['member_check']); // ¹ØÆþ»þ²ñ°÷¥Á¥§¥Ã¥¯ 306 unset($sqlval['password']); // ¥í¥°¥¤¥ó¥Ñ¥¹¥ï¡¼¥É 307 unset($sqlval['reminder']); // ¥ê¥Þ¥¤¥ó¥À¡¼¼ÁÌä 308 unset($sqlval['reminder_answer']); // ¥ê¥Þ¥¤¥ó¥À¡¼Åú¤¨ 309 310 // Ãíʸ¥¹¥Æ¡¼¥¿¥¹:»ØÄ̵꤬¤±¤ì¤Ð¿·µ¬¼õÉÕ¤ËÀßÄê 311 311 if($sqlval["status"] == ""){ 312 312 $sqlval['status'] = '1'; 313 313 } 314 314 315 // 別のお届け先を指定していない場合、配送先に登録住所をコピーする。315 // Ê̤ΤªÆÏ¤±Àè¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ÇÛÁ÷Àè¤ËÅÐÏ¿½»½ê¤ò¥³¥Ô¡¼¤¹¤ë¡£ 316 316 if($arrData["deliv_check"] != "1") { 317 317 $sqlval['deliv_name01'] = $arrData['order_name01']; … … 329 329 } 330 330 331 $order_id = $arrData['order_id']; // オーダーID332 $sqlval['create_date'] = 'now()'; // 受注日333 334 // キャンペーンID331 $order_id = $arrData['order_id']; // ¥ª¡¼¥À¡¼ID 332 $sqlval['create_date'] = 'now()'; // ¼õÃíÆü 333 334 // ¥¥ã¥ó¥Ú¡¼¥óID 335 335 if($objCampaignSess->getIsCampaign()) $sqlval['campaign_id'] = $objCampaignSess->getCampaignId(); 336 336 337 // ゲットの値をインサート337 // ¥²¥Ã¥È¤ÎÃͤò¥¤¥ó¥µ¡¼¥È 338 338 //$sqlval = lfGetInsParam($sqlval); 339 339 340 // INSERT の実行340 // INSERT¤Î¼Â¹Ô 341 341 $objQuery->insert("dtb_order", $sqlval); 342 342 343 // メルマガ配信希望情報の登録343 // ¥á¥ë¥Þ¥¬ÇÛ¿®´õ˾¾ðÊó¤ÎÅÐÏ¿ 344 344 lfRegistNonCustomer($arrData['order_email'], $arrData['mail_flag'], $objQuery); 345 345 … … 347 347 } 348 348 349 // 受注詳細テーブルへ登録349 // ¼õÃí¾ÜºÙ¥Æ¡¼¥Ö¥ë¤ØÅÐÏ¿ 350 350 function lfRegistOrderDetail($objQuery, $order_id, $objCartSess) { 351 // カート内情報の取得351 // ¥«¡¼¥ÈÆâ¾ðÊó¤Î¼èÆÀ 352 352 $arrCart = $objCartSess->getCartList(); 353 353 $max = count($arrCart); 354 354 355 // 既に存在する詳細レコードを消しておく。355 // ´û¤Ë¸ºß¤¹¤ë¾ÜºÙ¥ì¥³¡¼¥É¤ò¾Ã¤·¤Æ¤ª¤¯¡£ 356 356 $objQuery->delete("dtb_order_detail", "order_id = $order_id"); 357 357 358 // 規格名一覧358 // µ¬³Ê̾°ìÍ÷ 359 359 $arrClassName = sfGetIDValueList("dtb_class", "class_id", "name"); 360 // 規格分類名一覧360 // µ¬³ÊʬÎà̾°ìÍ÷ 361 361 $arrClassCatName = sfGetIDValueList("dtb_classcategory", "classcategory_id", "name"); 362 362 363 363 for ($i = 0; $i < $max; $i++) { 364 // 商品規格情報の取得364 // ¾¦Éʵ¬³Ê¾ðÊó¤Î¼èÆÀ 365 365 $arrData = sfGetProductsClass($arrCart[$i]['id']); 366 366 367 // 存在する商品のみ表示する。367 // ¸ºß¤¹¤ë¾¦ÉʤΤßɽ¼¨¤¹¤ë¡£ 368 368 if($arrData != "") { 369 369 $sqlval['order_id'] = $order_id; … … 379 379 $sqlval['quantity'] = $arrCart[$i]['quantity']; 380 380 lfReduceStock($objQuery, $arrCart[$i]['id'], $arrCart[$i]['quantity']); 381 // INSERT の実行381 // INSERT¤Î¼Â¹Ô 382 382 $objQuery->insert("dtb_order_detail", $sqlval); 383 383 } else { … … 387 387 } 388 388 389 // キャンペーン受注テーブルへ登録389 // ¥¥ã¥ó¥Ú¡¼¥ó¼õÃí¥Æ¡¼¥Ö¥ë¤ØÅÐÏ¿ 390 390 function lfRegistCampaignOrder($objQuery, $objCampaignSess, $order_id) { 391 391 392 // 受注データを取得392 // ¼õÃí¥Ç¡¼¥¿¤ò¼èÆÀ 393 393 $cols = "order_id, campaign_id, customer_id, message, order_name01, order_name02,". 394 394 "order_kana01, order_kana02, order_email, order_tel01, order_tel02, order_tel03,". … … 403 403 $sqlval['create_date'] = 'now()'; 404 404 405 // INSERT の実行405 // INSERT¤Î¼Â¹Ô 406 406 $objQuery->insert("dtb_campaign_order", $sqlval); 407 407 408 // 申し込み数の更新408 // ¿½¤·¹þ¤ß¿ô¤Î¹¹¿· 409 409 $total_count = $objQuery->get("dtb_campaign", "total_count", "campaign_id = ?", array($sqlval['campaign_id'])); 410 410 $arrCampaign['total_count'] = $total_count += 1; … … 415 415 416 416 417 /* 受注一時テーブルの削除*/417 /* ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Îºï½ü */ 418 418 function lfDeleteTempOrder($objQuery, $uniqid) { 419 419 $where = "order_temp_id = ?"; … … 423 423 } 424 424 425 // 受注一時テーブルの住所が登録済みテーブルと異なる場合は、別のお届け先に追加する425 // ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Î½»½ê¤¬ÅÐÏ¿ºÑ¤ß¥Æ¡¼¥Ö¥ë¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Ê̤ΤªÆÏ¤±Àè¤ËÄɲ乤ë 426 426 function lfSetNewAddr($uniqid, $customer_id) { 427 427 $objQuery = new SC_Query(); … … 433 433 $arrRet = $objQuery->select($col, "dtb_order_temp", $where, array($uniqid)); 434 434 435 // 要素名のdeliv_を削除する。435 // Í×ÁÇ̾¤Îdeliv_¤òºï½ü¤¹¤ë¡£ 436 436 foreach($arrRet[0] as $key => $val) { 437 437 $keyname = ereg_replace("^deliv_", "", $key); … … 439 439 } 440 440 441 // 会員情報テーブルとの比較441 // ²ñ°÷¾ðÊ󥯡¼¥Ö¥ë¤È¤ÎÈæ³Ó 442 442 $col = "name01,name02,kana01,kana02,tel01,tel02,tel03,zip01,zip02,pref,addr01,addr02"; 443 443 $where = "customer_id = ?"; 444 444 $arrCustomerAddr = $objQuery->select($col, "dtb_customer", $where, array($customer_id)); 445 445 446 // 会員情報の住所と異なる場合446 // ²ñ°÷¾ðÊó¤Î½»½ê¤È°Û¤Ê¤ë¾ì¹ç 447 447 if($arrNew != $arrCustomerAddr[0]) { 448 // 別のお届け先テーブルの住所と比較する448 // Ê̤ΤªÆÏ¤±Àè¥Æ¡¼¥Ö¥ë¤Î½»½ê¤ÈÈæ³Ó¤¹¤ë 449 449 $col = "name01,name02,kana01,kana02,tel01,tel02,tel03,zip01,zip02,pref,addr01,addr02"; 450 450 $where = "customer_id = ?"; … … 453 453 foreach($arrOtherAddr as $arrval) { 454 454 if($arrNew == $arrval) { 455 // すでに同じ住所が登録されている455 // ¤¹¤Ç¤ËƱ¤¸½»½ê¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë 456 456 $find_same = true; 457 457 } … … 463 463 } 464 464 465 // 新しいお届け先が登録済みのものと異なる場合は別のお届け先テーブルに登録する465 // ¿·¤·¤¤¤ªÆÏ¤±À褬ÅÐÏ¿ºÑ¤ß¤Î¤â¤Î¤È°Û¤Ê¤ë¾ì¹ç¤ÏÊ̤ΤªÆÏ¤±Àè¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë 466 466 if($diff) { 467 467 $sqlval = $arrNew; … … 471 471 } 472 472 473 /* 購入情報を会員テーブルに登録する*/473 /* ¹ØÆþ¾ðÊó¤ò²ñ°÷¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë */ 474 474 function lfSetCustomerPurchase($customer_id, $arrData, $objQuery) { 475 475 $col = "first_buy_date, last_buy_date, buy_times, buy_total, point"; … … 486 486 $sqlval['point'] = ($sqlval['point'] + $arrData['add_point'] - $arrData['use_point']); 487 487 488 // ポイントが不足している場合488 // ¥Ý¥¤¥ó¥È¤¬ÉÔ¤·¤Æ¤¤¤ë¾ì¹ç 489 489 if($sqlval['point'] < 0) { 490 490 $objQuery->rollback(); … … 495 495 } 496 496 497 /* 非会員のメルマガテーブルへの登録*/497 /* Èó²ñ°÷¤Î¥á¥ë¥Þ¥¬¥Æ¡¼¥Ö¥ë¤Ø¤ÎÅÐÏ¿ */ 498 498 function lfRegistNonCustomer($email, $mail_flag, $objQuery) { 499 // 会員のメールアドレスが登録されていない場合499 // ²ñ°÷¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç 500 500 if(!sfCheckCustomerMailMaga($email)) { 501 501 $where = "email = ?"; … … 509 509 } 510 510 511 // 在庫を減らす処理511 // ºß¸Ë¤ò¸º¤é¤¹½èÍý 512 512 function lfReduceStock($objQuery, $arrID, $quantity) { 513 513 $where = "product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?"; 514 514 $arrRet = $objQuery->select("stock, stock_unlimited", "dtb_products_class", $where, $arrID); 515 515 516 // 売り切れエラー516 // Çä¤êÀڤ쥨¥é¡¼ 517 517 if(($arrRet[0]['stock_unlimited'] != '1' && $arrRet[0]['stock'] < $quantity) || $quantity == 0) { 518 518 $objQuery->rollback(); 519 519 sfDispSiteError(SOLD_OUT, "", true); 520 // 無制限の場合、在庫はNULL520 // ̵À©¸Â¤Î¾ì¹ç¡¢ºß¸Ë¤ÏNULL 521 521 } elseif($arrRet[0]['stock_unlimited'] == '1') { 522 522 $sqlval['stock'] = null; 523 523 $objQuery->update("dtb_products_class", $sqlval, $where, $arrID); 524 // 在庫を減らす524 // ºß¸Ë¤ò¸º¤é¤¹ 525 525 } else { 526 526 $sqlval['stock'] = ($arrRet[0]['stock'] - $quantity); … … 532 532 } 533 533 534 // GET の値をインサート用に整える534 // GET¤ÎÃͤò¥¤¥ó¥µ¡¼¥ÈÍѤËÀ°¤¨¤ë 535 535 function lfGetInsParam($sqlVal){ 536 536 537 537 foreach($_GET as $key => $val){ 538 // カラムの存在チェック538 // ¥«¥é¥à¤Î¸ºß¥Á¥§¥Ã¥¯ 539 539 if(sfColumnExists("dtb_order", $key)) $sqlVal[$key] = $val; 540 540 }
Note: See TracChangeset
for help on using the changeset viewer.
