Index: /branches/version-2_5-dev/data/Smarty/templates/mobile/cart/index.tpl
===================================================================
--- /branches/version-2_5-dev/data/Smarty/templates/mobile/cart/index.tpl	(revision 19835)
+++ /branches/version-2_5-dev/data/Smarty/templates/mobile/cart/index.tpl	(revision 19845)
@@ -28,46 +28,48 @@
 	<!--{$tpl_message}--><br>
 <!--{/if}-->
-<!--{if count($arrProductsClass) > 0}-->
-<form name="form1" id="form1" method="post" action="?"  utn>
+<!--{if count($cartItems) > 0}-->
+<!--{foreach from=$cartKeys item=key}-->
+<form name="form<!--{$key}-->" id="form<!--{$key}-->" method="post" action="?"  utn>
 	<input type="hidden" name="mode" value="confirm">
 	<input type="hidden" name="cart_no" value="">
+	<input type="hidden" name="cartKey" value="<!--{$key}-->">
 	<!--ご注文内容ここから-->
 	<hr>
-	<!--{section name=cnt loop=$arrProductsClass}-->
-		<!--{* 商品名 *}--><!--{$arrProductsClass[cnt].name|h}--><br>
+    <!--{foreach from=$cartItems[$key] item=item}-->
+		<!--{* 商品名 *}--><!--{$item.productsClass.name|h}--><br>
+        <!--{* 規格名1 *}--><!--{if $item.productsClass.classcategory_name1 != ""}--><!--{$item.productsClass.class_name1}-->：<!--{$item.productsClass.classcategory_name1}--><br><!--{/if}-->
+        <!--{* 規格名2 *}--><!--{if $item.productsClass.classcategory_name2 != ""}--><!--{$item.productsClass.class_name2}-->：<!--{$item.productsClass.classcategory_name2}--><br><!--{/if}-->
 		<!--{* 販売価格 *}-->
-		\<!--{$arrProductsClass[cnt].price02|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->
-		× <!--{$arrProductsClass[cnt].quantity}--><br>
-		<!--{* 詳細 *}-->
-		<!--{if $arrProductsClass[cnt].classcategory_name1 != ""}-->
-			<!--{$arrProductsClass[cnt].class_name1}-->:<!--{$arrProductsClass[cnt].classcategory_name1}--><br>
-		<!--{/if}-->
-		<!--{if $arrProductsClass[cnt].classcategory_name2 != ""}-->
-			<!--{$arrProductsClass[cnt].class_name2}-->:<!--{$arrProductsClass[cnt].classcategory_name2}--><br>
-		<!--{/if}-->
+		&yen;<!--{$item.productsClass.price02|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->
+		× <!--{$item.quantity}--><br>
 		<br>
 		<!--{* 数量 *}-->
-		数量:<!--{$arrProductsClass[cnt].quantity}-->
-		<a href="?mode=up&amp;cart_no=<!--{$arrProductsClass[cnt].cart_no}-->">+</a>
-		<a href="?mode=down&amp;cart_no=<!--{$arrProductsClass[cnt].cart_no}-->">-</a>
-		<a href="?mode=delete&amp;cart_no=<!--{$arrProductsClass[cnt].cart_no}-->">削除</a><br>
+		数量:<!--{$item.quantity}-->
+		<a href="?mode=up&amp;cart_no=<!--{$item.cart_no}-->&amp;cartKey=<!--{$key}-->">+</a>
+		<a href="?mode=down&amp;cart_no=<!--{$item.cart_no}-->&amp;cartKey=<!--{$key}-->">-</a>
+		<a href="?mode=delete&amp;cart_no=<!--{$item.cart_no}-->&amp;cartKey=<!--{$key}-->">削除</a><br>
 		<!--{* 合計 *}-->
-		小計:<!--{$arrProductsClass[cnt].total_inctax|number_format}-->円<br>
-		<div align="right"><a href="<!--{$smarty.const.MOBILE_P_DETAIL_URL_PATH}--><!--{$arrProductsClass[cnt].product_id|u}-->">商品詳細へ→</a></div>
+		小計:<!--{$item.total_inctax|number_format}-->円<br>
+		<div align="right"><a href="<!--{$smarty.const.MOBILE_P_DETAIL_URL_PATH}--><!--{$item.productsClass.product_id|u}-->">商品詳細へ→</a></div>
 		<HR>
-	<!--{/section}-->
-	商品合計:<!--{$tpl_total_inctax|number_format}-->円<br>
-	合計:<!--{$arrData.total-$arrData.deliv_fee|number_format}-->円<br>
-	<!--{if $arrData.birth_point > 0}-->
+	<!--{/foreach}-->
+	商品合計:<!--{$tpl_total_inctax[$key]|number_format}-->円<br>
+	合計:<!--{$arrData[$key].total-$arrData[$key].deliv_fee|number_format}-->円<br>
+	<!--{if $smarty.const.USE_POINT !== false}-->
+        <br>
+    <!--{if $arrData[$key].birth_point > 0}-->
 		お誕生月ﾎﾟｲﾝﾄ<br>
-		<!--{$arrData.birth_point|number_format}-->pt<br>
+		<!--{$arrData[$key].birth_point|number_format}-->pt<br>
+	<!--{/if}-->
+		今回加算ﾎﾟｲﾝﾄ<br>
+        <!--{$arrData[$key].add_point|number_format}-->pt<br>
 	<!--{/if}-->
 	<br>
 	<center><input type="submit" value="注文する"></center>
 </form>
-<form method="post" action="?">
-	<input type="hidden" name="mode" value="continue">
-	<center><input type="submit" value="お買物を続ける"></center>
-</form>
+<!--{/foreach}-->
+<!--{if $tpl_prev_url != ""}-->
+    <a href="<!--{$tpl_prev_url}-->">[emoji:69]お買物を続ける</a>
+<!--{/if}-->
 <!--{else}-->
 	※現在ｶｰﾄ内に商品はございません｡<br>
Index: /branches/version-2_5-dev/data/class/pages/cart/LC_Page_Cart.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/cart/LC_Page_Cart.php	(revision 19833)
+++ /branches/version-2_5-dev/data/class/pages/cart/LC_Page_Cart.php	(revision 19845)
@@ -33,5 +33,5 @@
  * @package Page
  * @author LOCKON CO.,LTD.
- * @version $Id:LC_Page_Cart.php 15532 2007-08-31 14:39:46Z nanasess $
+ * @version $Id$
  */
 class LC_Page_Cart extends LC_Page {
@@ -86,8 +86,5 @@
         $objSiteInfo = $objView->objSiteInfo;
         $objCustomer = new SC_Customer();
-        $objDb = new SC_Helper_DB_Ex();
-        $objProduct = new SC_Product();
-
-        $i = 0;
+
         $this->cartKeys = $objCartSess->getKeys();
         foreach ($this->cartKeys as $key) {
@@ -102,16 +99,4 @@
 
         switch($_POST['mode']) {
-        case 'up':
-            $objCartSess->upQuantity($_POST['cart_no'], $_POST['cartKey']);
-            $this->objDisplay->reload(); // PRG pattern
-            break;
-        case 'down':
-            $objCartSess->downQuantity($_POST['cart_no'], $_POST['cartKey']);
-            $this->objDisplay->reload(); // PRG pattern
-            break;
-        case 'delete':
-            $objCartSess->delProduct($_POST['cart_no'], $_POST['cartKey']);
-            $this->objDisplay->reload(); // PRG pattern
-            break;
         case 'confirm':
             // カート内情報の取得
@@ -144,4 +129,41 @@
         }
 
+        // 商品の個数変更、削除処理
+        $changeCartMode = (Net_UserAgent_Mobile::isMobile() === true) ? $_GET['mode'] : $_POST['mode'];
+        /*
+         * FIXME モバイルの場合 sfReload() ではなく sendRedirect() を使った方が良いが無限ループしてしまう...
+         */
+        switch($changeCartMode) {
+        case 'up':
+            if(Net_UserAgent_Mobile::isMobile() === true) {
+                $objCartSess->upQuantity($_GET['cart_no'], $_GET['cartKey']);
+                SC_Utils_Ex::sfReload(session_name() . "=" . session_id());
+            } else {
+                $objCartSess->upQuantity($_POST['cart_no'], $_POST['cartKey']);
+                $this->objDisplay->reload(); // PRG pattern
+            }
+            break;
+        case 'down':
+            if(Net_UserAgent_Mobile::isMobile() === true) {
+                $objCartSess->downQuantity($_GET['cart_no'], $_GET['cartKey']);
+                SC_Utils_Ex::sfReload(session_name() . "=" . session_id());
+            } else {
+                $objCartSess->downQuantity($_POST['cart_no'], $_POST['cartKey']);
+                $this->objDisplay->reload(); // PRG pattern
+            }
+            break;
+        case 'delete':
+            if(Net_UserAgent_Mobile::isMobile() === true) {
+                $objCartSess->delProduct($_GET['cart_no'], $_GET['cartKey']);
+                SC_Utils_Ex::sfReload(session_name() . "=" . session_id());
+            } else {
+                $objCartSess->delProduct($_POST['cart_no'], $_POST['cartKey']);
+                $this->objDisplay->reload(); // PRG pattern
+            }
+            break;
+        default:
+            break;
+        }
+        
         // 基本情報の取得
         $this->arrInfo = $objSiteInfo->data;
@@ -160,129 +182,4 @@
 
         // ログイン判定
-        if($objCustomer->isLoginSuccess()) {
-            $this->tpl_login = true;
-            $this->tpl_user_point = $objCustomer->getValue('point');
-            $this->tpl_name = $objCustomer->getValue('name01');
-        }
-
-        // 前頁のURLを取得
-        $this->tpl_prev_url = $objCartSess->getPrevURL();
-    }
-
-    /**
-     * モバイルページを初期化する.
-     *
-     * @return void
-     */
-    function mobileInit() {
-        $this->init();
-    }
-
-    /**
-     * Page のプロセス(モバイル).
-     *
-     * @return void
-     */
-    function mobileProcess() {
-        parent::mobileProcess();
-        $this->mobileAction();
-        $this->sendResponse();
-    }
-
-    /**
-     * Page のアクション(モバイル).
-     *
-     * @return void
-     */
-    function mobileAction() {
-        // 買い物を続ける場合
-        if ($_REQUEST['mode'] == 'continue') {
-            $this->objDisplay->redirect($this->getLocation(MOBILE_TOP_URL_PATH));
-            exit;
-        }
-
-        $objView = new SC_MobileView(false);
-        $objCartSess = new SC_CartSession();
-        $objSiteSess = new SC_SiteSession();
-        $objSiteInfo = $objView->objSiteInfo;
-        $objCustomer = new SC_Customer();
-        $objDb = new SC_Helper_DB_Ex();
-
-        // 商品購入中にカート内容が変更された。
-        if($objCartSess->getCancelPurchase()) {
-            $this->tpl_message = "商品購入中にｶｰﾄ内容が変更されましたので､お手数ですが購入手続きをやり直して下さい｡";
-        }
-
-        switch($_POST['mode']) {
-        case 'confirm':
-            // カート内情報の取得
-            $arrRet = $objCartSess->getCartList();
-            $max = count($arrRet);
-            $cnt = 0;
-            for ($i = 0; $i < $max; $i++) {
-                // 商品規格情報の取得
-                $arrData = $objDb->sfGetProductsClass($arrRet[$i]['id']);
-                // DBに存在する商品
-                if($arrData != "") {
-                    $cnt++;
-                }
-            }
-            // カート商品が1件以上存在する場合
-            if($cnt > 0) {
-                // 正常に登録されたことを記録しておく
-                $objSiteSess->setRegistFlag();
-                $pre_uniqid = $objSiteSess->getUniqId();
-                // 注文一時IDの発行
-                $objSiteSess->setUniqId();
-                $uniqid = $objSiteSess->getUniqId();
-                // エラーリトライなどで既にuniqidが存在する場合は、設定を引き継ぐ
-                if($pre_uniqid != "") {
-                    $sqlval['order_temp_id'] = $uniqid;
-                    $where = "order_temp_id = ?";
-                    $objQuery = new SC_Query();
-                    $objQuery->update("dtb_order_temp", $sqlval, $where, array($pre_uniqid));
-                }
-                // カートを購入モードに設定
-                $objCartSess->saveCurrentCart($uniqid);
-                // 購入ページへ
-                $this->objDisplay->redirect(MOBILE_SHOPPING_URL);
-                exit;
-            }
-            break;
-        default:
-            break;
-        }
-
-        if (!isset($_GET['mode'])) $_GET['mode'] = "";
-
-        /*
-         * FIXME sendRedirect() を使った方が良いが無限ループしてしまう...
-         */
-        switch($_GET['mode']) {
-        case 'up':
-            $objCartSess->upQuantity($_GET['cart_no']);
-            SC_Utils_Ex::sfReload(session_name() . "=" . session_id());
-            break;
-        case 'down':
-            $objCartSess->downQuantity($_GET['cart_no']);
-            SC_Utils_Ex::sfReload(session_name() . "=" . session_id());
-            break;
-        case 'delete':
-            $objCartSess->delProduct($_GET['cart_no']);
-            SC_Utils_Ex::sfReload(session_name() . "=" . session_id());
-            break;
-        }
-
-        // カート集計処理
-        if (empty($arrData)) {
-            $arrData = array();
-        }
-        $objDb->sfTotalCart($this, $objCartSess);
-        $this->arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, null, $objCustomer);
-
-        // 基本情報の取得
-        $this->arrInfo = $objSiteInfo->data;
-
-        // ログイン判定
         if($objCustomer->isLoginSuccess(true)) {
             $this->tpl_login = true;
@@ -291,8 +188,4 @@
         }
 
-        // 送料無料までの金額を計算
-        $tpl_deliv_free = $this->arrInfo['free_rule'] - $this->tpl_total_inctax;
-        $this->tpl_deliv_free = $tpl_deliv_free;
-
         // 前頁のURLを取得
         $this->tpl_prev_url = $objCartSess->getPrevURL();
