Changeset 20307


Ignore:
Timestamp:
2011/02/21 19:35:22 (13 years ago)
Author:
coelacanth
Message:

#964 リファクタリング 宣言を除き, 引数や返り値が無く, すべて内部のメンバ変数で処理するような関数は極力作成しない

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php

    r20164 r20307  
    8282        SC_Utils_Ex::sfIsSuccess($objSess); 
    8383 
    84         // パラメータ管理クラス 
    85         $this->objFormParam = new SC_FormParam(); 
    86         // パラメータ情報の初期化 
    87         $this->lfInitParam(); 
    88         // POST値をパラメータとする 
    89         $this->objFormParam->setParam($_POST); 
     84        $objFormParam = new SC_FormParam(); 
     85        $this->lfInitParam($this->mode, $objFormParam); 
     86        $objFormParam->setParam($_POST); 
     87 
    9088        // 入力値の変換 
    91         $this->objFormParam->convParam(); 
    92         $this->arrErr = $this->lfCheckError(); 
     89        $objFormParam->convParam(); 
     90        $this->arrErr = $this->lfCheckError($objFormParam); 
    9391 
    9492        switch ($this->mode) { 
    9593            case 'edit': 
    9694                if (count($this->arrErr) == 0) { 
    97                     $this->objFormParam->setValue('deliv_id', $this->lfRegistData()); 
     95                    $objFormParam->setValue('deliv_id', $this->lfRegistData($objFormParam->getHashArray(), $_SESSION['member_id'])); 
    9896                    $this->tpl_onload = "window.alert('配送業者設定が完了しました。');"; 
    9997                } 
     
    103101                    SC_Utils_Ex::sfDispException(); 
    104102                } 
    105                 $this->lfGetDelivData($this->objFormParam->getValue('deliv_id')); 
     103                $this->lfGetDelivData($objFormParam); 
    106104                break; 
    107105            default: 
     
    109107        } 
    110108 
    111         $this->arrForm = $this->objFormParam->getFormParamList(); 
     109        $this->arrForm = $objFormParam->getFormParamList(); 
    112110    } 
    113111 
     
    122120 
    123121    /* パラメータ情報の初期化 */ 
    124     function lfInitParam($mode = null) { 
    125  
    126         if (is_null($mode)) $mode = $this->mode; 
    127  
    128         $this->objFormParam->initParam(); 
     122    function lfInitParam($mode, &$objFormParam) { 
     123        $objFormParam->initParam(); 
    129124 
    130125        switch ($mode) { 
    131126            case 'edit': 
    132                 $this->objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    133                 $this->objFormParam->addParam("配送業者名", "name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
    134                 $this->objFormParam->addParam("名称", "service_name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
    135                 $this->objFormParam->addParam("説明", "remark", LLTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 
    136                 $this->objFormParam->addParam("伝票No.確認URL", "confirm_url", STEXT_LEN, "n", array("URL_CHECK", "MAX_LENGTH_CHECK"), "http://"); 
    137                 $this->objFormParam->addParam("取扱商品種別", "product_type_id", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); 
    138                 $this->objFormParam->addParam("取扱支払方法", "payment_ids", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); 
     127                $objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     128                $objFormParam->addParam("配送業者名", "name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
     129                $objFormParam->addParam("名称", "service_name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
     130                $objFormParam->addParam("説明", "remark", LLTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 
     131                $objFormParam->addParam("伝票No.確認URL", "confirm_url", STEXT_LEN, "n", array("URL_CHECK", "MAX_LENGTH_CHECK"), "http://"); 
     132                $objFormParam->addParam("取扱商品種別", "product_type_id", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); 
     133                $objFormParam->addParam("取扱支払方法", "payment_ids", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); 
    139134 
    140135                for($cnt = 1; $cnt <= DELIVTIME_MAX; $cnt++) { 
    141                     $this->objFormParam->addParam("お届け時間$cnt", "deliv_time$cnt", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 
     136                    $objFormParam->addParam("お届け時間$cnt", "deliv_time$cnt", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 
    142137                } 
    143138 
    144139                if(INPUT_DELIV_FEE) { 
    145140                    for($cnt = 1; $cnt <= DELIVFEE_MAX; $cnt++) { 
    146                         $this->objFormParam->addParam("配送料金$cnt", "fee$cnt", PRICE_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
     141                        $objFormParam->addParam("配送料金$cnt", "fee$cnt", PRICE_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
    147142                    } 
    148143                } 
     
    150145 
    151146            case 'pre_edit': 
    152                 $this->objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     147                $objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    153148                break; 
    154149 
     
    163158     * @return $deliv_id 
    164159     */ 
    165     function lfRegistData() { 
    166         $arrRet = $this->objFormParam->getHashArray(); 
     160    function lfRegistData($arrRet, $member_id) { 
    167161        $objQuery =& SC_Query::getSingletonInstance(); 
    168162        $objQuery->begin(); 
     
    174168        $sqlval['confirm_url'] = $arrRet['confirm_url']; 
    175169        $sqlval['product_type_id'] = $arrRet['product_type_id']; 
    176         $sqlval['creator_id'] = $_SESSION['member_id']; 
     170        $sqlval['creator_id'] = $member_id; 
    177171        $sqlval['update_date'] = 'Now()'; 
    178172 
    179173 
    180174        // deliv_id が決まっていた場合 
    181         if($_POST['deliv_id'] != "") { 
    182             $deliv_id = $_POST['deliv_id']; 
     175        if($arrRet['deliv_id'] != "") { 
     176            $deliv_id = $arrRet['deliv_id']; 
    183177            $where = "deliv_id = ?"; 
    184178            $objQuery->update("dtb_deliv", $sqlval, $where, array($deliv_id)); 
     
    264258        } 
    265259 
    266         // TODO 支払方法登録 
    267         $objQuery->delete('dtb_payment_options', 'deliv_id = ?', array($_POST['deliv_id'])); 
     260        $objQuery->delete('dtb_payment_options', 'deliv_id = ?', array($arrRet['deliv_id'])); 
    268261        $sqlval = array(); 
    269262        $i = 1; 
     
    280273 
    281274    /* 配送業者情報の取得 */ 
    282     function lfGetDelivData($deliv_id) { 
     275    function lfGetDelivData(&$objFormParam) { 
    283276        $objQuery =& SC_Query::getSingletonInstance(); 
    284277 
     278        $deliv_id = $objFormParam->getValue('deliv_id'); 
     279 
    285280        // パラメータ情報の初期化 
    286         $this->lfInitParam('edit'); 
     281        $this->lfInitParam('edit', $objFormParam); 
    287282 
    288283        // 配送業者一覧の取得 
     
    291286        $table = "dtb_deliv"; 
    292287        $arrRet = $objQuery->select($col, $table, $where, array($deliv_id)); 
    293         $this->objFormParam->setParam($arrRet[0]); 
     288        $objFormParam->setParam($arrRet[0]); 
    294289        // お届け時間の取得 
    295290        $col = "deliv_time"; 
     
    297292        $table = "dtb_delivtime"; 
    298293        $arrRet = $objQuery->select($col, $table, $where, array($deliv_id)); 
    299         $this->objFormParam->setParamList($arrRet, 'deliv_time'); 
     294        $objFormParam->setParamList($arrRet, 'deliv_time'); 
    300295        // 配送料金の取得 
    301296        $col = "fee"; 
     
    303298        $table = "dtb_delivfee"; 
    304299        $arrRet = $objQuery->select($col, $table, $where, array($deliv_id)); 
    305         $this->objFormParam->setParamList($arrRet, 'fee'); 
     300        $objFormParam->setParamList($arrRet, 'fee'); 
    306301        // 支払方法 
    307302        $col = 'payment_id'; 
     
    313308            $arrPaymentIds[] = $val['payment_id']; 
    314309        } 
    315         $this->objFormParam->setValue('payment_ids', $arrPaymentIds); 
     310        $objFormParam->setValue('payment_ids', $arrPaymentIds); 
    316311    } 
    317312 
    318313    /* 入力内容のチェック */ 
    319     function lfCheckError() { 
     314    function lfCheckError(&$objFormParam) { 
    320315        // 入力データを渡す。 
    321         $arrRet =  $this->objFormParam->getHashArray(); 
     316        $arrRet =  $objFormParam->getHashArray(); 
    322317        $objErr = new SC_CheckError($arrRet); 
    323         $objErr->arrErr = $this->objFormParam->checkError(); 
    324  
    325         if(!isset($objErr->arrErr['name']) && $_POST['deliv_id'] == "") { 
     318        $objErr->arrErr = $objFormParam->checkError(); 
     319 
     320        if(!isset($objErr->arrErr['name']) && $arrRet['deliv_id'] == "") { 
    326321            // 既存チェック 
    327322            $objDb = new SC_Helper_DB_Ex(); 
Note: See TracChangeset for help on using the changeset viewer.