[Svn-src-all:1223] [version-2_5-dev 20111] #905(カートが空でも注文を完了できる)

nanasess admin @ mail.ec-cube.net
2011年 2月 7日 (月) 15:13:47 JST


Subversion committed to /home/svn/open 20111
http://svn.ec-cube.net/open_trac/changeset/20111
┌────────────────────────────┐
│更新者 :  nanasess                                     │
│更新日時:  2011-02-07 15:13:47 +0900 (月, 07  2月 2011)│
└────────────────────────────┘

Log:
--------------------------------------------------------
#905(カートが空でも注文を完了できる)
 * SC_CartSession::getKeys() が空だった場合の対応
 * typo 修正
#714(パス指定によるリダイレクトの記述を簡潔にする)


Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php

変更: branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php
===================================================================
--- branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php	2011-02-07 05:10:05 UTC (rev 20110)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php	2011-02-07 06:13:47 UTC (rev 20111)
@@ -101,31 +101,29 @@
      * @return void
      */
     function verifyChangeCart($uniqId, &$objCartSession) {
-        $cartkeys = $objCartSession->getKeys();
+        $cartKeys = $objCartSession->getKeys();
 
+        // カート内が空でないか
+        if (SC_Utils_Ex::isBlank($cartKeys)) {
+            SC_Response_Ex::sendRedirect(CART_URLPATH);
+        }
+
         foreach ($cartKeys as $cartKey) {
             // 初回のみカートの内容を保存
-            $objCartSess->saveCurrentCart($uniqid, $cartKey);
+            $objCartSession->saveCurrentCart($uniqid, $cartKey);
+
             /*
              * POSTのユニークIDとセッションのユニークIDを比較
              *(ユニークIDがPOSTされていない場合はスルー)
              */
             if(!SC_SiteSession::checkUniqId()) {
-                // エラーページの表示
-                // XXX $objSiteSess インスタンスは未使用?
-                SC_Utils_Ex::sfDispSiteError(CANCEL_PURCHASE, $objSiteSess);
+                SC_Utils_Ex::sfDispSiteError(CANCEL_PURCHASE);
             }
 
-            // カート内が空でないか || 購入ボタンを押してから変化がないか
-            $quantity = $objCartSess->getTotalQuantity($cartKey);
-            if($objCartSess->checkChangeCart($cartKey) || !($quantity > 0)) {
-                // カート情報表示に強制移動する
-                if (Net_UserAgent_Mobile::isMobile()) {
-                    header("Location: ". MOBILE_CART_URLPATH
-                           . "?" . session_name() . "=" . session_id());
-                } else {
-                    header("Location: ".CART_URLPATH);
-                }
+            // 購入ボタンを押してから変化がないか
+            $quantity = $objCartSession->getTotalQuantity($cartKey);
+            if($objCartSession->checkChangeCart($cartKey) || !($quantity > 0)) {
+                SC_Response_Ex::sendRedirect(CART_URLPATH);
                 exit;
             }
         }




Svn-src-all メーリングリストの案内