Index: branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php	(revision 20164)
+++ branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php	(revision 20307)
@@ -82,18 +82,16 @@
         SC_Utils_Ex::sfIsSuccess($objSess);
 
-        // パラメータ管理クラス
-        $this->objFormParam = new SC_FormParam();
-        // パラメータ情報の初期化
-        $this->lfInitParam();
-        // POST値をパラメータとする
-        $this->objFormParam->setParam($_POST);
+        $objFormParam = new SC_FormParam();
+        $this->lfInitParam($this->mode, $objFormParam);
+        $objFormParam->setParam($_POST);
+
         // 入力値の変換
-        $this->objFormParam->convParam();
-        $this->arrErr = $this->lfCheckError();
+        $objFormParam->convParam();
+        $this->arrErr = $this->lfCheckError($objFormParam);
 
         switch ($this->mode) {
             case 'edit':
                 if (count($this->arrErr) == 0) {
-                    $this->objFormParam->setValue('deliv_id', $this->lfRegistData());
+                    $objFormParam->setValue('deliv_id', $this->lfRegistData($objFormParam->getHashArray(), $_SESSION['member_id']));
                     $this->tpl_onload = "window.alert('配送業者設定が完了しました。');";
                 }
@@ -103,5 +101,5 @@
                     SC_Utils_Ex::sfDispException();
                 }
-                $this->lfGetDelivData($this->objFormParam->getValue('deliv_id'));
+                $this->lfGetDelivData($objFormParam);
                 break;
             default:
@@ -109,5 +107,5 @@
         }
 
-        $this->arrForm = $this->objFormParam->getFormParamList();
+        $this->arrForm = $objFormParam->getFormParamList();
     }
 
@@ -122,27 +120,24 @@
 
     /* パラメータ情報の初期化 */
-    function lfInitParam($mode = null) {
-
-        if (is_null($mode)) $mode = $this->mode;
-
-        $this->objFormParam->initParam();
+    function lfInitParam($mode, &$objFormParam) {
+        $objFormParam->initParam();
 
         switch ($mode) {
             case 'edit':
-                $this->objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
-                $this->objFormParam->addParam("配送業者名", "name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
-                $this->objFormParam->addParam("名称", "service_name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
-                $this->objFormParam->addParam("説明", "remark", LLTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
-                $this->objFormParam->addParam("伝票No.確認URL", "confirm_url", STEXT_LEN, "n", array("URL_CHECK", "MAX_LENGTH_CHECK"), "http://");
-                $this->objFormParam->addParam("取扱商品種別", "product_type_id", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
-                $this->objFormParam->addParam("取扱支払方法", "payment_ids", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
+                $objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
+                $objFormParam->addParam("配送業者名", "name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
+                $objFormParam->addParam("名称", "service_name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
+                $objFormParam->addParam("説明", "remark", LLTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
+                $objFormParam->addParam("伝票No.確認URL", "confirm_url", STEXT_LEN, "n", array("URL_CHECK", "MAX_LENGTH_CHECK"), "http://");
+                $objFormParam->addParam("取扱商品種別", "product_type_id", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
+                $objFormParam->addParam("取扱支払方法", "payment_ids", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
 
                 for($cnt = 1; $cnt <= DELIVTIME_MAX; $cnt++) {
-                    $this->objFormParam->addParam("お届け時間$cnt", "deliv_time$cnt", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
+                    $objFormParam->addParam("お届け時間$cnt", "deliv_time$cnt", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
                 }
 
                 if(INPUT_DELIV_FEE) {
                     for($cnt = 1; $cnt <= DELIVFEE_MAX; $cnt++) {
-                        $this->objFormParam->addParam("配送料金$cnt", "fee$cnt", PRICE_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+                        $objFormParam->addParam("配送料金$cnt", "fee$cnt", PRICE_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
                     }
                 }
@@ -150,5 +145,5 @@
 
             case 'pre_edit':
-                $this->objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
+                $objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
                 break;
 
@@ -163,6 +158,5 @@
      * @return $deliv_id
      */
-    function lfRegistData() {
-        $arrRet = $this->objFormParam->getHashArray();
+    function lfRegistData($arrRet, $member_id) {
         $objQuery =& SC_Query::getSingletonInstance();
         $objQuery->begin();
@@ -174,11 +168,11 @@
         $sqlval['confirm_url'] = $arrRet['confirm_url'];
         $sqlval['product_type_id'] = $arrRet['product_type_id'];
-        $sqlval['creator_id'] = $_SESSION['member_id'];
+        $sqlval['creator_id'] = $member_id;
         $sqlval['update_date'] = 'Now()';
 
 
         // deliv_id が決まっていた場合
-        if($_POST['deliv_id'] != "") {
-            $deliv_id = $_POST['deliv_id'];
+        if($arrRet['deliv_id'] != "") {
+            $deliv_id = $arrRet['deliv_id'];
             $where = "deliv_id = ?";
             $objQuery->update("dtb_deliv", $sqlval, $where, array($deliv_id));
@@ -264,6 +258,5 @@
         }
 
-        // TODO 支払方法登録
-        $objQuery->delete('dtb_payment_options', 'deliv_id = ?', array($_POST['deliv_id']));
+        $objQuery->delete('dtb_payment_options', 'deliv_id = ?', array($arrRet['deliv_id']));
         $sqlval = array();
         $i = 1;
@@ -280,9 +273,11 @@
 
     /* 配送業者情報の取得 */
-    function lfGetDelivData($deliv_id) {
+    function lfGetDelivData(&$objFormParam) {
         $objQuery =& SC_Query::getSingletonInstance();
 
+        $deliv_id = $objFormParam->getValue('deliv_id');
+
         // パラメータ情報の初期化
-        $this->lfInitParam('edit');
+        $this->lfInitParam('edit', $objFormParam);
 
         // 配送業者一覧の取得
@@ -291,5 +286,5 @@
         $table = "dtb_deliv";
         $arrRet = $objQuery->select($col, $table, $where, array($deliv_id));
-        $this->objFormParam->setParam($arrRet[0]);
+        $objFormParam->setParam($arrRet[0]);
         // お届け時間の取得
         $col = "deliv_time";
@@ -297,5 +292,5 @@
         $table = "dtb_delivtime";
         $arrRet = $objQuery->select($col, $table, $where, array($deliv_id));
-        $this->objFormParam->setParamList($arrRet, 'deliv_time');
+        $objFormParam->setParamList($arrRet, 'deliv_time');
         // 配送料金の取得
         $col = "fee";
@@ -303,5 +298,5 @@
         $table = "dtb_delivfee";
         $arrRet = $objQuery->select($col, $table, $where, array($deliv_id));
-        $this->objFormParam->setParamList($arrRet, 'fee');
+        $objFormParam->setParamList($arrRet, 'fee');
         // 支払方法
         $col = 'payment_id';
@@ -313,15 +308,15 @@
             $arrPaymentIds[] = $val['payment_id'];
         }
-        $this->objFormParam->setValue('payment_ids', $arrPaymentIds);
+        $objFormParam->setValue('payment_ids', $arrPaymentIds);
     }
 
     /* 入力内容のチェック */
-    function lfCheckError() {
+    function lfCheckError(&$objFormParam) {
         // 入力データを渡す。
-        $arrRet =  $this->objFormParam->getHashArray();
+        $arrRet =  $objFormParam->getHashArray();
         $objErr = new SC_CheckError($arrRet);
-        $objErr->arrErr = $this->objFormParam->checkError();
-
-        if(!isset($objErr->arrErr['name']) && $_POST['deliv_id'] == "") {
+        $objErr->arrErr = $objFormParam->checkError();
+
+        if(!isset($objErr->arrErr['name']) && $arrRet['deliv_id'] == "") {
             // 既存チェック
             $objDb = new SC_Helper_DB_Ex();
