Ignore:
Timestamp:
2013/02/21 18:01:56 (11 years ago)
Author:
pineray
Message:

#2156 pageクラスからdtb_makerテーブルを直接指定している箇所をなくす
メイカー管理のページクラス内の処理を他と統一する

Location:
branches/version-2_12-dev/data
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/Smarty/templates/admin/products/maker.tpl

    r22206 r22578  
    3535                    <!--{if $arrErr.maker_id}--><span class="attention"><!--{$arrErr.maker_id}--></span><br /><!--{/if}--> 
    3636                    <!--{if $arrErr.name}--><span class="attention"><!--{$arrErr.name}--></span><!--{/if}--> 
    37                     <input type="text" name="name" value="<!--{$arrForm.name|h}-->" maxlength="<!--{$smarty.const.SMTEXT_LEN}-->" style="" size="60" class="box60"/> 
     37                    <input type="text" name="name" value="<!--{$arrForm.name.value|h}-->" maxlength="<!--{$smarty.const.SMTEXT_LEN}-->" style="" size="60" class="box60"/> 
    3838                    <span class="attention"> (上限<!--{$smarty.const.SMTEXT_LEN}-->文字)</span> 
    3939                </td> 
  • branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Maker.php

    r22567 r22578  
    7272    { 
    7373 
     74        $objMaker = new SC_Helper_Maker_Ex(); 
    7475        $objFormParam = new SC_FormParam_Ex(); 
    7576 
     
    8687        $maker_id = $objFormParam->getValue('maker_id'); 
    8788 
    88         // 変換後のPOST値を取得 
    89         $this->arrForm  = $objFormParam->getHashArray(); 
    90  
    9189        // モードによる処理切り替え 
    9290        switch ($this->getMode()) { 
     
    9492            // 編集処理 
    9593            case 'edit': 
    96             // 入力文字の変換 
    97  
    9894                // エラーチェック 
    99                 $this->arrErr = $this->lfCheckError($this->arrForm, $objFormParam); 
     95                $this->arrErr = $this->lfCheckError($objFormParam, $objMaker); 
     96                if (!SC_Utils_Ex::isBlank($this->arrErr['maker_id'])) { 
     97                    trigger_error('', E_USER_ERROR); 
     98                    return; 
     99                } 
     100 
    100101                if (count($this->arrErr) <= 0) { 
    101                     if ($this->arrForm['maker_id'] == '') { 
    102                         // メーカー情報新規登録 
    103                         $this->lfInsert($this->arrForm); 
    104                     } else { 
    105                         // メーカー情報編集 
    106                         $this->lfUpdate($this->arrForm); 
     102                    // POST値の引き継ぎ 
     103                    $arrParam = $objFormParam->getHashArray(); 
     104                    // 登録実行 
     105                    $res_maker_id = $this->doRegist($maker_id, $arrParam, $objMaker); 
     106                    if ($res_maker_id !== FALSE) { 
     107                        // 完了メッセージ 
     108                        $maker_id = $res_maker_id; 
     109                        $this->tpl_onload = "alert('登録が完了しました。');"; 
    107110                    } 
    108  
    109                     // 再表示 
    110                     $this->objDisplay->reload(); 
    111                 } else { 
    112                     // POSTデータを引き継ぐ 
    113                     $this->tpl_maker_id = $this->arrForm['maker_id']; 
    114111                } 
     112                // POSTデータを引き継ぐ 
     113                $this->tpl_maker_id = $maker_id; 
    115114                break; 
    116115 
    117116            // 編集前処理 
    118117            case 'pre_edit': 
    119                 $this->arrForm = $this->lfPreEdit($this->arrForm, $this->arrForm['maker_id']); 
    120                 $this->tpl_maker_id = $this->arrForm['maker_id']; 
     118                $maker = $objMaker->get($maker_id); 
     119                $objFormParam->setParam($maker); 
     120 
     121                // POSTデータを引き継ぐ 
     122                $this->tpl_maker_id = $maker_id; 
    121123                break; 
    122124 
    123125            // メーカー順変更 
    124126            case 'up': 
    125             case 'down': 
    126                 $this->lfRankChange($this->arrForm['maker_id'], $this->getMode()); 
     127                $objMaker->rankUp($maker_id); 
    127128 
    128129                // リロード 
     
    130131                break; 
    131132 
     133            case 'down': 
     134                $objMaker->rankDown($maker_id); 
     135 
     136                // リロード 
     137                SC_Response_Ex::reload(); 
     138                break; 
     139 
    132140            // 削除 
    133141            case 'delete': 
    134                 $this->lfDelete($this->arrForm['maker_id']); 
     142                $objMaker->delete($maker_id); 
    135143 
    136144                // リロード 
     
    142150        } 
    143151 
     152        $this->arrForm = $objFormParam->getFormParamList(); 
     153 
    144154        // メーカー情報読み込み 
    145         $this->arrMaker = $this->lfDisp(); 
    146         // POSTデータを引き継ぐ 
    147         $this->tpl_maker_id = $maker_id; 
    148  
     155        $this->arrMaker = $objMaker->getList(); 
    149156    } 
    150157 
     
    172179 
    173180    /** 
    174      * メーカー情報表示. 
    175      * 
    176      * @return array $arrMaker メーカー情報 
    177      */ 
    178     function lfDisp() 
    179     { 
    180         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    181  
    182         // 削除されていないメーカー情報を表示する 
    183         $where = 'del_flg = 0'; 
    184         $objQuery->setOrder('rank DESC'); 
    185         $arrMaker = array(); 
    186         $arrMaker = $objQuery->select('maker_id, name', 'dtb_maker', $where); 
    187         return $arrMaker; 
    188     } 
    189  
    190     /** 
    191      * メーカー情報新規登録. 
    192      * 
    193      * @param array $arrForm メーカー情報 
    194      * @return void 
    195      */ 
    196     function lfInsert(&$arrForm) 
    197     { 
    198         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    199  
    200         // INSERTする値を作成する 
    201         $sqlval['name'] = $arrForm['name']; 
    202         $sqlval['rank'] = $objQuery->max('rank', 'dtb_maker') + 1; 
     181     * 登録処理を実行. 
     182     *  
     183     * @param integer $maker_id 
     184     * @param array $sqlval 
     185     * @param object $objMaker 
     186     * @return multiple 
     187     */ 
     188    function doRegist($maker_id, $sqlval, SC_Helper_Maker_Ex $objMaker) 
     189    { 
     190        $sqlval['maker_id'] = $maker_id; 
    203191        $sqlval['creator_id'] = $_SESSION['member_id']; 
    204         $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 
    205         $sqlval['create_date'] = 'CURRENT_TIMESTAMP'; 
    206         $sqlval['maker_id'] = $objQuery->nextVal('dtb_maker_maker_id'); 
    207  
    208         // INSERTの実行 
    209         $objQuery->insert('dtb_maker', $sqlval); 
    210     } 
    211  
    212     /** 
    213      * メーカー情報更新. 
    214      * 
    215      * @param array $arrForm メーカー情報 
    216      * @return void 
    217      */ 
    218     function lfUpdate(&$arrForm) 
    219     { 
    220         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    221  
    222         // UPDATEする値を作成する 
    223         $sqlval['name'] = $arrForm['name']; 
    224         $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 
    225         $where = 'maker_id = ?'; 
    226  
    227         // UPDATEの実行 
    228         $objQuery->update('dtb_maker', $sqlval, $where, array($arrForm['maker_id'])); 
    229     } 
    230  
    231     /** 
    232      * メーカー情報削除. 
    233      * 
    234      * @param integer $maker_id メーカーID 
    235      * @return void 
    236      */ 
    237     function lfDelete($maker_id) 
    238     { 
    239         $objDb = new SC_Helper_DB_Ex(); 
    240         $objDb->sfDeleteRankRecord('dtb_maker', 'maker_id', $maker_id, '', true); 
    241     } 
    242  
    243     /** 
    244      * メーカー情報順番変更. 
    245      * 
    246      * @param  integer $maker_id メーカーID 
    247      * @param  string  $mode up か down のモードを示す文字列 
    248      * @return void 
    249      */ 
    250     function lfRankChange($maker_id, $mode) 
    251     { 
    252         $objDb = new SC_Helper_DB_Ex(); 
    253  
    254         switch ($mode) { 
    255             case 'up': 
    256                 $objDb->sfRankUp('dtb_maker', 'maker_id', $maker_id); 
    257                 break; 
    258  
    259             case 'down': 
    260                 $objDb->sfRankDown('dtb_maker', 'maker_id', $maker_id); 
    261                 break; 
    262  
    263             default: 
    264                 break; 
    265         } 
    266     } 
    267  
    268     /** 
    269      * メーカー情報編集前処理. 
    270      * 
    271      * @param array   $arrForm メーカー情報 
    272      * @param integer $maker_id メーカーID 
    273      * @return array  $arrForm メーカー名を追加 
    274      */ 
    275     function lfPreEdit(&$arrForm, $maker_id) 
    276     { 
    277         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    278  
    279         // 編集項目を取得する 
    280         $where = 'maker_id = ?'; 
    281         $arrMaker = array(); 
    282         $arrMaker = $objQuery->select('name', 'dtb_maker', $where, array($maker_id)); 
    283         $arrForm['name'] = $arrMaker[0]['name']; 
    284  
    285         return $arrForm; 
     192        return $objMaker->save($sqlval); 
    286193    } 
    287194 
     
    289196     * 入力エラーチェック. 
    290197     * 
    291      * @param  array $arrForm メーカー情報 
    292198     * @return array $objErr->arrErr エラー内容 
    293199     */ 
    294     function lfCheckError(&$arrForm, &$objFormParam) 
     200    function lfCheckError(&$objFormParam, SC_Helper_Maker_Ex &$objMaker) 
    295201    { 
    296202 
    297203        $arrErr = $objFormParam->checkError(); 
    298         if (!empty($arrErr)) { 
    299             return $arrErr; 
    300         } 
     204        $arrForm = $objFormParam->getHashArray(); 
    301205 
    302206        // maker_id の正当性チェック 
    303207        if (!empty($arrForm['maker_id'])) { 
    304             $objDb = new SC_Helper_DB_Ex(); 
    305208            if (!SC_Utils_Ex::sfIsInt($arrForm['maker_id']) 
    306209                || SC_Utils_Ex::sfIsZeroFilling($arrForm['maker_id']) 
    307                 || !$objDb->sfIsRecord('dtb_maker', 'maker_id', array($arrForm['maker_id'])) 
     210                || !$objMaker->get($arrForm['maker_id']) 
    308211            ) { 
    309212                // maker_idが指定されていて、且つその値が不正と思われる場合はエラー 
     
    312215        } 
    313216        if (!isset($arrErr['name'])) { 
    314             $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    315             $arrMaker = array(); 
    316             $arrMaker = $objQuery->select('maker_id, name', 'dtb_maker', 'del_flg = 0 AND name = ?', array($arrForm['name'])); 
     217            $arrMaker = $objMaker->getByName($arrForm['name']); 
    317218 
    318219            // 編集中のレコード以外に同じ名称が存在する場合 
    319             if ($arrMaker[0]['maker_id'] != $arrForm['maker_id'] && $arrMaker[0]['name'] == $arrForm['name']) { 
     220            if ( 
     221                    !SC_Utils_Ex::isBlank($arrMaker) 
     222                    && $arrMaker['maker_id'] != $arrForm['maker_id'] 
     223                    && $arrMaker['name'] == $arrForm['name'] 
     224                ) { 
    320225                $arrErr['name'] = '※ 既に同じ内容の登録が存在します。<br />'; 
    321226            } 
  • branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php

    r22567 r22578  
    5858        $this->arrSTATUS_IMAGE = $masterData->getMasterData('mtb_status_image'); 
    5959        $this->arrDELIVERYDATE = $masterData->getMasterData('mtb_delivery_date'); 
    60         $this->arrMaker = SC_Helper_DB_Ex::sfGetIDValueList('dtb_maker', 'maker_id', 'name'); 
     60        $this->arrMaker = SC_Helper_Maker_Ex::getIDValueList(); 
    6161        $this->arrAllowedTag = $masterData->getMasterData('mtb_allowed_tag'); 
    6262    } 
  • branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php

    r22567 r22578  
    7676        $this->arrDELIVERYDATE = $masterData->getMasterData('mtb_delivery_date'); 
    7777        $this->arrProductType = $masterData->getMasterData('mtb_product_type'); 
    78         $this->arrMaker = SC_Helper_DB_Ex::sfGetIDValueList('dtb_maker', 'maker_id', 'name'); 
     78        $this->arrMaker = SC_Helper_Maker_Ex::getIDValueList(); 
    7979        $this->arrPayments = SC_Helper_Payment_Ex::getIDValueList(); 
    8080        $this->arrInfo = SC_Helper_DB_Ex::sfGetBasisData(); 
  • branches/version-2_12-dev/data/class/pages/products/LC_Page_Products_List.php

    r22567 r22578  
    315315        // メーカー検索条件 
    316316        if (strlen($arrSearchData['maker_id']) > 0) { 
    317             $arrSearch['maker']     = $objQuery->get('name', 'dtb_maker', 'maker_id = ?', array($arrSearchData['maker_id'])); 
     317            $objMaker = new SC_Helper_Maker_Ex(); 
     318            $maker = $objMaker->get($arrSearchData['maker_id']); 
     319            $arrSearch['maker']     = $maker['name']; 
    318320        } 
    319321 
Note: See TracChangeset for help on using the changeset viewer.