Changeset 22796 for branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Kiyaku.php
- Timestamp:
- 2013/05/02 18:11:36 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Kiyaku.php
r22570 r22796 32 32 * @version $Id$ 33 33 */ 34 class LC_Page_Admin_Basis_Kiyaku extends LC_Page_Admin_Ex 35 { 34 class LC_Page_Admin_Basis_Kiyaku extends LC_Page_Admin_Ex { 36 35 37 36 // }}} … … 43 42 * @return void 44 43 */ 45 function init() 46 { 44 function init() { 47 45 parent::init(); 48 46 $this->tpl_mainpage = 'basis/kiyaku.tpl'; … … 58 56 * @return void 59 57 */ 60 function process() 61 { 58 function process() { 62 59 $this->action(); 63 60 $this->sendResponse(); … … 69 66 * @return void 70 67 */ 71 function action() 72 { 73 74 $objKiyaku = new SC_Helper_Kiyaku_Ex(); 68 function action() { 69 70 $objDb = new SC_Helper_DB_Ex(); 75 71 76 72 $mode = $this->getMode(); 77 73 $objFormParam = new SC_FormParam_Ex(); 78 74 $this->lfInitParam($mode, $objFormParam); 79 $objFormParam->setParam($_ POST);75 $objFormParam->setParam($_REQUEST); 80 76 $objFormParam->convParam(); 81 82 $kiyaku_id = $objFormParam->getValue('kiyaku_id'); 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; 84 } 83 85 84 86 // 要求判定 … … 86 88 // 編集処理 87 89 case 'confirm': 88 // エラーチェック 89 $this->arrErr = $this->lfCheckError($objFormParam, $objKiyaku); 90 if (!SC_Utils_Ex::isBlank($this->arrErr['kiyaku_id'])) { 91 trigger_error('', E_USER_ERROR); 92 return; 93 } 94 95 if (SC_Utils_Ex::isBlank($this->arrErr)) { 96 // POST値の引き継ぎ 97 $arrParam = $objFormParam->getHashArray(); 98 // 登録実行 99 $res_kiyaku_id = $this->doRegist($kiyaku_id, $arrParam, $objKiyaku); 100 if ($res_kiyaku_id !== FALSE) { 101 // 完了メッセージ 102 $kiyaku_id = $res_kiyaku_id; 103 $this->tpl_onload = "alert('登録が完了しました。');"; 90 // POST値の引き継ぎ 91 $this->arrForm = $_POST; 92 93 if (!$is_error) { 94 if ($this->kiyaku_id == '') { 95 $result = $this->lfInsertClass($this->arrForm, $_SESSION['member_id']); // 新規作成 96 } else { 97 $result = $this->lfUpdateClass($this->arrForm, $this->kiyaku_id); // 既存編集 98 } 99 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(); 104 108 } 105 109 } 106 107 // 編集中の規約IDを渡す108 $this->tpl_kiyaku_id = $kiyaku_id;109 110 break; 110 111 // 削除 111 112 case 'delete': 112 $objKiyaku->delete($kiyaku_id); 113 break; 114 115 // 編集前処理 116 case 'pre_edit': 117 // 編集項目を取得する。 118 $arrKiyakuData = $objKiyaku->get($kiyaku_id); 119 $objFormParam->setParam($arrKiyakuData); 120 121 // 編集中の規約IDを渡す 122 $this->tpl_kiyaku_id = $kiyaku_id; 123 break; 124 125 case 'down': 126 $objKiyaku->rankDown($kiyaku_id); 113 $objDb->sfDeleteRankRecord('dtb_kiyaku', 'kiyaku_id', $this->kiyaku_id, '', true); 127 114 128 115 // 再表示 129 116 $this->objDisplay->reload(); 130 117 break; 131 132 case 'up': 133 $objKiyaku->rankUp($kiyaku_id); 118 case 'down': 119 $objDb->sfRankDown('dtb_kiyaku', 'kiyaku_id', $this->kiyaku_id); 134 120 135 121 // 再表示 136 122 $this->objDisplay->reload(); 137 123 break; 138 124 case 'up': 125 $objDb->sfRankUp('dtb_kiyaku', 'kiyaku_id', $this->kiyaku_id); 126 127 // 再表示 128 $this->objDisplay->reload(); 129 break; 139 130 default: 131 if (isset($_GET['msg']) && $_GET['msg'] == 'on') { 132 // 完了メッセージ 133 $this->tpl_onload = "alert('登録が完了しました。');"; 134 } 140 135 break; 141 136 } … … 143 138 $this->arrForm = $objFormParam->getFormParamList(); 144 139 145 // 規約一覧を取得 146 $this->arrKiyaku = $objKiyaku->getList(); 147 } 140 if (!$is_error) { 141 // 規約一覧を取得 142 $this->arrKiyaku = $this->lfGetKiyakuList(); 143 // kiyaku_id が指定されている場合には規約データの取得 144 if (!SC_Utils_Ex::isBlank($this->kiyaku_id)) { 145 // 編集項目を取得する。 146 $arrKiyakuData = $this->lfGetKiyakuDataByKiyakuID($this->kiyaku_id); 147 148 // 入力項目にカテゴリ名を入力する。 149 $this->arrForm['kiyaku_title'] = $arrKiyakuData[0]['kiyaku_title']; 150 $this->arrForm['kiyaku_text'] = $arrKiyakuData[0]['kiyaku_text']; 151 // POSTデータを引き継ぐ 152 $this->tpl_kiyaku_id = $this->kiyaku_id; 153 } 154 } else { 155 // 画面にエラー表示しないため, ログ出力 156 GC_Utils_Ex::gfPrintLog('Error: ' . print_r($this->arrErr, true)); 157 } 158 } 148 159 149 160 /** … … 152 163 * @return void 153 164 */ 154 function destroy() 155 { 165 function destroy() { 156 166 parent::destroy(); 157 167 } 158 168 159 /** 160 * 登録処理を実行. 161 * 162 * @param integer $kiyaku_id 163 * @param array $sqlval 164 * @param object $objKiyaku 165 * @return multiple 166 */ 167 function doRegist($kiyaku_id, $sqlval, SC_Helper_Kiyaku_Ex &$objKiyaku) 168 { 169 $sqlval['kiyaku_id'] = $kiyaku_id; 170 $sqlval['creator_id'] = $_SESSION['member_id']; 171 return $objKiyaku->save($sqlval); 172 } 173 174 function lfInitParam($mode, &$objFormParam) 175 { 169 /* DBへの挿入 */ 170 function lfInsertClass($arrData, $member_id) { 171 $objQuery =& SC_Query_Ex::getSingletonInstance(); 172 // INSERTする値を作成する。 173 $sqlval = array(); 174 $sqlval['kiyaku_title'] = $arrData['kiyaku_title']; 175 $sqlval['kiyaku_text'] = $arrData['kiyaku_text']; 176 $sqlval['creator_id'] = $member_id; 177 $sqlval['rank'] = $objQuery->max('rank', 'dtb_kiyaku') + 1; 178 $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 179 $sqlval['create_date'] = 'CURRENT_TIMESTAMP'; 180 // INSERTの実行 181 $sqlval['kiyaku_id'] = $objQuery->nextVal('dtb_kiyaku_kiyaku_id'); 182 $ret = $objQuery->insert('dtb_kiyaku', $sqlval); 183 return ($ret) ? $sqlval['kiyaku_id'] : FALSE; 184 } 185 186 function lfGetKiyakuDataByKiyakuID($kiyaku_id) { 187 $objQuery =& SC_Query_Ex::getSingletonInstance(); 188 189 $where = 'kiyaku_id = ?'; 190 return $objQuery->select('kiyaku_text, kiyaku_title', 'dtb_kiyaku', $where, array($kiyaku_id)); 191 } 192 193 function lfGetKiyakuList() { 194 $objQuery =& SC_Query_Ex::getSingletonInstance(); 195 196 $where = 'del_flg <> 1'; 197 $objQuery->setOrder('rank DESC'); 198 return $objQuery->select('kiyaku_title, kiyaku_text, kiyaku_id', 'dtb_kiyaku', $where); 199 } 200 201 /* DBへの更新 */ 202 function lfUpdateClass($arrData, $kiyaku_id) { 203 $objQuery =& SC_Query_Ex::getSingletonInstance(); 204 // UPDATEする値を作成する。 205 $sqlval['kiyaku_title'] = $arrData['kiyaku_title']; 206 $sqlval['kiyaku_text'] = $arrData['kiyaku_text']; 207 $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 208 $where = 'kiyaku_id = ?'; 209 // UPDATEの実行 210 $ret = $objQuery->update('dtb_kiyaku', $sqlval, $where, array($kiyaku_id)); 211 return ($ret) ? $kiyaku_id : FALSE; 212 } 213 214 function lfInitParam($mode, &$objFormParam) { 176 215 switch ($mode) { 177 216 case 'confirm': 178 case 'pre_edit':179 217 $objFormParam->addParam('規約タイトル', 'kiyaku_title', SMTEXT_LEN, 'KVa', array('EXIST_CHECK','SPTAB_CHECK','MAX_LENGTH_CHECK')); 180 218 $objFormParam->addParam('規約内容', 'kiyaku_text', MLTEXT_LEN, 'KVa', array('EXIST_CHECK','SPTAB_CHECK','MAX_LENGTH_CHECK')); 181 $objFormParam->addParam('規約ID', 'kiyaku_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));182 break;183 219 case 'delete': 220 case 'pre_edit': 184 221 case 'down': 185 222 case 'up': … … 194 231 * 195 232 * @param string $mode 196 * @param object $objKiyaku197 233 * @return array 198 234 */ 199 function lfCheckError($objFormParam, SC_Helper_Kiyaku_Ex &$objKiyaku) 200 { 235 function lfCheckError($mode, $objFormParam) { 201 236 $arrErr = $objFormParam->checkError(); 202 $arrForm = $objFormParam->getHashArray(); 203 204 $isTitleExist = $objKiyaku->isTitleExist($arrForm['kiyaku_title'], $arrForm['kiyaku_id']); 205 // 編集中のレコード以外に同じ名称が存在する場合 206 if ($isTitleExist) { 207 $arrErr['name'] = '※ 既に同じ内容の登録が存在します。<br />'; 237 if (!isset($arrErr['name']) && $mode == 'confirm') { 238 $post = $objFormParam->getHashArray(); 239 $objQuery =& SC_Query_Ex::getSingletonInstance(); 240 $arrRet = $objQuery->select('kiyaku_id, kiyaku_title', 'dtb_kiyaku', 'del_flg = 0 AND kiyaku_title = ?', array($post['kiyaku_title'])); 241 // 編集中のレコード以外に同じ名称が存在する場合 242 if ($arrRet[0]['kiyaku_id'] != $post['kiyaku_id'] && $arrRet[0]['kiyaku_title'] == $post['kiyaku_title']) { 243 $arrErr['name'] = '※ 既に同じ内容の登録が存在します。<br>'; 244 } 208 245 } 209 246 return $arrErr;
Note: See TracChangeset
for help on using the changeset viewer.