Ignore:
Timestamp:
2011/02/22 15:57:30 (11 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_Kiyaku.php

    r20297 r20326  
    7676 
    7777        if (!empty($_POST)) { 
    78             $this->arrErr = $this->lfCheckError($mode, $_POST); 
     78            $objFormParam = new SC_FormParam(); 
     79            $this->lfInitParam($mode, $objFormParam); 
     80            $objFormParam->setParam($_POST); 
     81            $objFormParam->convParam(); 
     82 
     83            $this->arrErr = $this->lfCheckError($mode, $objFormParam); 
    7984            if (!empty($this->arrErr['kiyaku_id'])) { 
    8085                SC_Utils_Ex::sfDispException(); 
    8186                return; 
    8287            } 
     88            $post = $objFormParam->getHashArray(); 
    8389        } 
    8490 
     
    9197 
    9298            if(count($this->arrErr) <= 0) { 
    93                 if($_POST['kiyaku_id'] == "") { 
     99                if($post['kiyaku_id'] == "") { 
    94100                    $this->lfInsertClass($this->arrForm, $_SESSION['member_id']);    // 新規作成 
    95101                } else { 
    96                     $this->lfUpdateClass($this->arrForm, $_POST['kiyaku_id']);    // 既存編集 
     102                    $this->lfUpdateClass($this->arrForm, $post['kiyaku_id']);    // 既存編集 
    97103                } 
    98104                // 再表示 
     
    100106            } else { 
    101107                // POSTデータを引き継ぐ 
    102                 $this->tpl_kiyaku_id = $_POST['kiyaku_id']; 
     108                $this->tpl_kiyaku_id = $post['kiyaku_id']; 
    103109            } 
    104110            break; 
    105111        // 削除 
    106112        case 'delete': 
    107             $objDb->sfDeleteRankRecord("dtb_kiyaku", "kiyaku_id", $_POST['kiyaku_id'], "", true); 
     113            $objDb->sfDeleteRankRecord("dtb_kiyaku", "kiyaku_id", $post['kiyaku_id'], "", true); 
    108114            // 再表示 
    109115            $this->objDisplay->reload(); 
     
    112118        case 'pre_edit': 
    113119            // 編集項目を取得する。 
    114             $arrKiyakuData = $this->lfGetKiyakuDataByKiyakuID($_POST['kiyaku_id']); 
     120            $arrKiyakuData = $this->lfGetKiyakuDataByKiyakuID($post['kiyaku_id']); 
    115121 
    116122            // 入力項目にカテゴリ名を入力する。 
     
    118124            $this->arrForm['kiyaku_text'] = $arrKiyakuData[0]['kiyaku_text']; 
    119125            // POSTデータを引き継ぐ 
    120             $this->tpl_kiyaku_id = $_POST['kiyaku_id']; 
     126            $this->tpl_kiyaku_id = $post['kiyaku_id']; 
    121127        break; 
    122128        case 'down': 
    123             $objDb->sfRankDown("dtb_kiyaku", "kiyaku_id", $_POST['kiyaku_id']); 
     129            $objDb->sfRankDown("dtb_kiyaku", "kiyaku_id", $post['kiyaku_id']); 
    124130            // 再表示 
    125131            $this->objDisplay->reload(); 
    126132            break; 
    127133        case 'up': 
    128             $objDb->sfRankUp("dtb_kiyaku", "kiyaku_id", $_POST['kiyaku_id']); 
     134            $objDb->sfRankUp("dtb_kiyaku", "kiyaku_id", $post['kiyaku_id']); 
    129135            // 再表示 
    130136            $this->objDisplay->reload(); 
     
    190196    } 
    191197 
    192     /* 取得文字列の変換 */ 
    193     function lfConvertParam($array) { 
    194         // 文字変換 
    195         $arrConvList['kiyaku_title'] = "KVa"; 
    196         $arrConvList['kiyaku_text'] = "KVa"; 
    197  
    198         foreach ($arrConvList as $key => $val) { 
    199             // POSTされてきた値のみ変換する。 
    200             if(isset($array[$key])) { 
    201                 $array[$key] = mb_convert_kana($array[$key] ,$val); 
    202             } 
    203         } 
    204         return $array; 
    205     } 
    206  
    207     /** 
    208      * 入力エラーチェック 
    209      * 
    210      * @param string $mode 
    211      * @return array 
    212      */ 
    213     function lfCheckError($mode, $post) { 
    214         $arrErr = array(); 
    215  
     198    function lfInitParam($mode, &$objFormParam) { 
    216199        switch ($mode) { 
    217200            case 'edit': 
    218                 $_POST = $this->lfConvertParam($post); 
    219  
    220                 $objErr = new SC_CheckError(); 
    221                 $objErr->doFunc(array("規約タイトル", "kiyaku_title", SMTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    222                 $objErr->doFunc(array("規約内容", "kiyaku_text", MLTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    223                 if(!isset($objErr->arrErr['name'])) { 
    224                     $objQuery =& SC_Query::getSingletonInstance(); 
    225                     $arrRet = $objQuery->select("kiyaku_id, kiyaku_title", "dtb_kiyaku", "del_flg = 0 AND kiyaku_title = ?", array($post['kiyaku_title'])); 
    226                     // 編集中のレコード以外に同じ名称が存在する場合 
    227                     if ($arrRet[0]['kiyaku_id'] != $post['kiyaku_id'] && $arrRet[0]['kiyaku_title'] == $post['kiyaku_title']) { 
    228                         $objErr->arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br>"; 
    229                     } 
    230                 } 
     201                $objFormParam->addParam('規約タイトル', 'kiyaku_title', SMTEXT_LEN, 'KVa', array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
     202                $objFormParam->addParam('規約内容', 'kiyaku_text', MLTEXT_LEN, 'KVa', array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    231203            case 'delete': 
    232204            case 'pre_edit': 
    233205            case 'down': 
    234206            case 'up': 
    235                 $this->objFormParam = new SC_FormParam(); 
    236                 $this->objFormParam->addParam('規約ID', 'kiyaku_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    237                 $this->objFormParam->setParam($post); 
    238                 $this->objFormParam->convParam(); 
    239                 $arrErr = $this->objFormParam->checkError(); 
    240  
     207                $objFormParam->addParam('規約ID', 'kiyaku_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    241208                break; 
    242209            default: 
    243210                break; 
    244211        } 
    245         return array_merge((array)$objErr->arrErr, (array)$arrErr); 
     212    } 
     213 
     214    /** 
     215     * 入力エラーチェック 
     216     * 
     217     * @param string $mode 
     218     * @return array 
     219     */ 
     220    function lfCheckError($mode, $objFormParam) { 
     221        $arrErr = $objFormParam->checkError(); 
     222        if(!isset($arrErr['name']) && $mode == 'edit') { 
     223            $post = $objFormParam->getHashArray(); 
     224            $objQuery =& SC_Query::getSingletonInstance(); 
     225            $arrRet = $objQuery->select("kiyaku_id, kiyaku_title", "dtb_kiyaku", "del_flg = 0 AND kiyaku_title = ?", array($post['kiyaku_title'])); 
     226            // 編集中のレコード以外に同じ名称が存在する場合 
     227            if ($arrRet[0]['kiyaku_id'] != $post['kiyaku_id'] && $arrRet[0]['kiyaku_title'] == $post['kiyaku_title']) { 
     228                $arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br>"; 
     229            } 
     230        } 
     231        return $arrErr; 
    246232    } 
    247233} 
Note: See TracChangeset for help on using the changeset viewer.