Changeset 21936


Ignore:
Timestamp:
2012/06/21 16:24:40 (12 years ago)
Author:
pineray
Message:

#1875 会員規約 登録後にフォーム内容を残す

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

Legend:

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

    r21867 r21936  
    4949    <div class="btn-area"> 
    5050        <ul> 
    51             <li><a class="btn-action" href="javascript:;" onclick="fnFormModeSubmit('form1', 'edit', '', ''); return false;"><span class="btn-next">この内容で登録する</span></a></li> 
     51            <li><a class="btn-action" href="javascript:;" onclick="fnFormModeSubmit('form1', 'confirm', '', ''); return false;"><span class="btn-next">この内容で登録する</span></a></li> 
    5252        </ul> 
    5353    </div> 
     
    7070                <td align="center"> 
    7171                    <!--{if $tpl_kiyaku_id != $arrKiyaku[cnt].kiyaku_id}--> 
    72                     <a href="?" onclick="fnModeSubmit('pre_edit', 'kiyaku_id', <!--{$arrKiyaku[cnt].kiyaku_id}-->); return false;">編集</a> 
     72                    <a href="?" onclick="fnSetFormSubmit('form1', 'kiyaku_id', <!--{$arrKiyaku[cnt].kiyaku_id}-->); return false;">編集</a> 
    7373                    <!--{else}--> 
    7474                    編集中 
  • branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Kiyaku.php

    r21867 r21936  
    7171 
    7272        $mode = $this->getMode(); 
    73  
    74         if (!empty($_POST)) { 
    75             $objFormParam = new SC_FormParam_Ex(); 
    76             $this->lfInitParam($mode, $objFormParam); 
    77             $objFormParam->setParam($_POST); 
    78             $objFormParam->convParam(); 
    79             $kiyaku_id = $objFormParam->getValue('kiyaku_id'); 
    80  
    81             $this->arrErr = $this->lfCheckError($mode, $objFormParam); 
    82             if (!empty($this->arrErr['kiyaku_id'])) { 
    83                 trigger_error('', E_USER_ERROR); 
    84                 return; 
    85             } 
    86             $post = $objFormParam->getHashArray(); 
     73        $objFormParam = new SC_FormParam_Ex(); 
     74        $this->lfInitParam($mode, $objFormParam); 
     75        $objFormParam->setParam($_REQUEST); 
     76        $objFormParam->convParam(); 
     77        $this->arrErr = $this->lfCheckError($mode, $objFormParam); 
     78        $is_error = (!SC_Utils_Ex::isBlank($this->arrErr)); 
     79 
     80        $this->kiyaku_id = $objFormParam->getValue('kiyaku_id'); 
     81        if ($is_error) { 
     82            trigger_error('', E_USER_ERROR); 
     83            return; 
    8784        } 
    8885 
     
    9087        switch ($mode) { 
    9188            // 編集処理 
    92             case 'edit': 
     89            case 'confirm': 
    9390                // POST値の引き継ぎ 
    9491                $this->arrForm = $_POST; 
    9592 
    96                 if (count($this->arrErr) <= 0) { 
    97                     if ($post['kiyaku_id'] == '') { 
    98                         $this->lfInsertClass($this->arrForm, $_SESSION['member_id']);    // 新規作成 
     93                if (!$is_error) { 
     94                    if ($this->kiyaku_id == '') { 
     95                        $result = $this->lfInsertClass($this->arrForm, $_SESSION['member_id']);    // 新規作成 
    9996                    } else { 
    100                         $this->lfUpdateClass($this->arrForm, $post['kiyaku_id']);    // 既存編集 
     97                        $result = $this->lfUpdateClass($this->arrForm, $this->kiyaku_id);    // 既存編集 
    10198                    } 
    10299 
    103                     // 再表示 
    104                     $this->objDisplay->reload(); 
    105                 } else { 
    106                     // POSTデータを引き継ぐ 
    107                     $this->tpl_kiyaku_id = $post['kiyaku_id']; 
     100                    if ($result !== FALSE) { 
     101                        $arrPram = array( 
     102                            'kiyaku_id' => $result, 
     103                            'msg' => 'on', 
     104                        ); 
     105 
     106                        SC_Response_Ex::reload($arrPram, true); 
     107                        SC_Response_Ex::actionExit(); 
     108                    } 
    108109                } 
    109110                break; 
    110111            // 削除 
    111112            case 'delete': 
    112                 $objDb->sfDeleteRankRecord('dtb_kiyaku', 'kiyaku_id', $post['kiyaku_id'], '', true); 
     113                $objDb->sfDeleteRankRecord('dtb_kiyaku', 'kiyaku_id', $this->kiyaku_id, '', true); 
    113114 
    114115                // 再表示 
    115116                $this->objDisplay->reload(); 
    116117                break; 
    117             // 編集前処理 
    118             case 'pre_edit': 
     118            case 'down': 
     119                $objDb->sfRankDown('dtb_kiyaku', 'kiyaku_id', $this->kiyaku_id); 
     120 
     121                // 再表示 
     122                $this->objDisplay->reload(); 
     123                break; 
     124            case 'up': 
     125                $objDb->sfRankUp('dtb_kiyaku', 'kiyaku_id', $this->kiyaku_id); 
     126 
     127                // 再表示 
     128                $this->objDisplay->reload(); 
     129                break; 
     130            default: 
     131                if (isset($_GET['msg']) && $_GET['msg'] == 'on') { 
     132                    // 完了メッセージ 
     133                    $this->tpl_onload = "alert('登録が完了しました。');"; 
     134                } 
     135                break; 
     136        } 
     137 
     138        $this->arrForm = $objFormParam->getFormParamList(); 
     139 
     140        if (!$is_error) { 
     141            // 規約一覧を取得 
     142            $this->arrKiyaku = $this->lfGetKiyakuList(); 
     143            // kiyaku_id が指定されている場合には規約データの取得 
     144            if (!SC_Utils_Ex::isBlank($this->kiyaku_id)) { 
    119145                // 編集項目を取得する。 
    120                 $arrKiyakuData = $this->lfGetKiyakuDataByKiyakuID($post['kiyaku_id']); 
     146                $arrKiyakuData = $this->lfGetKiyakuDataByKiyakuID($this->kiyaku_id); 
    121147 
    122148                // 入力項目にカテゴリ名を入力する。 
     
    124150                $this->arrForm['kiyaku_text'] = $arrKiyakuData[0]['kiyaku_text']; 
    125151                // POSTデータを引き継ぐ 
    126                 $this->tpl_kiyaku_id = $post['kiyaku_id']; 
    127                 break; 
    128             case 'down': 
    129                 $objDb->sfRankDown('dtb_kiyaku', 'kiyaku_id', $post['kiyaku_id']); 
    130  
    131                 // 再表示 
    132                 $this->objDisplay->reload(); 
    133                 break; 
    134             case 'up': 
    135                 $objDb->sfRankUp('dtb_kiyaku', 'kiyaku_id', $post['kiyaku_id']); 
    136  
    137                 // 再表示 
    138                 $this->objDisplay->reload(); 
    139                 break; 
    140             default: 
    141                 break; 
    142         } 
    143  
    144         $this->arrKiyaku = $this->lfGetKiyakuList(); 
    145         // POSTデータを引き継ぐ 
    146         $this->tpl_kiyaku_id = $kiyaku_id; 
    147  
     152                $this->tpl_kiyaku_id = $this->kiyaku_id; 
     153            } 
     154        } else { 
     155            // 画面にエラー表示しないため, ログ出力 
     156            GC_Utils_Ex::gfPrintLog('Error: ' . print_r($this->arrErr, true)); 
     157        } 
    148158    } 
    149159 
     
    161171        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    162172        // INSERTする値を作成する。 
     173        $sqlval = array(); 
    163174        $sqlval['kiyaku_title'] = $arrData['kiyaku_title']; 
    164175        $sqlval['kiyaku_text'] = $arrData['kiyaku_text']; 
     
    170181        $sqlval['kiyaku_id'] = $objQuery->nextVal('dtb_kiyaku_kiyaku_id'); 
    171182        $ret = $objQuery->insert('dtb_kiyaku', $sqlval); 
    172         return $ret; 
     183        return ($ret) ? $sqlval['kiyaku_id'] : FALSE; 
    173184    } 
    174185 
     
    198209        // UPDATEの実行 
    199210        $ret = $objQuery->update('dtb_kiyaku', $sqlval, $where, array($kiyaku_id)); 
    200         return $ret; 
     211        return ($ret) ? $kiyaku_id : FALSE; 
    201212    } 
    202213 
    203214    function lfInitParam($mode, &$objFormParam) { 
    204215        switch ($mode) { 
    205             case 'edit': 
     216            case 'confirm': 
    206217                $objFormParam->addParam('規約タイトル', 'kiyaku_title', SMTEXT_LEN, 'KVa', array('EXIST_CHECK','SPTAB_CHECK','MAX_LENGTH_CHECK')); 
    207218                $objFormParam->addParam('規約内容', 'kiyaku_text', MLTEXT_LEN, 'KVa', array('EXIST_CHECK','SPTAB_CHECK','MAX_LENGTH_CHECK')); 
     
    210221            case 'down': 
    211222            case 'up': 
     223            default: 
    212224                $objFormParam->addParam('規約ID', 'kiyaku_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    213                 break; 
    214             default: 
    215225                break; 
    216226        } 
     
    225235    function lfCheckError($mode, $objFormParam) { 
    226236        $arrErr = $objFormParam->checkError(); 
    227         if (!isset($arrErr['name']) && $mode == 'edit') { 
     237        if (!isset($arrErr['name']) && $mode == 'confirm') { 
    228238            $post = $objFormParam->getHashArray(); 
    229239            $objQuery =& SC_Query_Ex::getSingletonInstance(); 
Note: See TracChangeset for help on using the changeset viewer.