Index: /branches/version-2_5-dev/html/install/sql/insert_data.sql
===================================================================
--- /branches/version-2_5-dev/html/install/sql/insert_data.sql	(revision 19860)
+++ /branches/version-2_5-dev/html/install/sql/insert_data.sql	(revision 19862)
@@ -1196,8 +1196,9 @@
 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('CART_URL_PATH', 'URL_PATH . "cart/" . DIR_INDEX_URL', 240, 'カートトップ');
 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('DELIV_URL_PATH', 'URL_PATH . "shopping/deliv.php"', 241, 'お届け先設定');
-INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('URL_MYPAGE_TOP', 'HTTPS_URL . "mypage/login.php"', 242, 'Myページトップ');
-INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('SHOPPING_CONFIRM_URL_PATH', 'URL_PATH . "shopping/confirm.php"', 243, '購入確認ページ');
-INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('SHOPPING_PAYMENT_URL_PATH', 'URL_PATH . "shopping/payment.php"', 244, 'お支払い方法選択ページ');
-INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('SHOPPING_COMPLETE_URL_PATH', 'URL_PATH . "shopping/complete.php"', 245, '購入完了画面');
+INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('MULTIPLE_URL_PATH', 'URL_PATH . "shopping/multiple.php"', 242, '複数お届け先設定');
+INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('URL_MYPAGE_TOP', 'HTTPS_URL . "mypage/login.php"', 243, 'Myページトップ');
+INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('SHOPPING_CONFIRM_URL_PATH', 'URL_PATH . "shopping/confirm.php"', 244, '購入確認ページ');
+INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('SHOPPING_PAYMENT_URL_PATH', 'URL_PATH . "shopping/payment.php"', 245, 'お支払い方法選択ページ');
+INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('SHOPPING_COMPLETE_URL_PATH', 'URL_PATH . "shopping/complete.php"', 246, '購入完了画面');
 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('SHOPPING_MODULE_URL_PATH', 'URL_PATH . "shopping/load_payment_module.php"', 249, 'モジュール追加用画面');
 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('P_DETAIL_URL_PATH', 'URL_PATH . "products/detail.php?product_id="', 253, '商品詳細(HTML出力)');
Index: /branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php
===================================================================
--- /branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php	(revision 19861)
+++ /branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php	(revision 19862)
@@ -72,6 +72,14 @@
         $orderId = $this->registerOrder($orderTemp, $objCartSession,
                                         $objCartSession->getKey());
-        $this->registerShipping($orderId, $this->getShippingTemp());
+        $shippingTemp =& $this->getShippingTemp();
+        if (count($shippingTemp) > 1) {
+            foreach ($shippingTemp as $shippingId => $val) {
+                $this->registerShipmentItem($orderId, $shippingId,
+                                            $val['shipment_item']);
+            }
+        }
+        $this->registerShipping($orderId, $shippingTemp);
         $objQuery->commit();
+        $this->unsetShippingTemp();
         $objCustomer->updateSession();
     }
@@ -257,9 +265,9 @@
      */
     function copyFromOrder(&$dest, $src,
+                           $prefix = 'shipping', $src_prefix = 'order',
                            $keys = array('name01', 'name02', 'kana01', 'kana02',
                                          'sex', 'zip01', 'zip02', 'pref',
                                          'addr01', 'addr02',
-                                         'tel01', 'tel02', 'tel03'),
-                           $prefix = 'shipping', $src_prefix = 'order') {
+                                         'tel01', 'tel02', 'tel03')) {
         foreach ($keys as $key) {
             if (in_array($key, $keys)) {
@@ -375,4 +383,25 @@
             $sqlval['update_date'] = 'Now()';
             $objQuery->insert("dtb_shipping", $sqlval);
+        }
+    }
+
+    /**
+     * 配送商品を登録する.
+     */
+    function registerShipmentItem($orderId, $shippingId, $params) {
+        $objQuery =& SC_Query::getSingletonInstance();
+        $objProduct = new SC_Product();
+        foreach ($params as $productClassId => $val) {
+            $d = $objProduct->getDetailAndProductsClass($productClassId);
+            $sqlval['order_id'] = $orderId;
+            $sqlval['shipping_id'] = $shippingId;
+            $sqlval['product_class_id'] = $productClassId;
+            $sqlval['product_name'] = $d['name'];
+            $sqlval['product_code'] = $d['product_code'];
+            $sqlval['classcategory_name1'] = $d['classcategory_name1'];
+            $sqlval['classcategory_name2'] = $d['classcategory_name2'];
+            $sqlval['price'] = $d['price'];
+            $sqlval['quantity'] = $val['quantity'];
+            $objQuery->insert("dtb_shipment_item", $sqlval);
         }
     }
Index: /branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_DeliveryAddr.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_DeliveryAddr.php	(revision 19860)
+++ /branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_DeliveryAddr.php	(revision 19862)
@@ -138,6 +138,8 @@
                     }
                 } else {
-                    
-                    if ($_POST['ParentPage'] == MYPAGE_DELIVADDR_URL_PATH || $_POST['ParentPage'] == DELIV_URL_PATH) {
+                    $validUrl = array(MYPAGE_DELIVADDR_URL_PATH,
+                                      DELIV_URL_PATH,
+                                      MULTIPLE_URL_PATH);
+                    if (in_array($_POST['ParentPage'], $validUrl)) {
                         $this->tpl_onload = "fnUpdateParent('". $this->getLocation($_POST['ParentPage']) ."'); window.close();";
                     } else {
Index: /branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php	(revision 19860)
+++ /branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php	(revision 19862)
@@ -68,24 +68,112 @@
         $objSiteSess = new SC_SiteSession();
         $objCartSess = new SC_CartSession();
-        $this->objCustomer = new SC_Customer();
-
-        $this->addrs = $this->getDelivAddrs();
-        $this->cartKey = $_SESSION['cartKey'];
-        $cartLists =& $objCartSess->getCartList($this->cartKey);
+        $objPurchase = new SC_Helper_Purchase_Ex();
+        $objCustomer = new SC_Customer();
+        $objQuery = SC_Query::getSingletonInstance();
+        $this->objFormParam = new SC_FormParam();
+
+        $this->addrs = $this->getDelivAddrs($objCustomer);
+        $this->items = $this->splitItems($objCartSess);
+
+        $this->lfInitParam($this->items);
+        $this->objFormParam->setParam($_POST);
+
+        $uniqid = $objSiteSess->getUniqId();
+        $objPurchase->verifyChangeCart($uniqid, $objCartSess);
+
+        $this->tpl_uniqid = $uniqid;
+
+        $this->cartKey = $objCartSess->getKey();
+        if ($_SERVER["REQUEST_METHOD"] == "POST") {
+            if (!SC_Helper_Session_Ex::isValidToken()) {
+                SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true);
+            }
+        }
+
+        if (!isset($_POST['mode'])) $_POST['mode'] = "";
+
+        switch ($_POST['mode']) {
+            case 'delete':
+                // TODO
+                break;
+
+            case 'confirm':
+                $this->arrErr = $this->lfCheckError($this->objFormParam);
+                if (SC_Utils_Ex::isBlank($this->arrErr)) {
+                    // TODO リファクタリング
+                    $params = $this->objFormParam->getHashArray();
+                    $i = 0;
+                    while ($params['cart_no' . $i] != null) {
+                        $other_deliv_id = $params['shipping' . $i];
+                        if ($other_deliv_id != 0) {
+                            $otherDeliv = $objQuery->select("*", "dtb_other_deliv",
+                                                            "other_deliv_id = ?",
+                                                            array($other_deliv_id));
+                            foreach ($otherDeliv[0] as $key => $val) {
+                                $sqlval[$other_deliv_id]['shipping_' . $key] = $val;
+                            }
+                        } else {
+                            $objPurchase->copyFromCustomer($sqlval[0], $objCustomer,
+                                                           "shipping");
+                        }
+                        $sqlval[$other_deliv_id]['deliv_id'] = $objPurchase->getDeliv($this->cartKey);
+                        $sqlval[$other_deliv_id]['shipment_item'][$params['product_class_id' . $i]]['shipping_id'] = $other_deliv_id;
+                        $sqlval[$other_deliv_id]['shipment_item'][$params['product_class_id' . $i]]['quantity'] += $params['quantity' . $i];
+                        $sqlval[$other_deliv_id]['shipment_item'][$params['product_class_id' . $i]]['product_class_id'] = $params['product_class_id' . $i];
+                        $i++;
+                    }
+
+                    foreach ($sqlval as $key => $val) {
+                        $objPurchase->saveShippingTemp($val, $key);
+                    }
+
+                    // FIXME
+                    $objPurchase->saveOrderTemp($uniqid, $sqlval[0], $objCustomer);
+                    $objSiteSess->setRegistFlag();
+                    SC_Response_Ex::sendRedirect("payment.php");
+                    exit;
+                }
+                break;
+
+        default:
+        }
+
+        $this->arrForm = $this->objFormParam->getFormParamList();
+        $this->transactionid = SC_Helper_Session_Ex::getToken();
+    }
+
+    /**
+     * デストラクタ.
+     *
+     * @return void
+     */
+    function destroy() {
+        parent::destroy();
+    }
+
+    /**
+     * フォームを初期化する.
+     */
+    function lfInitParam($items) {
+        for ($i = 0; $i < count($items); $i++) {
+            $this->objFormParam->addParam("商品規格ID", "product_class_id" . $i, INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+            $this->objFormParam->addParam("数量", "quantity" . $i, INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"), 1);
+            $this->objFormParam->addParam("配送先住所", "shipping" . $i, INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+            $this->objFormParam->addParam("カート番号", "cart_no" . $i, INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+        }
+    }
+
+
+    /**
+     * カートの商品を数量ごとに分割する
+     */
+    function splitItems(&$objCartSess) {
+        $cartLists =& $objCartSess->getCartList($objCartSess->getKey());
         foreach (array_keys($cartLists) as $key) {
             for ($i = 0; $i < $cartLists[$key]['quantity']; $i++) {
-                $this->items[] =& $cartLists[$key]['productsClass'];
+                $items[] =& $cartLists[$key]['productsClass'];
             }
         }
-
-    }
-
-    /**
-     * デストラクタ.
-     *
-     * @return void
-     */
-    function destroy() {
-        parent::destroy();
+        return $items;
     }
 
@@ -96,7 +184,7 @@
      * 非会員の場合は, 「お届け先の指定」画面で入力した住所を取得する.
      */
-    function getDelivAddrs() {
-        if ($this->objCustomer->isLoginSuccess()) {
-            $addrs = $this->objCustomer->getCustomerAddress($_SESSION['customer']['customer_id']);
+    function getDelivAddrs(&$objCustomer) {
+        if ($objCustomer->isLoginSuccess()) {
+            $addrs = $objCustomer->getCustomerAddress($_SESSION['customer']['customer_id']);
         } else {
             // TODO
@@ -111,4 +199,9 @@
         return $results;
     }
+
+    function lfCheckError(&$objFormParam) {
+        $objFormParam->convParam();
+        return $objFormParam->checkError();
+    }
 }
 ?>
Index: /branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php	(revision 19861)
+++ /branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php	(revision 19862)
@@ -80,4 +80,5 @@
         $objDb = new SC_Helper_DB_Ex();
         $objPurchase = new SC_Helper_Purchase_Ex();
+        $objQuery = SC_Query::getSingletonInstance();;
         // クッキー管理クラス
         $objCookie = new SC_Cookie(COOKIE_EXPIRE);
@@ -97,5 +98,7 @@
 
         // ユーザユニークIDの取得と購入状態の正当性をチェック
-        $uniqid = SC_Utils_Ex::sfCheckNormalAccess($objSiteSess, $objCartSess);
+        $uniqid = $objSiteSess->getUniqId();
+        $objPurchase->verifyChangeCart($uniqid, $objCartSess);
+
         $this->tpl_uniqid = $uniqid;
 
@@ -128,5 +131,5 @@
             if(!$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'])) {
                 // 仮登録の判定
-                $objQuery = new SC_Query;
+
                 $where = "email = ? AND status = 1 AND del_flg = 0";
                 $ret = $objQuery->count("dtb_customer", $where, array($arrForm['login_email']));
@@ -141,5 +144,8 @@
             if($this->cartKey == PRODUCT_TYPE_DOWNLOAD){
                 // 会員情報の住所を受注一時テーブルに書き込む
-                $objDb->sfRegistDelivData($uniqid, $objCustomer);
+                $objPurchase->copyFromCustomer($sqlval, $objCustomer, 'shipping');
+                $sqlval['deliv_id'] = $objPurchase->getDeliv($this->cartKey);
+                $objPurchase->saveShippingTemp($sqlval);
+                $objPurchase->saveOrderTemp($uniqid, $sqlval, $objCustomer);
                 // 正常に登録されたことを記録しておく
                 $objSiteSess->setRegistFlag();
@@ -152,5 +158,4 @@
         case 'delete':
             if (SC_Utils_Ex::sfIsInt($_POST['other_deliv_id'])) {
-                $objQuery = new SC_Query();
                 $where = "other_deliv_id = ?";
                 $arrRet = $objQuery->delete("dtb_other_deliv", $where, array($_POST['other_deliv_id']));
@@ -168,14 +173,13 @@
                 $objPurchase->saveShippingTemp($sqlval);
                 $objPurchase->saveOrderTemp($uniqid, $sqlval, $objCustomer);
-                //$this->lfRegistDelivData($uniqid, $objCustomer);
+
                 // 正常に登録されたことを記録しておく
                 $objSiteSess->setRegistFlag();
                 // お支払い方法選択ページへ移動
-                $this->objDisplay->redirect($this->getLocation(SHOPPING_PAYMENT_URL_PATH, array(), true));
+                SC_Response_Ex::sendRedirect(SHOPPING_PAYMENT_URL_PATH);
                 exit;
             // 別のお届け先がチェックされている場合
             } elseif($_POST['deliv_check'] >= 1) {
                 if (SC_Utils_Ex::sfIsInt($_POST['deliv_check'])) {
-                    $objQuery = new SC_Query();
                     $deliv_count = $objQuery->count("dtb_other_deliv","customer_id=? and other_deliv_id = ?" ,array($objCustomer->getValue('customer_id'), $_POST['deliv_check']));
                     if ($deliv_count != 1) {
@@ -183,10 +187,16 @@
                     }
 
-                    // 登録済みの別のお届け先を受注一時テーブルに書き込む
-                    $this->lfRegistOtherDelivData($uniqid, $objCustomer, $_POST['deliv_check']);
+                    $otherDeliv = $objQuery->select("*", "dtb_other_deliv",
+                                                    "other_deliv_id = ?",
+                                                    array($other_deliv_id));
+                    $sqlval = $otherDeliv[0];
+                    $sqlval['deliv_id'] = $objPurchase->getDeliv($this->cartKey);
+                    $objPurchase->saveShippingTemp($sqlval, $other_deliv_id);
+                    $objPurchase->saveOrderTemp($uniqid, $sqlval, $objCustomer);
+
                     // 正常に登録されたことを記録しておく
                     $objSiteSess->setRegistFlag();
                     // お支払い方法選択ページへ移動
-                    $this->objDisplay->redirect($this->getLocation(SHOPPING_PAYMENT_URL_PATH, array(), true));
+                    SC_Response_Ex::sendRedirect(SHOPPING_PAYMENT_URL_PATH);
                     exit;
                 }
@@ -199,19 +209,17 @@
         case 'return':
             // 確認ページへ移動
-            $this->objDisplay->redirect($this->getLocation(CART_URL_PATH, array(), true));
+            SC_Response_Ex::sendRedirect(CART_URL_PATH);
             exit;
             break;
         // お届け先複数指定
         case 'multiple':
-            $this->objDisplay->redirect($this->getLocation('./multiple.php', array(), true));
+            SC_Response_Ex::sendRedirect('multiple.php');
             exit;
             break;
 
         default:
-            $objQuery = new SC_Query();
-            $where = "order_temp_id = ?";
-            $arrRet = $objQuery->select("*", "dtb_order_temp", $where, array($uniqid));
-            if (empty($arrRet)) $arrRet = array("");
-            $this->objFormParam->setParam($arrRet[0]);
+            $arrOrderTemp = $objPurchase->getOrderTemp($uniqid);
+            if (empty($arrOrderTemp)) $arrOrderTemp = array("");
+            $this->objFormParam->setParam($arrOrderTemp);
             break;
         }
@@ -480,98 +488,4 @@
     }
 
-    /* 会員情報の住所を一時受注テーブルへ */
-    function lfRegistDelivData($uniqid, $objCustomer) {
-        // 登録データの作成
-        $sqlval['order_temp_id'] = $uniqid;
-        $sqlval['update_date'] = 'Now()';
-        $sqlval['customer_id'] = $objCustomer->getValue('customer_id');
-        $sqlval['order_name01'] = $objCustomer->getValue('name01');
-        $sqlval['order_name02'] = $objCustomer->getValue('name02');
-        $sqlval['order_kana01'] = $objCustomer->getValue('kana01');
-        $sqlval['order_kana02'] = $objCustomer->getValue('kana02');
-        $sqlval['order_zip01'] = $objCustomer->getValue('zip01');
-        $sqlval['order_zip02'] = $objCustomer->getValue('zip02');
-        $sqlval['order_pref'] = $objCustomer->getValue('pref');
-        $sqlval['order_addr01'] = $objCustomer->getValue('addr01');
-        $sqlval['order_addr02'] = $objCustomer->getValue('addr02');
-        $sqlval['order_tel01'] = $objCustomer->getValue('tel01');
-        $sqlval['order_tel02'] = $objCustomer->getValue('tel02');
-        $sqlval['order_tel03'] = $objCustomer->getValue('tel03');
-        $sqlval['order_fax01'] = $objCustomer->getValue('fax01');
-        $sqlval['order_fax02'] = $objCustomer->getValue('fax02');
-        $sqlval['order_fax03'] = $objCustomer->getValue('fax03');
-        $sqlval['order_birth'] = $objCustomer->getValue('birth');
-        $sqlval['order_email'] = $objCustomer->getValue('email');
-        /*
-        $sqlval['deliv_check'] = '-1';
-        $sqlval['deliv_name01'] = $objCustomer->getValue('name01');
-        $sqlval['deliv_name02'] = $objCustomer->getValue('name02');
-        $sqlval['deliv_kana01'] = $objCustomer->getValue('kana01');
-        $sqlval['deliv_kana02'] = $objCustomer->getValue('kana02');
-        $sqlval['deliv_zip01'] = $objCustomer->getValue('zip01');
-        $sqlval['deliv_zip02'] = $objCustomer->getValue('zip02');
-        $sqlval['deliv_pref'] = $objCustomer->getValue('pref');
-        $sqlval['deliv_addr01'] = $objCustomer->getValue('addr01');
-        $sqlval['deliv_addr02'] = $objCustomer->getValue('addr02');
-        $sqlval['deliv_tel01'] = $objCustomer->getValue('tel01');
-        $sqlval['deliv_tel02'] = $objCustomer->getValue('tel02');
-        $sqlval['deliv_tel03'] = $objCustomer->getValue('tel03');
-        $sqlval['deliv_fax01'] = $objCustomer->getValue('fax01');
-        $sqlval['deliv_fax02'] = $objCustomer->getValue('fax02');
-        $sqlval['deliv_fax03'] = $objCustomer->getValue('fax03');
-        */
-        $objDb = new SC_Helper_DB_Ex();
-        $objDb->sfRegistTempOrder($uniqid, $sqlval);
-    }
-
-    /* 別のお届け先住所を一時受注テーブルへ */
-    function lfRegistOtherDelivData($uniqid, $objCustomer, $other_deliv_id) {
-        // 登録データの作成
-        $sqlval['order_temp_id'] = $uniqid;
-        $sqlval['update_date'] = 'Now()';
-        $sqlval['customer_id'] = $objCustomer->getValue('customer_id');
-
-        $sqlval['order_name01'] = $objCustomer->getValue('name01');
-        $sqlval['order_name02'] = $objCustomer->getValue('name02');
-        $sqlval['order_kana01'] = $objCustomer->getValue('kana01');
-        $sqlval['order_kana02'] = $objCustomer->getValue('kana02');
-        $sqlval['order_zip01'] = $objCustomer->getValue('zip01');
-        $sqlval['order_zip02'] = $objCustomer->getValue('zip02');
-        $sqlval['order_pref'] = $objCustomer->getValue('pref');
-        $sqlval['order_addr01'] = $objCustomer->getValue('addr01');
-        $sqlval['order_addr02'] = $objCustomer->getValue('addr02');
-        $sqlval['order_tel01'] = $objCustomer->getValue('tel01');
-        $sqlval['order_tel02'] = $objCustomer->getValue('tel02');
-        $sqlval['order_tel03'] = $objCustomer->getValue('tel03');
-        $sqlval['order_fax01'] = $objCustomer->getValue('fax01');
-        $sqlval['order_fax02'] = $objCustomer->getValue('fax02');
-        $sqlval['order_fax03'] = $objCustomer->getValue('fax03');
-        $sqlval['order_birth'] = $objCustomer->getValue('birth');
-        $sqlval['order_email'] = $objCustomer->getValue('email');
-
-
-        $objQuery = new SC_Query();
-        $where = "other_deliv_id = ?";
-        $arrRet = $objQuery->select("*", "dtb_other_deliv", $where, array($other_deliv_id));
-        $_SESSION['shipping'] = $arrRet;
-        /*
-        $sqlval['deliv_check'] = $other_deliv_id;
-        $sqlval['deliv_name01'] = $arrRet[0]['name01'];
-        $sqlval['deliv_name02'] = $arrRet[0]['name02'];
-        $sqlval['deliv_kana01'] = $arrRet[0]['kana01'];
-        $sqlval['deliv_kana02'] = $arrRet[0]['kana02'];
-        $sqlval['deliv_zip01'] = $arrRet[0]['zip01'];
-        $sqlval['deliv_zip02'] = $arrRet[0]['zip02'];
-        $sqlval['deliv_pref'] = $arrRet[0]['pref'];
-        $sqlval['deliv_addr01'] = $arrRet[0]['addr01'];
-        $sqlval['deliv_addr02'] = $arrRet[0]['addr02'];
-        $sqlval['deliv_tel01'] = $arrRet[0]['tel01'];
-        $sqlval['deliv_tel02'] = $arrRet[0]['tel02'];
-        $sqlval['deliv_tel03'] = $arrRet[0]['tel03'];
-        */
-        $objDb = new SC_Helper_DB_Ex();
-        $objDb->sfRegistTempOrder($uniqid, $sqlval);
-    }
-
     /* 入力内容のチェック */
     function lfCheckError() {
Index: /branches/version-2_5-dev/data/Smarty/templates/default/shopping/multiple.tpl
===================================================================
--- /branches/version-2_5-dev/data/Smarty/templates/default/shopping/multiple.tpl	(revision 19860)
+++ /branches/version-2_5-dev/data/Smarty/templates/default/shopping/multiple.tpl	(revision 19862)
@@ -48,5 +48,8 @@
             </p>
         <!--{/if}-->
-
+        <form name="form1" id="form1" method="post" action="?">
+            <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
+            <input type="hidden" name="uniqid" value="<!--{$tpl_uniqid}-->" />
+            <input type="hidden" name="mode" value="confirm" />
             <table summary="商品情報">
                 <tr>
@@ -57,7 +60,11 @@
                     <th>お届け先</th>
                 </tr>
-                <!--{foreach from=$items item=item }-->
+                <!--{foreach from=$items item=item name=cartItem}-->
+                    <!--{assign var=index value=$smarty.foreach.cartItem.index}-->
                     <tr style="<!--{if $item.error}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->">
-                        <td><a href="?" onclick="fnFormModeSubmit('form<!--{$key}-->', 'delete', 'cart_no', '<!--{$item.cart_no}-->'); return false;">削除</a>
+                        <td>
+                          <a href="?" onclick="fnFormModeSubmit('form<!--{$key}-->', 'delete', 'cart_no', '<!--{$smarty.foreach.cartItem.index}-->'); return false;">削除</a>
+                          <input type="hidden" name="cart_no<!--{$index}-->" value="<!--{$index}-->" />
+                          <input type="hidden" name="product_class_id<!--{$index}-->" value="<!--{$item.product_class_id}-->" />
                         </td>
                         <td class="phototd">
@@ -80,12 +87,17 @@
                             <!--{$item.price02|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->円
                         </td>
-                        <td><input type="text" name="quantity" value="1" size="4" /></td>
-                        <td><select name="shipping"><!--{html_options options=$addrs}--></select></td>
+                        <td>
+                          <!--{assign var=key value="quantity`$index`"}-->
+                          <input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value}-->" size="4" />
+                        </td>
+                        <td>
+                          <!--{assign var=key value="shipping`$index`"}-->
+                          <select name="<!--{$key}-->"><!--{html_options options=$addrs selected=$arrForm[$key].value}--></select>
+                        </td>
                      </tr>
                   <!--{/foreach}-->
             </table>
-
             <div class="tblareabtn">
-                <a href="<!--{$smarty.const.URL_CART_TOP}-->" onmouseover="chgImgImageSubmit('<!--{$TPL_DIR}-->img/button/btn_back_on.gif',back03)" onmouseout="chgImgImageSubmit('<!--{$TPL_DIR}-->img/button/btn_back.gif',back03)">
+                <a href="<!--{$smarty.const.CART_URL_PATH}-->" onmouseover="chgImgImageSubmit('<!--{$TPL_DIR}-->img/button/btn_back_on.gif',back03)" onmouseout="chgImgImageSubmit('<!--{$TPL_DIR}-->img/button/btn_back.gif',back03)">
                     <img src="<!--{$TPL_DIR}-->img/button/btn_back.gif" width="150" height="30" alt="戻る" border="0" name="back03" id="back03" /></a>
                 <input type="image" onmouseover="chgImgImageSubmit('<!--{$TPL_DIR}-->img/button/btn_address_select_on.gif',this)" onmouseout="chgImgImageSubmit('<!--{$TPL_DIR}-->img/button/btn_address_select.gif',this)" src="<!--{$TPL_DIR}-->img/button/btn_address_select.gif" alt="選択したお届け先に送る" class="box190" name="send_button" id="send_button" />
Index: /branches/version-2_5-dev/data/mtb_constants_init.php
===================================================================
--- /branches/version-2_5-dev/data/mtb_constants_init.php	(revision 19833)
+++ /branches/version-2_5-dev/data/mtb_constants_init.php	(revision 19862)
@@ -337,4 +337,6 @@
 /** お届け先設定 */
 define('DELIV_URL_PATH', URL_PATH . "shopping/deliv.php");
+/** 複数お届け先設定 */
+define('MULTIPLE_URL_PATH', URL_PATH . "shopping/multiple.php");
 /** Myページトップ */
 define('URL_MYPAGE_TOP', HTTPS_URL . "mypage/login.php");
