Changeset 18335


Ignore:
Timestamp:
2009/10/17 22:48:42 (14 years ago)
Author:
Seasoft
Message:

エラールートでパラメータの受け渡しが発生する問題を改修。

Location:
branches/comu-ver2/data
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/Smarty/templates/default/admin/basis/delivery_input.tpl

    r18254 r18335  
    2424<form name="form1" id="form1" method="post" action=""> 
    2525<input type="hidden" name="mode" value="edit" /> 
    26 <input type="hidden" name="deliv_id" value="<!--{$tpl_deliv_id}-->" /> 
     26<!--{assign var=key value="deliv_id"}--> 
     27<input type="hidden" name="<!--{$arrForm[$key].keyname}-->" value="<!--{$arrForm[$key].value|escape}-->" /> 
    2728<div id="basis" class="contents-main"> 
    2829  <h2>配送業者登録</h2> 
  • branches/comu-ver2/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php

    r18235 r18335  
    5656        $this->arrPref = $masterData->getMasterData("mtb_pref", array("pref_id", "pref_name", "rank")); 
    5757        $this->tpl_subtitle = '配送業者設定'; 
     58        $this->mode = isset($_POST['mode']) ? $_POST['mode'] : ''; 
    5859    } 
    5960 
     
    7677        // パラメータ情報の初期化 
    7778        $this->lfInitParam(); 
    78         // POST値の取得 
     79        // POST値をパラメータとする 
    7980        $this->objFormParam->setParam($_POST); 
    80  
    81         if (!isset($_POST['mode'])) $_POST['mode'] = ""; 
    82  
    83         switch($_POST['mode']) { 
    84         case 'edit': 
    85             // 入力値の変換 
    86             $this->objFormParam->convParam(); 
    87             $this->arrErr = $this->lfCheckError(); 
    88             if(count($this->arrErr) == 0) { 
    89                 $this->tpl_deliv_id = $this->lfRegistData(); 
    90                 $this->tpl_onload = "window.alert('配送業者設定が完了しました。');"; 
    91             } 
    92             break; 
    93         case 'pre_edit': 
    94             if($_POST['deliv_id'] != "") { 
    95                 $this->lfGetDelivData($_POST['deliv_id']); 
    96                 $this->tpl_deliv_id = $_POST['deliv_id']; 
    97             } 
    98             break; 
    99         default: 
    100             break; 
     81        // 入力値の変換 
     82        $this->objFormParam->convParam(); 
     83        $this->arrErr = $this->lfCheckError(); 
     84 
     85        switch ($this->mode) { 
     86            case 'edit': 
     87                if (count($this->arrErr) == 0) { 
     88                    $this->objFormParam->setValue('deliv_id', $this->lfRegistData()); 
     89                    $this->tpl_onload = "window.alert('配送業者設定が完了しました。');"; 
     90                } 
     91                break; 
     92            case 'pre_edit': 
     93                if (count($this->arrErr) > 0) { 
     94                    SC_Utils_Ex::sfDispException(); 
     95                } 
     96                $this->lfGetDelivData($this->objFormParam->getValue('deliv_id')); 
     97                break; 
     98            default: 
     99                break; 
    101100        } 
    102101 
     
    116115 
    117116    /* パラメータ情報の初期化 */ 
    118     function lfInitParam() { 
    119         $this->objFormParam->addParam("配送業者名", "name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
    120         $this->objFormParam->addParam("名称", "service_name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
    121         $this->objFormParam->addParam("伝票No.確認URL", "confirm_url", STEXT_LEN, "n", array("URL_CHECK", "MAX_LENGTH_CHECK"), "http://"); 
    122  
    123         for($cnt = 1; $cnt <= DELIVTIME_MAX; $cnt++) { 
    124             $this->objFormParam->addParam("お届け時間$cnt", "deliv_time$cnt", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 
    125         } 
    126  
    127         if(INPUT_DELIV_FEE) { 
    128             for($cnt = 1; $cnt <= DELIVFEE_MAX; $cnt++) { 
    129                 $this->objFormParam->addParam("配送料金$cnt", "fee$cnt", PRICE_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
    130             } 
     117    function lfInitParam($mode = null) { 
     118 
     119        if (is_null($mode)) $mode = $this->mode; 
     120 
     121        $this->objFormParam->initParam(); 
     122 
     123        switch ($mode) { 
     124            case 'edit': 
     125                $this->objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     126                $this->objFormParam->addParam("配送業者名", "name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
     127                $this->objFormParam->addParam("名称", "service_name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
     128                $this->objFormParam->addParam("伝票No.確認URL", "confirm_url", STEXT_LEN, "n", array("URL_CHECK", "MAX_LENGTH_CHECK"), "http://"); 
     129 
     130                for($cnt = 1; $cnt <= DELIVTIME_MAX; $cnt++) { 
     131                    $this->objFormParam->addParam("お届け時間$cnt", "deliv_time$cnt", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 
     132                } 
     133 
     134                if(INPUT_DELIV_FEE) { 
     135                    for($cnt = 1; $cnt <= DELIVFEE_MAX; $cnt++) { 
     136                        $this->objFormParam->addParam("配送料金$cnt", "fee$cnt", PRICE_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
     137                    } 
     138                } 
     139                break; 
     140 
     141            case 'pre_edit': 
     142                $this->objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     143                break; 
     144 
     145            default: 
     146                break; 
    131147        } 
    132148    } 
     
    251267    function lfGetDelivData($deliv_id) { 
    252268        $objQuery = new SC_Query(); 
     269 
     270        // パラメータ情報の初期化 
     271        $this->lfInitParam('edit'); 
     272 
    253273        // 配送業者一覧の取得 
    254274        $col = "deliv_id, name, service_name, confirm_url"; 
Note: See TracChangeset for help on using the changeset viewer.