Ignore:
Timestamp:
2010/03/11 10:35:11 (14 years ago)
Author:
kajiwara
Message:

正式版にナイトリービルド版をマージしてみるテスト

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tmp/version-2_5-test/data/class/pages/shopping/LC_Page_Shopping_Complete.php

    r18562 r18609  
    5151        $this->arrCONVENIENCE = $masterData->getMasterData("mtb_convenience"); 
    5252        $this->arrCONVENIMESSAGE = $masterData->getMasterData("mtb_conveni_message"); 
    53  
    54         $this->allowClientCache(); 
    5553    } 
    5654 
     
    107105                        // URLの場合にはリンクつきで表示させる 
    108106                        if (preg_match('/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $val["value"])) { 
    109                             $arrOther[$key]["value"] = "<a href='#' onClick=\"window.open('". $val["value"] . "'); \" >" . $val["value"] ."</a>"; 
     107                            $arrOther[$key]["value"] = "<a href='". $val["value"] . "' target=\"_blank\">" . $val["value"] ."</a>"; 
    110108                        } 
    111109                    } 
     
    177175 
    178176        // 前のページで正しく登録手続きが行われたか判定 
    179         SC_Utils_Ex::sfIsPrePage($this->objSiteSess, true); 
     177        SC_Utils_Ex::sfIsPrePage($this->objSiteSess); 
    180178        // ユーザユニークIDの取得と購入状態の正当性をチェック 
    181179        $uniqid = SC_Utils_Ex::sfCheckNormalAccess($this->objSiteSess, $this->objCartSess); 
     
    300298            $this->lfSetCustomerPurchase($this->objCustomer->getValue('customer_id'), $arrData, $objQuery); 
    301299        } else { 
    302             //購入時強制会員登録 
    303             switch(PURCHASE_CUSTOMER_REGIST) { 
    304             //無効 
    305             case '0': 
    306                 // 購入時会員登録 
    307                 if(isset($arrData['member_check']) && $arrData['member_check'] == '1') { 
    308                     // 会員登録 
    309                     $customer_id = $this->lfRegistCustomer($arrData, $this->arrInfo); 
    310                     // 購入集計を顧客テーブルに反映 
    311                     $this->lfSetCustomerPurchase($customer_id, $arrData, $objQuery); 
    312                 } 
    313                 break; 
    314             //有効 
    315             case '1': 
     300            // 購入時強制会員登録が有効の場合 
     301            if (PURCHASE_CUSTOMER_REGIST == '1') { 
    316302                // 会員登録 
    317303                $customer_id = $this->lfRegistCustomer($arrData, $this->arrInfo); 
    318304                // 購入集計を顧客テーブルに反映 
    319305                $this->lfSetCustomerPurchase($customer_id, $arrData, $objQuery); 
    320                 break; 
    321             } 
    322  
     306            } 
    323307        } 
    324308        // 一時テーブルを受注テーブルに格納する 
     
    377361 
    378362        // 仮会員登録の場合 
    379         if($confirm_flg == true) { 
     363        if ($confirm_flg == true) { 
    380364            // 重複しない会員登録キーを発行する。 
    381365            $count = 1; 
     
    397381 
    398382        // メルマガフラグ 
    399         switch($arrData["mailmaga_flg"]) { 
    400             case 1: 
     383        switch ($arrData["mailmaga_flg"]) { 
     384            case 1: // HTMLメール 
    401385                $mail_flag = 4; 
    402386                break; 
    403             case 2: 
     387            case 2: // TEXTメール 
    404388                $mail_flag = 5; 
    405389                break; 
     
    434418 
    435419        //仮会員メール 
    436         if($confirm_flg == true) { 
    437             $subject = $mailHelper->sfMakeSubject($objQuery,$objMailView,$objMailPage,"会員登録のご確認"); 
    438             $body = $objMailView->fetch("mail_templates/customer_mail.tpl"); 
     420        if ($confirm_flg == true) { 
     421            $subject = $mailHelper->sfMakeSubject('会員登録のご確認'); 
     422            $body = $objMailView->fetch('mail_templates/customer_mail.tpl'); 
    439423        //本会員メール 
    440         }else{ 
    441             $subject = $mailHelper->sfMakeSubject($objQuery,$objMailView,$objMailPage,'会員登録のご完了'); 
    442             $body = $objMailView->fetch("mail_templates/customer_regist_mail.tpl"); 
     424        } else { 
     425            $subject = $mailHelper->sfMakeSubject('会員登録のご完了'); 
     426            $body = $objMailView->fetch('mail_templates/customer_regist_mail.tpl'); 
    443427            // ログイン状態にする 
    444428            $this->objCustomer->setLogin($arrData['order_email']); 
     
    465449    } 
    466450 
    467     // 受注テーブルへ登録 
     451    /** 
     452     * 受注テーブルへ登録 
     453     * 
     454     * @return integer 注文番号 
     455     */ 
    468456    function lfRegistOrder($objQuery, $arrData, $objCampaignSess = null) { 
    469457        $sqlval = $arrData; 
    470458 
    471459        // 受注テーブルに書き込まない列を除去 
    472         unset($sqlval['mailmaga_flg']);     // メルマガチェック 
    473         unset($sqlval['deliv_check']);      // 別のお届け先チェック 
    474         unset($sqlval['point_check']);      // ポイント利用チェック 
    475         unset($sqlval['member_check']);     // 購入時会員チェック 
    476         unset($sqlval['password']);         // ログインパスワード 
    477         unset($sqlval['reminder']);         // リマインダー質問 
    478         unset($sqlval['reminder_answer']);  // リマインダー答え 
    479         unset($sqlval['mail_flag']);        // メールフラグ 
    480         unset($sqlval['session']);          // セッション情報 
     460        unset($sqlval['mailmaga_flg']);     // メルマガチェック 
     461        unset($sqlval['deliv_check']);      // 別のお届け先チェック 
     462        unset($sqlval['point_check']);      // ポイント利用チェック 
     463        unset($sqlval['password']);         // ログインパスワード 
     464        unset($sqlval['reminder']);         // リマインダー質問 
     465        unset($sqlval['reminder_answer']);  // リマインダー答え 
     466        unset($sqlval['mail_flag']);        // メールフラグ 
     467        unset($sqlval['session']);          // セッション情報 
     468 
     469        // ポイントは別登録 
     470        $addPoint = $sqlval['add_point']; 
     471        $usePoint = $sqlval['use_point']; 
     472        $sqlval['add_point'] = 0; 
     473        $sqlval['use_point'] = 0; 
    481474 
    482475        // 注文ステータス:指定が無ければ新規受付に設定 
    483         if($sqlval["status"] == ""){ 
    484             $sqlval['status'] = '1'; 
     476        if (strlen($sqlval['status']) == 0) { 
     477            $sqlval['status'] = ORDER_NEW; 
    485478        } 
    486479 
    487480        // 別のお届け先を指定していない場合、お届け先に登録住所をコピーする。 
    488         if($arrData["deliv_check"] == "-1") { 
     481        if ($arrData["deliv_check"] == "-1") { 
    489482            $sqlval['deliv_name01'] = $arrData['order_name01']; 
    490483            $sqlval['deliv_name02'] = $arrData['order_name02']; 
     
    501494        } 
    502495 
    503         $order_id = $arrData['order_id'];       // 注文番号 
    504         $sqlval['create_date'] = 'now()';       // 受注日 
     496        $order_id = $arrData['order_id'];       // 注文番号 
     497        $sqlval['create_date'] = 'Now()';       // 受注日 
     498        $sqlval['update_date'] = 'Now()';       // 更新日時 
    505499 
    506500        // キャンペーンID 
    507501        if (!defined("MOBILE_SITE")) { 
    508             if($objCampaignSess->getIsCampaign()) $sqlval['campaign_id'] = $objCampaignSess->getCampaignId(); 
     502            if ($objCampaignSess->getIsCampaign()) $sqlval['campaign_id'] = $objCampaignSess->getCampaignId(); 
    509503        } 
    510504 
     
    512506        //$sqlval = lfGetInsParam($sqlval); 
    513507 
    514         // INSERTの実行 
     508        // 受注テーブルの登録 
    515509        $objQuery->insert("dtb_order", $sqlval); 
     510 
     511        // 受注.対応状況の更新 
     512        SC_Helper_DB_Ex::sfUpdateOrderStatus($order_id, null, $addPoint, $usePoint); 
    516513 
    517514        return $order_id; 
     
    554551                $objQuery->insert("dtb_order_detail", $sqlval); 
    555552            } else { 
    556                 if (defined("MOBILE_SITE")) { 
    557                     SC_Utils_Ex::sfDispSiteError(CART_NOT_FOUND, "", false, "", true); 
    558                 } else { 
    559                     SC_Utils_Ex::sfDispSiteError(CART_NOT_FOUND); 
    560                 } 
     553                SC_Utils_Ex::sfDispSiteError(CART_NOT_FOUND); 
    561554            } 
    562555        } 
     
    577570 
    578571        $sqlval = $arrOrder[0]; 
    579         $sqlval['create_date'] = 'now()'; 
     572        $sqlval['create_date'] = 'Now()'; 
    580573 
    581574        // INSERTの実行 
     
    649642    /* 購入情報を会員テーブルに登録する */ 
    650643    function lfSetCustomerPurchase($customer_id, $arrData, &$objQuery) { 
    651         $col = "first_buy_date, last_buy_date, buy_times, buy_total, point"; 
     644        $col = "first_buy_date, last_buy_date, buy_times, buy_total"; 
    652645        $where = "customer_id = ?"; 
    653646        $arrRet = $objQuery->select($col, "dtb_customer", $where, array($customer_id)); 
     
    660653        $sqlval['buy_times']++; 
    661654        $sqlval['buy_total']+= $arrData['total']; 
    662         if (USE_POINT === false) { 
    663             $sqlval['point'] = $sqlval['point']; 
    664         } else { 
    665             //$sqlval['point'] = ($sqlval['point'] - $arrData['use_point']); 
    666             $sqlval['point'] = ($sqlval['point'] + $arrData['add_point'] - $arrData['use_point']); 
    667         } 
    668  
    669         // ポイントが不足している場合 
    670         if($sqlval['point'] < 0) { 
    671             $objQuery->rollback(); 
    672             SC_Utils_Ex::sfDispSiteError(LACK_POINT); 
    673         } 
    674655 
    675656        $objQuery->update("dtb_customer", $sqlval, $where, array($customer_id)); 
     
    678659    // 在庫を減らす処理 
    679660    function lfReduceStock(&$objQuery, $arrID, $quantity) { 
     661        $objDb = new SC_Helper_DB_Ex(); 
     662         
     663        if (!SC_Utils_Ex::sfIsInt($quantity)) { 
     664            $objQuery->rollback(); 
     665            SC_Utils_Ex::sfDispException(); 
     666        } 
     667         
    680668        $where = "product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?"; 
    681669        $arrRet = $objQuery->select("stock, stock_unlimited", "dtb_products_class", $where, $arrID); 
    682670 
    683         // 売り切れエラー 
    684         if(($arrRet[0]['stock_unlimited'] != '1' && $arrRet[0]['stock'] < $quantity) || $quantity == 0) { 
     671        if (($arrRet[0]['stock_unlimited'] != '1' && $arrRet[0]['stock'] < $quantity) || $quantity == 0) { 
     672            // 売り切れエラー 
    685673            $objQuery->rollback(); 
    686674            SC_Utils_Ex::sfDispSiteError(SOLD_OUT, "", true); 
    687         // 無制限の場合、在庫はNULL 
    688         } elseif($arrRet[0]['stock_unlimited'] == '1') { 
    689             $sqlval['stock'] = null; 
    690             $objQuery->update("dtb_products_class", $sqlval, $where, $arrID); 
     675        } 
     676         
    691677        // 在庫を減らす 
    692         } else { 
    693             $sqlval['stock'] = ($arrRet[0]['stock'] - $quantity); 
    694             if($sqlval['stock'] == "") { 
    695                 $sqlval['stock'] = '0'; 
    696             } 
    697             $objQuery->update("dtb_products_class", $sqlval, $where, $arrID); 
    698         } 
     678        $arrRawSql = array(); 
     679        $arrRawSql['stock'] = 'stock - ?'; 
     680        $arrRawSqlVal[] = $quantity; 
     681        $objQuery->update('dtb_products_class', array(), $where, $arrID, $arrRawSql, $arrRawSqlVal); 
     682         
     683        // 在庫無し商品の非表示対応 
     684        if (NOSTOCK_HIDDEN === true) { 
     685            // 件数カウントバッチ実行 
     686            $objDb->sfCategory_Count($objQuery); 
     687        } 
     688         
    699689    } 
    700690 
Note: See TracChangeset for help on using the changeset viewer.