Index: branches/version-2_5-dev/data/class/util/SC_Utils.php
===================================================================
--- branches/version-2_5-dev/data/class/util/SC_Utils.php	(revision 19895)
+++ branches/version-2_5-dev/data/class/util/SC_Utils.php	(revision 19912)
@@ -301,54 +301,4 @@
     }
 
-    /**
-     * 前のページで正しく登録が行われたか判定
-     *
-     * @deprecated SC_SiteSession::isPrePage() を使用して下さい
-     */
-    function sfIsPrePage(&$objSiteSess) {
-        $ret = $objSiteSess->isPrePage();
-        if($ret != true) {
-            // エラーページの表示
-            SC_Utils::sfDispSiteError(PAGE_ERROR, $objSiteSess);
-        }
-    }
-
-    /**
-     * @deprecated SC_Helper_Purchase::verifyChangeCart() を使用して下さい.
-     */
-    function sfCheckNormalAccess(&$objSiteSess, &$objCartSess) {
-        // ユーザユニークIDの取得
-        $uniqid = $objSiteSess->getUniqId();
-
-        $cartkeys = $objCartSess->getKeys();
-
-        foreach ($cartKeys as $cartKey) {
-            // 購入ボタンを押した時のカート内容がコピーされていない場合のみコピーする。
-            $objCartSess->saveCurrentCart($uniqid, $cartKey);
-            // POSTのユニークIDとセッションのユニークIDを比較(ユニークIDがPOSTされていない場合はスルー)
-            $ret = $objSiteSess->checkUniqId();
-            if($ret != true) {
-                // エラーページの表示
-                SC_Utils_Ex::sfDispSiteError(CANCEL_PURCHASE, $objSiteSess);
-            }
-
-            // カート内が空でないか || 購入ボタンを押してから変化がないか
-            $quantity = $objCartSess->getTotalQuantity($cartKey);
-            $ret = $objCartSess->checkChangeCart($cartKey);
-            if($ret == true || !($quantity > 0)) {
-                // カート情報表示に強制移動する
-                // FIXME false を返して, Page クラスで遷移させるべき...
-                if (defined("MOBILE_SITE")) {
-                    header("Location: ". MOBILE_CART_URL_PATH
-                           . "?" . session_name() . "=" . session_id());
-                } else {
-                    header("Location: ".CART_URL_PATH);
-                }
-                exit;
-            }
-        }
-        return $uniqid;
-    }
-
     /* DB用日付文字列取得 */
     function sfGetTimestamp($year, $month, $day, $last = false) {
Index: branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_History.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_History.php	(revision 19888)
+++ branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_History.php	(revision 19912)
@@ -220,6 +220,8 @@
         $objQuery =& SC_Query::getSingletonInstance();
         $objProduct = new SC_Product();
+        $objQuery->setOrder('shipping_id');
         $arrRet = $objQuery->select("*", "dtb_shipping", "order_id = ?", array($orderId));
         foreach (array_keys($arrRet) as $key) {
+            $objQuery->setOrder('shipping_id');
             $arrItems = $objQuery->select("*", "dtb_shipment_item", "order_id = ? AND shipping_id = ?",
                                        array($orderId, $arrRet[$key]['shipping_id']));
Index: branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Refusal.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Refusal.php	(revision 19881)
+++ branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Refusal.php	(revision 19912)
@@ -137,10 +137,7 @@
     // 正しい遷移かどうかをチェック
     function lfIsValidMovement(&$objSiteSess) {
-        // 確認ページからの遷移かどうかをチェック
-        SC_Utils_Ex::sfIsPrePage($objSiteSess);
-
         // uniqid がPOSTされているかをチェック
         $uniqid = $objSiteSess->getUniqId();
-        if ( !empty($_POST['uniqid']) && ($_POST['uniqid'] === $uniqid) ) {
+        if ($objSiteSess->isPrePage() || !empty($_POST['uniqid']) && ($_POST['uniqid'] === $uniqid) ) {
             return;
         } else {
Index: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping.php	(revision 19890)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping.php	(revision 19912)
@@ -337,5 +337,4 @@
         $sqlval['update_date'] = 'Now()';
         $sqlval['customer_id'] = '0';
-        $sqlval['deliv_id'] = $objPurchase->getDeliv($productTypeId);
 
         // お届け先を指定しない場合、
@@ -345,10 +344,12 @@
         }
 
+        $deliv_id = $objPurchase->getDeliv($productTypeId);
+        $order_val = array('deliv_id' => $deliv_id);
+        $shipping_val = array('deliv_id' => $deliv_id);
+
         /*
          * order_* と shipping_* をそれぞれ $_SESSION['shipping'][$shipping_id]
          * に, shipping_* というキーで保存
          */
-        $order_val = array();
-        $shipping_val = array();
         foreach ($sqlval as $key => $val) {
             if (preg_match('/^order_/', $key)) {
@@ -358,4 +359,5 @@
             }
         }
+
         if ($isMultiple) {
             $objPurchase->saveShippingTemp($order_val, 0);
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 19891)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php	(revision 19912)
@@ -173,4 +173,5 @@
                 // 会員情報の住所を受注一時テーブルに書き込む
                 $objPurchase->copyFromCustomer($sqlval, $objCustomer, 'shipping');
+                // FIXME ダウンロード商品の場合は配送無し
                 $sqlval['deliv_id'] = $objPurchase->getDeliv($this->cartKey);
                 $objPurchase->saveShippingTemp($sqlval);
Index: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_LoadPaymentModule.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_LoadPaymentModule.php	(revision 19805)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_LoadPaymentModule.php	(revision 19912)
@@ -54,10 +54,16 @@
         $objSiteSess = new SC_SiteSession();
         $objCartSess = new SC_CartSession();
-        SC_Utils::sfIsPrePage($objSiteSess);
-        SC_Utils::sfCheckNormalAccess($objSiteSess, $objCartSess);
+        $objPurchase = new SC_Helper_Purchase_Ex();
+
+        if (!$objSiteSess->isPrePage()) {
+            SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, $objSiteSess);
+        }
+
+        $uniqid = $objSiteSess->getUniqId();
+        $objPurchase->verifyChangeCart($uniqid, $objCartSess);
 
         $payment_id = $this->getPaymentId();
         if ($payment_id === false) {
-            SC_Utils::sfDispSiteError(PAGE_ERROR, "", true);
+            SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true);
             return;
         }
@@ -65,5 +71,5 @@
         $module_path = $this->getModulePath($payment_id);
         if ($module_path === false) {
-            SC_Utils::sfDispSiteError(FREE_ERROR_MSG, "", true,
+            SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, "", true,
                                       "モジュールファイルの取得に失敗しました。<br />この手続きは無効となりました。");
             return;
Index: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php	(revision 19907)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php	(revision 19912)
@@ -80,5 +80,7 @@
 
         // 前のページで正しく登録手続きが行われた記録があるか判定
-        SC_Utils_Ex::sfIsPrePage($objSiteSess);
+        if (!$objSiteSess->isPrePage()) {
+            SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, $objSiteSess);
+        }
 
         // ユーザユニークIDの取得と購入状態の正当性をチェック
Index: branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer_SearchCustomer.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer_SearchCustomer.php	(revision 19805)
+++ branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer_SearchCustomer.php	(revision 19912)
@@ -163,4 +163,5 @@
         }
         $this->arrForm = $arrForm;
+        $this->setTemplate($this->tpl_mainpage);
     }
 
Index: branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php	(revision 19805)
+++ branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php	(revision 19912)
@@ -25,25 +25,4 @@
 require_once(CLASS_REALDIR . "pages/admin/LC_Page_Admin.php");
 
-/* GMO決済モジュール連携用 */
-if (file_exists(MODULE_REALDIR . 'mdl_gmopg/inc/include.php') === TRUE) {
-    require_once(MODULE_REALDIR . 'mdl_gmopg/inc/include.php');
-}
-
-/* ペイジェント決済モジュール連携用 */
-if (file_exists(MODULE_REALDIR . 'mdl_paygent/include.php') === TRUE) {
-  require_once(MODULE_REALDIR . 'mdl_paygent/include.php');
-}
-
-/* F-REGI決済モジュール連携用 */
-if (file_exists(MODULE_REALDIR. 'mdl_fregi/LC_Page_Mdl_Fregi_Config.php') === TRUE) {
-    require_once(MODULE_REALDIR. 'mdl_fregi/LC_Page_Mdl_Fregi_Config.php');
-}
-
-/* SPS決済モジュール連携用 */
-if (file_exists(MODULE_REALDIR . 'mdl_sps/request.php') === TRUE) {
-    require_once(MODULE_REALDIR . 'mdl_sps/request.php');
-}
-
-
 /**
  * 受注修正 のページクラス.
@@ -85,16 +64,4 @@
         $this->arrORDERSTATUS = $masterData->getMasterData("mtb_order_status");
 
-        /* ペイジェント決済モジュール連携用 */
-        if(function_exists("sfPaygentOrderPage")) {
-            $this->arrDispKind = sfPaygentOrderPage();
-        }
-
-        /* F-REGI決済モジュール連携用 */
-        if (file_exists(MODULE_REALDIR. 'mdl_fregi/LC_Page_Mdl_Fregi_Config.php') === TRUE) {
-            global $arrFregiPayment;
-            $this->arrFregiPayment = $arrFregiPayment;
-            global $arrFregiDispKind;
-            $this->arrFregiDispKind = $arrFregiDispKind;
-        }
         $this->httpCacheControl('nocache');
     }
@@ -194,8 +161,5 @@
             $this->arrErr = $this->lfCheckError();
             break;
-        /* ペイジェント決済モジュール連携用 */
-        case 'paygent_order':
-            $this->paygent_return = sfPaygentOrder($_POST['paygent_type'], $order_id);
-            break;
+
         /* 商品削除*/
         case 'delete_product':
@@ -250,39 +214,5 @@
 
             break;
-        /* F-REGI決済モジュール連携用 */
-        case 'fregi_status':
-            $objFregiConfig = new LC_Page_Mdl_Fregi_Config();
-            $this->fregi_err = $objFregiConfig->getSaleInfo($order_id, $this->arrDisp);
-            $this->lfGetOrderData($order_id);
-            break;
-        case 'fregi_card':
-            $objFregiConfig = new LC_Page_Mdl_Fregi_Config();
-            $this->fregi_card_err = $objFregiConfig->setCardInfo($_POST['card_status'], $order_id, $this->arrDisp);
-            $this->lfGetOrderData($order_id);
-            break;
-        /* SPS決済モジュール連携用 */
-        case 'sps_request':
-            $objErr = new SC_CheckError($_POST);
-            $objErr->doFunc(array("年","sps_year"), array('EXIST_CHECK'));
-            $objErr->doFunc(array("月","sps_month"), array('EXIST_CHECK'));
-            $objErr->doFunc(array("日","sps_date"), array('EXIST_CHECK'));
-            $objErr->doFunc(array("売上・返金日", "sps_year", "sps_month", "sps_date"), array("CHECK_DATE"));
-            if ($objErr->arrErr) {
-                $this->arrErr = $objErr->arrErr;
-                break;
-            }
-            $sps_return = sfSpsRequest( $order_id, $_POST['request_type'] );
-            // DBから受注情報を再読込
-            $this->lfGetOrderData($order_id);
-            $this->tpl_onload = "window.alert('".$sps_return."');";
-            break;
-
-        /* GMOPG連携用 */
-        case 'gmopg_order_edit':
-            require_once(MODULE_REALDIR . 'mdl_gmopg/class/LC_Mdl_GMOPG_OrderEdit.php');
-            $objGMOOrderEdit = new LC_MDL_GMOPG_OrderEdit;
-            $this->gmopg_order_edit_result = $objGMOOrderEdit->proccess();
-            $this->lfGetOrderData($order_id);
-            break;
+
         default:
             break;
@@ -308,17 +238,4 @@
         $objSiteInfo = new SC_SiteInfo();
         $this->arrInfo = $objSiteInfo->data;
-
-        /**
-         * SPS決済 クレジット判定用処理
-         */
-        if (file_exists(MODULE_REALDIR . 'mdl_sps/request.php') === TRUE) {
-            $objQuery = new SC_Query();
-            $this->paymentType = $objQuery->getAll("SELECT module_code, memo03 FROM dtb_payment WHERE payment_id = ? ", array($this->arrForm["payment_id"]['value']));
-            $objDate = new SC_Date();
-            $objDate->setStartYear(RELEASE_YEAR);
-            $this->arrYear = $objDate->getYear();
-            $this->arrMonth = $objDate->getMonth();
-            $this->arrDay = $objDate->getDay();
-        }
 
         // 表示モード判定
@@ -357,19 +274,4 @@
         $this->objFormParam->addParam("電話番号3", "order_tel03", TEL_ITEM_LEN, "n", array("MAX_LENGTH_CHECK" ,"NUM_CHECK"));
 
-        // お届け先情報
-        $this->objFormParam->addParam("お名前1", "deliv_name01", STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
-        $this->objFormParam->addParam("お名前2", "deliv_name02", STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
-        $this->objFormParam->addParam("お名前(フリガナ・姓)", "deliv_kana01", STEXT_LEN, "KVCa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
-        $this->objFormParam->addParam("お名前(フリガナ・名)", "deliv_kana02", STEXT_LEN, "KVCa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
-        $this->objFormParam->addParam("郵便番号1", "deliv_zip01", ZIP01_LEN, "n", array("NUM_CHECK", "NUM_COUNT_CHECK"));
-        $this->objFormParam->addParam("郵便番号2", "deliv_zip02", ZIP02_LEN, "n", array("NUM_CHECK", "NUM_COUNT_CHECK"));
-        $this->objFormParam->addParam("都道府県", "deliv_pref", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
-        $this->objFormParam->addParam("住所1", "deliv_addr01", MTEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
-        $this->objFormParam->addParam("住所2", "deliv_addr02", MTEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
-        $this->objFormParam->addParam("電話番号1", "deliv_tel01", TEL_ITEM_LEN, "n", array("MAX_LENGTH_CHECK" ,"NUM_CHECK"));
-        $this->objFormParam->addParam("電話番号2", "deliv_tel02", TEL_ITEM_LEN, "n", array("MAX_LENGTH_CHECK" ,"NUM_CHECK"));
-        $this->objFormParam->addParam("電話番号3", "deliv_tel03", TEL_ITEM_LEN, "n", array("MAX_LENGTH_CHECK" ,"NUM_CHECK"));
-
-
         // 受注商品情報
         $this->objFormParam->addParam("値引き", "discount", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"), '0');
@@ -383,9 +285,7 @@
 
         $this->objFormParam->addParam("お支払い方法", "payment_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
-        $this->objFormParam->addParam("お届け時間ID", "deliv_time_id", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
         $this->objFormParam->addParam("対応状況", "status", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
-        $this->objFormParam->addParam("お届け日", "deliv_date", STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
         $this->objFormParam->addParam("お支払方法名称", "payment_method");
-        $this->objFormParam->addParam("お届け時間", "deliv_time");
+
 
         // 受注詳細情報
@@ -436,4 +336,13 @@
             $this->objFormParam->setParam($arrRet);
 
+            $this->arrShipping = $this->lfGetShippingData($order_id);
+            $this->lfInitShippingParam($this->arrShipping);
+            foreach ($this->arrShipping as $shipping) {
+                foreach ($shipping as $shippingKey => $shippingVal) {
+                    $this->arrForm[$shippingKey . $shipping['shipping_id']] = $shippingVal;
+                    $this->objFormParam->setValue($shippingKey . $shipping['shipping_id'], $shippingVal);
+                }
+            }
+
             // その他支払い情報を表示
             if($this->arrForm["memo02"] != "") $this->arrForm["payment_info"] = unserialize($this->arrForm["memo02"]);
@@ -457,4 +366,51 @@
         $arrRet = $objQuery->select($col, "dtb_order_detail", $where, array($order_id));
         return $arrRet;
+    }
+
+    /**
+     * 配送情報の取得.
+     * TODO リファクタリング
+     */
+    function lfGetShippingData($orderId) {
+        $objQuery =& SC_Query::getSingletonInstance();
+        $objProduct = new SC_Product();
+        $objQuery->setOrder('shipping_id');
+        $arrRet = $objQuery->select("*", "dtb_shipping", "order_id = ?", array($orderId));
+        foreach (array_keys($arrRet) as $key) {
+            $objQuery->setOrder('shipping_id');
+            $arrItems = $objQuery->select("*", "dtb_shipment_item", "order_id = ? AND shipping_id = ?",
+                                       array($orderId, $arrRet[$key]['shipping_id']));
+            foreach ($arrItems as $itemKey => $arrDetail) {
+                foreach ($arrDetail as $detailKey => $detailVal) {
+                    $arrRet[$key]['shipment_item'][$arrDetail['product_class_id']][$detailKey] = $detailVal;
+                }
+
+                $arrRet[$key]['shipment_item'][$arrDetail['product_class_id']]['productsClass'] =& $objProduct->getDetailAndProductsClass($arrDetail['product_class_id']);
+            }
+        }
+        return $arrRet;
+    }
+
+    /**
+     * お届け先用フォームの初期化
+     */
+    function lfInitShippingParam(&$arrShipping) {
+        foreach ($arrShipping as $shipping) {
+            $this->objFormParam->addParam("お名前1", "shipping_name01" . $shipping['shipping_id'], STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
+            $this->objFormParam->addParam("お名前2", "shipping_name02" . $shipping['shipping_id'], STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
+            $this->objFormParam->addParam("お名前(フリガナ・姓)", "shipping_kana01" . $shipping['shipping_id'], STEXT_LEN, "KVCa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
+            $this->objFormParam->addParam("お名前(フリガナ・名)", "shipping_kana02" . $shipping['shipping_id'], STEXT_LEN, "KVCa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
+            $this->objFormParam->addParam("郵便番号1", "shipping_zip01" . $shipping['shipping_id'], ZIP01_LEN, "n", array("NUM_CHECK", "NUM_COUNT_CHECK"));
+            $this->objFormParam->addParam("郵便番号2", "shipping_zip02" . $shipping['shipping_id'], ZIP02_LEN, "n", array("NUM_CHECK", "NUM_COUNT_CHECK"));
+            $this->objFormParam->addParam("都道府県", "shipping_pref" . $shipping['shipping_id'], INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
+            $this->objFormParam->addParam("住所1", "shipping_addr01" . $shipping['shipping_id'], MTEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
+            $this->objFormParam->addParam("住所2", "shipping_addr02" . $shipping['shipping_id'], MTEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
+            $this->objFormParam->addParam("電話番号1", "shipping_tel01" . $shipping['shipping_id'], TEL_ITEM_LEN, "n", array("MAX_LENGTH_CHECK" ,"NUM_CHECK"));
+            $this->objFormParam->addParam("電話番号2", "shipping_tel02" . $shipping['shipping_id'], TEL_ITEM_LEN, "n", array("MAX_LENGTH_CHECK" ,"NUM_CHECK"));
+            $this->objFormParam->addParam("電話番号3", "shipping_tel03" . $shipping['shipping_id'], TEL_ITEM_LEN, "n", array("MAX_LENGTH_CHECK" ,"NUM_CHECK"));
+            $this->objFormParam->addParam("お届け時間ID", "deliv_time_id" . $shipping['shipping_id'], INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
+            $this->objFormParam->addParam("お届け時間", "deliv_time" . $shipping['shipping_id']);
+            $this->objFormParam->addParam("お届け日", "deliv_date" . $shipping['shipping_id'], STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
+        }
     }
 
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 19888)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php	(revision 19912)
@@ -62,5 +62,7 @@
 
         $objQuery->begin();
-        SC_Utils_Ex::sfIsPrePage($objSiteSession);
+        if (!$objSiteSession->isPrePage()) {
+            SC_Utils::sfDispSiteError(PAGE_ERROR, $objSiteSession);
+        }
 
         $uniqId = $objSiteSession->getUniqId();
