Changeset 22575 for branches/version-2_12-dev/data
- Timestamp:
- 2013/02/20 19:57:25 (11 years ago)
- Location:
- branches/version-2_12-dev/data
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/Smarty/templates/admin/basis/holiday.tpl
r22571 r22575 34 34 <td> 35 35 <!--{if $arrErr.title}--><span class="attention"><!--{$arrErr.title}--></span><!--{/if}--> 36 <input type="text" name="title" value="<!--{$arrForm.title |h}-->" maxlength="<!--{$smarty.const.SMTEXT_LEN}-->" style="" size="60" class="box60"/>36 <input type="text" name="title" value="<!--{$arrForm.title.value|h}-->" maxlength="<!--{$smarty.const.SMTEXT_LEN}-->" style="" size="60" class="box60"/> 37 37 <span class="attention"> (上限<!--{$smarty.const.SMTEXT_LEN}-->文字)</span> 38 38 </td> … … 48 48 <select name="month" style="<!--{$arrErr.month|sfGetErrorColor}-->"> 49 49 <option value="">--</option> 50 <!--{html_options options=$arrMonth selected=$arrForm.month }-->50 <!--{html_options options=$arrMonth selected=$arrForm.month.value}--> 51 51 </select>月 52 52 <select name="day" style="<!--{$arrErr.day|sfGetErrorColor}-->"> 53 53 <option value="">--</option> 54 <!--{html_options options=$arrDay selected=$arrForm.day }-->54 <!--{html_options options=$arrDay selected=$arrForm.day.value}--> 55 55 </select>日 56 56 <br /> -
branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Holiday.php
r22567 r22575 72 72 { 73 73 74 $obj Db = new SC_Helper_DB_Ex();74 $objHoliday = new SC_Helper_Holiday_Ex(); 75 75 76 76 $objDate = new SC_Date_Ex(); … … 80 80 $mode = $this->getMode(); 81 81 82 if (!empty($_POST)) { 83 84 $objFormParam = new SC_FormParam_Ex(); 85 $this->lfInitParam($mode, $objFormParam); 86 $objFormParam->setParam($_POST); 87 $objFormParam->convParam(); 88 $holiday_id = $objFormParam->getValue('holiday_id'); 89 90 $this->arrErr = $this->lfCheckError($mode, $objFormParam); 91 if (!empty($this->arrErr['holiday_id'])) { 92 trigger_error('', E_USER_ERROR); 93 return; 94 } 95 96 $post = $objFormParam->getHashArray(); 97 } 82 $objFormParam = new SC_FormParam_Ex(); 83 $this->lfInitParam($mode, $objFormParam); 84 $objFormParam->setParam($_POST); 85 $objFormParam->convParam(); 86 87 $holiday_id = $objFormParam->getValue('holiday_id'); 98 88 99 89 // 要求判定 … … 101 91 // 編集処理 102 92 case 'edit': 103 // POST値の引き継ぎ 104 $this->arrForm = $this->arrForm = $_POST; 93 $this->arrErr = $this->lfCheckError($objFormParam, $objHoliday); 94 if (!SC_Utils_Ex::isBlank($this->arrErr['holiday_id'])) { 95 trigger_error('', E_USER_ERROR); 96 return; 97 } 105 98 106 99 if (count($this->arrErr) <= 0) { 107 // 新規作成 108 if ($post['holiday_id'] == '') { 109 $this->lfInsertClass($this->arrForm, $_SESSION['member_id']); 100 // POST値の引き継ぎ 101 $arrParam = $objFormParam->getHashArray(); 102 // 登録実行 103 $res_holiday_id = $this->doRegist($holiday_id, $arrParam, $objHoliday); 104 if ($res_holiday_id !== FALSE) { 105 // 完了メッセージ 106 $holiday_id = $res_holiday_id; 107 $this->tpl_onload = "alert('登録が完了しました。');"; 110 108 } 111 // 既存編集112 else {113 $this->lfUpdateClass($this->arrForm, $post['holiday_id']);114 }115 116 // 再表示117 $this->objDisplay->reload();118 } else {119 // POSTデータを引き継ぐ120 $this->tpl_holiday_id = $post['holiday_id'];121 109 } 110 // POSTデータを引き継ぐ 111 $this->tpl_holiday_id = $holiday_id; 112 122 113 break; 123 114 // 削除 124 115 case 'delete': 125 $objDb->sfDeleteRankRecord('dtb_holiday', 'holiday_id', $post['holiday_id'], '', true); 126 127 // 再表示 128 $this->objDisplay->reload(); 116 $objHoliday->delete($holiday_id); 129 117 break; 130 118 // 編集前処理 131 119 case 'pre_edit': 132 120 // 編集項目を取得する。 133 $arrHolidayData = $this->lfGetHolidayDataByHolidayID($post['holiday_id']); 134 135 // 入力項目にカテゴリ名を入力する。 136 $this->arrForm['title'] = $arrHolidayData[0]['title']; 137 $this->arrForm['month'] = $arrHolidayData[0]['month']; 138 $this->arrForm['day'] = $arrHolidayData[0]['day']; 121 $arrHolidayData = $objHoliday->get($holiday_id); 122 $objFormParam->setParam($arrHolidayData); 123 139 124 // POSTデータを引き継ぐ 140 $this->tpl_holiday_id = $ post['holiday_id'];125 $this->tpl_holiday_id = $holiday_id; 141 126 break; 142 127 case 'down': 143 $obj Db->sfRankDown('dtb_holiday', 'holiday_id', $post['holiday_id']);128 $objHoliday->rankDown($holiday_id); 144 129 145 130 // 再表示 … … 147 132 break; 148 133 case 'up': 149 $obj Db->sfRankUp('dtb_holiday', 'holiday_id', $post['holiday_id']);134 $objHoliday->rankUp($holiday_id); 150 135 151 136 // 再表示 … … 156 141 } 157 142 158 $this->arrHoliday = $this->lfGetHolidayList(); 159 // POSTデータを引き継ぐ 160 $this->tpl_holiday_id = $holiday_id; 161 143 $this->arrForm = $objFormParam->getFormParamList(); 144 145 $this->arrHoliday = $objHoliday->getList(); 162 146 } 163 147 … … 172 156 } 173 157 174 function lfGetHolidayDataByHolidayID($holiday_id) 175 { 176 $objQuery =& SC_Query_Ex::getSingletonInstance(); 177 178 $where = 'holiday_id = ?'; 179 return $objQuery->select('title, month, day', 'dtb_holiday', $where, array($holiday_id)); 180 } 181 182 function lfGetHolidayList() 183 { 184 $objQuery =& SC_Query_Ex::getSingletonInstance(); 185 186 $where = 'del_flg <> 1'; 187 $objQuery->setOrder('rank DESC'); 188 return $objQuery->select('holiday_id, title, month, day', 'dtb_holiday', $where); 189 } 190 191 /* DBへの挿入 */ 192 function lfInsertClass($arrData, $member_id) 193 { 194 $objQuery =& SC_Query_Ex::getSingletonInstance(); 195 // INSERTする値を作成する。 196 $sqlval['title'] = $arrData['title']; 197 $sqlval['month'] = $arrData['month']; 198 $sqlval['day'] = $arrData['day']; 199 $sqlval['creator_id'] = $member_id; 200 $sqlval['rank'] = $objQuery->max('rank', 'dtb_holiday') + 1; 201 $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 202 $sqlval['create_date'] = 'CURRENT_TIMESTAMP'; 203 // INSERTの実行 204 $sqlval['holiday_id'] = $objQuery->nextVal('dtb_holiday_holiday_id'); 205 $ret = $objQuery->insert('dtb_holiday', $sqlval); 206 return $ret; 207 } 208 209 /* DBへの更新 */ 210 function lfUpdateClass($arrData) 211 { 212 $objQuery =& SC_Query_Ex::getSingletonInstance(); 213 // UPDATEする値を作成する。 214 $sqlval['title'] = $arrData['title']; 215 $sqlval['month'] = $arrData['month']; 216 $sqlval['day'] = $arrData['day']; 217 $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 218 $where = 'holiday_id = ?'; 219 // UPDATEの実行 220 $ret = $objQuery->update('dtb_holiday', $sqlval, $where, array($arrData['holiday_id'])); 221 return $ret; 158 /** 159 * 登録処理を実行. 160 * 161 * @param integer $holiday_id 162 * @param array $sqlval 163 * @param object $objHoliday 164 * @return multiple 165 */ 166 function doRegist($holiday_id, $sqlval, SC_Helper_Holiday_Ex $objHoliday) 167 { 168 $sqlval['holiday_id'] = $holiday_id; 169 $sqlval['creator_id'] = $_SESSION['member_id']; 170 return $objHoliday->save($sqlval); 222 171 } 223 172 … … 226 175 switch ($mode) { 227 176 case 'edit': 177 case 'pre_edit': 228 178 $objFormParam->addParam('タイトル', 'title', STEXT_LEN, 'KVa', array('EXIST_CHECK','SPTAB_CHECK','MAX_LENGTH_CHECK')); 229 179 $objFormParam->addParam('月', 'month', INT_LEN, 'n', array('SELECT_CHECK','SPTAB_CHECK','MAX_LENGTH_CHECK')); 230 180 $objFormParam->addParam('日', 'day', INT_LEN, 'n', array('SELECT_CHECK','SPTAB_CHECK','MAX_LENGTH_CHECK')); 231 // breakしない 181 $objFormParam->addParam('定休日ID', 'holiday_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 182 break; 232 183 case 'delete': 233 case 'pre_edit':234 184 case 'down': 235 185 case 'up': 186 default: 236 187 $objFormParam->addParam('定休日ID', 'holiday_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 237 188 break; 238 default:239 break;240 189 } 241 190 } … … 244 193 * 入力エラーチェック 245 194 * 246 * @param string $mode 195 * @param object $objFormParam 196 * @param object $objHoliday 247 197 * @return array 248 198 */ 249 function lfCheckError($mode, &$objFormParam) 250 { 251 $objFormParam->convParam(); 199 function lfCheckError(&$objFormParam, SC_Helper_Holiday_Ex &$objHoliday) 200 { 252 201 $arrErr = $objFormParam->checkError(); 253 $post = $objFormParam->getHashArray(); 254 255 if (!isset($arrErr['date'])) { 256 $objQuery =& SC_Query_Ex::getSingletonInstance(); 257 $where = 'del_flg = 0 AND month = ? AND day = ?'; 258 $arrWhereVal = array($post['month'], $post['day']); 259 if (!empty($post['holiday_id'])) { 260 $where .= ' AND holiday_id <> ?'; 261 $arrWhereVal[] = $post['holiday_id']; 262 } 263 $arrRet = $objQuery->select('count(holiday_id) as count', 'dtb_holiday', $where, $arrWhereVal); 264 265 // 編集中のレコード以外に同じ日付が存在する場合 266 if ($arrRet[0]['count'] > 0) { 267 $arrErr['date'] = '※ 既に同じ日付の登録が存在します。<br>'; 268 } 202 $arrForm = $objFormParam->getHashArray(); 203 204 // 編集中のレコード以外に同じ日付が存在する場合 205 if ($objHoliday->isDateExist($arrForm['month'], $arrForm['day'], $arrForm['holiday_id'])) { 206 $arrErr['date'] = '※ 既に同じ日付の登録が存在します。<br>'; 269 207 } 270 208 return $arrErr;
Note: See TracChangeset
for help on using the changeset viewer.