Changeset 20321


Ignore:
Timestamp:
2011/02/22 11:14:12 (10 years ago)
Author:
coelacanth
Message:

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

Location:
branches/version-2_5-dev/data/class/pages/admin/basis
Files:
2 edited

Legend:

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

    r20177 r20321  
    7878        $mode = $this->getMode(); 
    7979 
     80 
     81 
    8082        if (!empty($_POST)) { 
    81             $this->arrErr = $this->lfCheckError($mode); 
     83            $objFormParam = new SC_FormParam(); 
     84            $objFormParam->setParam($_POST); 
     85 
     86            $this->arrErr = $this->lfCheckError($mode, $objFormParam); 
    8287            if (!empty($this->arrErr['deliv_id'])) { 
    8388                SC_Utils_Ex::sfDispException(); 
     
    129134     * @return array 
    130135     */ 
    131     function lfCheckError($mode) { 
     136    function lfCheckError($mode, &$objFormParam) { 
    132137        $arrErr = array(); 
    133138        switch ($mode) { 
     
    135140            case "up": 
    136141            case "down": 
    137                 $this->objFormParam = new SC_FormParam(); 
    138                 $this->objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    139                 $this->objFormParam->setParam($_POST); 
    140                 $this->objFormParam->convParam(); 
     142                $objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    141143 
    142                 $arrErr = $this->objFormParam->checkError(); 
     144                $objFormParam->convParam(); 
     145 
     146                $arrErr = $objFormParam->checkError(); 
    143147                break; 
    144148            default: 
  • branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Holiday.php

    r20297 r20321  
    8080 
    8181        if (!empty($_POST)) { 
    82             $this->arrErr = $this->lfCheckError($mode, $_POST); 
     82 
     83            $objFormParam = new SC_FormParam(); 
     84            $this->lfInitParam($mode, $objFormParam); 
     85            $objFormParam->setParam($_POST); 
     86 
     87            //var_dump($_POST); 
     88            //var_dump($objFormParam->getHashArray()); 
     89 
     90            $this->arrErr = $this->lfCheckError($mode, $objFormParam); 
    8391            if (!empty($this->arrErr['holiday_id'])) { 
    8492                SC_Utils_Ex::sfDispException(); 
     
    212220        return $array; 
    213221    } 
    214  
    215     /** 
    216      * 入力エラーチェック 
    217      * 
    218      * @param string $mode 
    219      * @return array 
    220      */ 
    221     function lfCheckError($mode, $post) { 
    222         $arrErr = array(); 
     222    function lfInitParam($mode, &$objFormParam) 
     223    { 
    223224        switch ($mode) { 
    224225            case 'edit': 
    225                 $post = $this->lfConvertParam($post); 
    226  
    227                 $objErr = new SC_CheckError(); 
    228                 $objErr->doFunc(array("タイトル", "title", SMTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    229                 $objErr->doFunc(array("月", "month", INT_LEN), array("SELECT_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    230                 $objErr->doFunc(array("日", "day", INT_LEN), array("SELECT_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    231                 if(!isset($objErr->arrErr['date'])) { 
    232                     $objQuery =& SC_Query::getSingletonInstance(); 
    233                     $where = "del_flg = 0 AND month = ? AND day = ?"; 
    234                     $arrval = array($post['month'], $post['day']); 
    235                     if (!empty($post['holiday_id'])) { 
    236                         $where .= " AND holiday_id <> ?"; 
    237                         $arrval[] = $post['holiday_id']; 
    238                     } 
    239                     $arrRet = $objQuery->select("count(holiday_id)", "dtb_holiday", $where, $arrval); 
    240                     // 編集中のレコード以外に同じ日付が存在する場合 
    241                     if ($arrRet[0]['count'] > 0) { 
    242                         $objErr->arrErr['date'] = "※ 既に同じ日付の登録が存在します。<br>"; 
    243                     } 
    244                 } 
     226                $objFormParam->addParam('タイトル', 'title', STEXT_LEN, 'KVa', array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
     227                $objFormParam->addParam('月', 'month', INT_LEN, 'n', array("SELECT_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
     228                $objFormParam->addParam('日', 'day', INT_LEN, 'n', array("SELECT_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    245229                // breakしない 
    246230            case 'delete': 
     
    248232            case 'down': 
    249233            case 'up': 
    250                 $this->objFormParam = new SC_FormParam(); 
    251                 $this->objFormParam->addParam('定休日ID', 'holiday_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    252                 $this->objFormParam->setParam($post); 
    253                 $this->objFormParam->convParam(); 
    254                 $arrErr = $this->objFormParam->checkError(); 
     234                $objFormParam->addParam('定休日ID', 'holiday_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    255235                break; 
    256236            default: 
    257237                break; 
    258238        } 
    259         return array_merge((array)$objErr->arrErr, (array)$arrErr); 
     239    } 
     240 
     241    /** 
     242     * 入力エラーチェック 
     243     * 
     244     * @param string $mode 
     245     * @return array 
     246     */ 
     247    function lfCheckError($mode, &$objFormParam) { 
     248        $objFormParam->convParam(); 
     249        $arrErr = $objFormParam->checkError(); 
     250        $post = $objFormParam->getHashArray(); 
     251 
     252        if(!isset($arrErr['date'])) { 
     253            $objQuery =& SC_Query::getSingletonInstance(); 
     254            $where = "del_flg = 0 AND month = ? AND day = ?"; 
     255            $arrval = array($post['month'], $post['day']); 
     256            if (!empty($post['holiday_id'])) { 
     257                $where .= " AND holiday_id <> ?"; 
     258                $arrval[] = $post['holiday_id']; 
     259            } 
     260            $arrRet = $objQuery->select("count(holiday_id)", "dtb_holiday", $where, $arrval); 
     261 
     262            // 編集中のレコード以外に同じ日付が存在する場合 
     263            if ($arrRet[0]['count'] > 0) { 
     264                $arrErr['date'] = "※ 既に同じ日付の登録が存在します。<br>"; 
     265            } 
     266        } 
     267        return $arrErr; 
    260268    } 
    261269} 
Note: See TracChangeset for help on using the changeset viewer.