Changeset 20220
- Timestamp:
- 2011/02/20 01:55:13 (13 years ago)
- Location:
- branches/version-2_5-dev/data
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/Smarty/templates/admin/products/maker.tpl
r20116 r20220 31 31 <th>メーカー名<span class="attention"> *</span></th> 32 32 <td> 33 <!--{if $arrErr.maker_id}--><span class="attention"><!--{$arrErr.maker_id}--></span><br /><!--{/if}--> 33 34 <!--{if $arrErr.name}--><span class="attention"><!--{$arrErr.name}--></span><!--{/if}--> 34 35 <input type="text" name="name" value="<!--{$arrForm.name|h}-->" maxlength="<!--{$smarty.const.SMTEXT_LEN}-->" style="" size="60" class="box60"/> -
branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Maker.php
r20116 r20220 67 67 */ 68 68 function action() { 69 $objSess = new SC_Session(); 70 $objQuery = new SC_Query(); 71 $objDb = new SC_Helper_DB_Ex(); 72 73 // 認証可否の判定 74 SC_Utils_Ex::sfIsSuccess($objSess); 75 76 // 要求判定 69 70 // 認証可否の判定. 71 SC_Utils_Ex::sfIsSuccess(new SC_Session()); 72 73 // POST値の引き継ぎ 74 $this->arrForm = $_POST; 75 76 // 入力文字の変換 77 $this->arrForm = $this->lfConvertParam($this->arrForm); 78 79 // モードによる処理切り替え. 77 80 switch($this->getMode()) { 78 // 編集処理 81 82 // 編集処理. 79 83 case 'edit': 80 // POST値の引き継ぎ81 $this->arrForm = $_POST;82 // 入力文字の変換83 $this->arrForm = $this->lfConvertParam($this->arrForm);84 85 84 // エラーチェック 86 $this->arrErr = $this->lfErrorCheck( );85 $this->arrErr = $this->lfErrorCheck($this->arrForm); 87 86 if(count($this->arrErr) <= 0) { 88 if($_POST['maker_id'] == "") { 89 $this->lfInsertClass($this->arrForm); // 新規作成 87 if($this->arrForm['maker_id'] == "") { 88 // メーカー情報新規登録. 89 $this->lfInsert($this->arrForm); 90 90 } else { 91 $this->lfUpdateClass($this->arrForm); // 既存編集 91 // メーカー情報編集. 92 $this->lfUpdate($this->arrForm); 92 93 } 93 // 再表示 94 // 再表示. 94 95 $this->objDisplay->reload(); 95 96 } else { 96 97 // POSTデータを引き継ぐ 97 $this->tpl_maker_id = $ _POST['maker_id'];98 $this->tpl_maker_id = $this->arrForm['maker_id']; 98 99 } 99 100 break; 100 // 削除 101 case 'delete': 102 $objDb->sfDeleteRankRecord("dtb_maker", "maker_id", $_POST['maker_id'], "", true); 103 // 再表示 104 $this->objDisplay->reload(); 105 break; 101 106 102 // 編集前処理 107 103 case 'pre_edit': 108 // 編集項目をDBより取得する。 109 $where = "maker_id = ?"; 110 $arrRet = $objQuery->select("name", "dtb_maker", $where, array($_POST['maker_id'])); 111 // 入力項目にカテゴリ名を入力する。 112 $this->arrForm['name'] = $arrRet[0]['name']; 113 // POSTデータを引き継ぐ 114 $this->tpl_maker_id = $_POST['maker_id']; 115 break; 104 $this->arrForm = $this->lfPreEdit($this->arrForm, $this->arrForm['maker_id']); 105 $this->tpl_maker_id = $this->arrForm['maker_id']; 106 break; 107 108 case 'up': 116 109 case 'down': 117 $objDb->sfRankDown("dtb_maker", "maker_id", $_POST['maker_id']);118 // 再表示119 $this->objDisplay->reload();120 break; 121 case 'up':122 $objDb->sfRankUp("dtb_maker", "maker_id", $_POST['maker_id']);123 // 再表示124 $this->objDisplay->reload();125 break; 110 // メーカー順変更 111 $this->lfRankChange($this->arrForm['maker_id'], $this->getMode()); 112 break; 113 114 // 削除. 115 case 'delete': 116 $this->lfDelete($this->arrForm['maker_id']); 117 break; 118 126 119 default: 127 120 break; 128 121 } 129 122 130 // 規格の読込 131 $where = "del_flg <> 1"; 132 $objQuery->setOrder("rank DESC"); 133 $this->arrMaker = $objQuery->select("maker_id, name", "dtb_maker", $where); 123 // メーカー情報読み込み 124 $this->arrMaker = $this->lfDisp(); 125 134 126 } 135 127 … … 143 135 } 144 136 145 /* DBへの挿入 */ 146 function lfInsertClass($arrData) { 147 $objQuery = new SC_Query(); 148 // INSERTする値を作成する。 149 $sqlval['name'] = $arrData['name']; 137 138 /** 139 * メーカー情報表示 140 * 141 * @return array @arrMaker メーカー情報 142 */ 143 function lfDisp() { 144 $objQuery =& SC_Query::getSingletonInstance(); 145 146 // 削除されていないメーカー情報を表示する. 147 $where = "del_flg = 0"; 148 $objQuery->setOrder("rank DESC"); 149 $arrMaker = array(); 150 $arrMaker = $objQuery->select("maker_id, name", "dtb_maker", $where); 151 return $arrMaker; 152 } 153 154 /** 155 * メーカー情報新規登録 156 * 157 * @return void 158 */ 159 function lfInsert($arrForm) { 160 $objQuery =& SC_Query::getSingletonInstance(); 161 162 // INSERTする値を作成する 163 $sqlval['name'] = $arrForm['name']; 150 164 $sqlval['rank'] = $objQuery->max("rank", "dtb_maker") + 1; 151 165 $sqlval['creator_id'] = $_SESSION['member_id']; 152 166 $sqlval['update_date'] = "Now()"; 153 167 $sqlval['create_date'] = "Now()"; 168 $sqlval['maker_id'] = $objQuery->nextVal('dtb_maker_maker_id'); 169 154 170 // INSERTの実行 155 $sqlval['maker_id'] = $objQuery->nextVal('dtb_maker_maker_id'); 156 $ret = $objQuery->insert("dtb_maker", $sqlval); 157 return $ret; 158 } 159 160 /* DBへの更新 */ 161 function lfUpdateClass($arrData) { 162 $objQuery = new SC_Query(); 163 // UPDATEする値を作成する。 164 $sqlval['name'] = $arrData['name']; 171 $objQuery->insert("dtb_maker", $sqlval); 172 } 173 174 /** 175 * メーカー情報更新 176 * 177 * @return void 178 */ 179 function lfUpdate($arrForm) { 180 $objQuery =& SC_Query::getSingletonInstance(); 181 182 // UPDATEする値を作成する. 183 $sqlval['name'] = $arrForm['name']; 165 184 $sqlval['update_date'] = "Now()"; 166 185 $where = "maker_id = ?"; 167 // UPDATEの実行 168 $ret = $objQuery->update("dtb_maker", $sqlval, $where, array($_POST['maker_id'])); 169 return $ret; 170 } 171 172 /* 取得文字列の変換 */ 173 function lfConvertParam($array) { 186 187 // UPDATEの実行. 188 $objQuery->update("dtb_maker", $sqlval, $where, array($arrForm['maker_id'])); 189 } 190 191 /** 192 * メーカー情報削除 193 * 194 * @param integer $maker_id メーカーID 195 * @return void 196 */ 197 function lfDelete($maker_id) { 198 $objDb = new SC_Helper_DB_Ex(); 199 $objDb->sfDeleteRankRecord("dtb_maker", "maker_id", $maker_id, "", true); 200 201 // 再表示 202 $this->objDisplay->reload(); 203 } 204 205 /** 206 * メーカー情報順番変更 207 * 208 * @param integer $maker_id メーカーID 209 * @param string $mode up か down のモードを示す文字列 210 * @return void 211 */ 212 function lfRankChange($maker_id, $mode) { 213 $objDb = new SC_Helper_DB_Ex(); 214 215 switch($mode) { 216 case 'up': 217 $objDb->sfRankUp("dtb_maker", "maker_id", $maker_id); 218 break; 219 220 case 'down': 221 $objDb->sfRankDown("dtb_maker", "maker_id", $maker_id); 222 break; 223 } 224 225 // 再表示 226 $this->objDisplay->reload(); 227 } 228 229 230 /** 231 * メーカー情報編集前処理 232 * 233 * @param array $arrForm 234 * @param integer $maker_id メーカーID 235 * @return array $arrForm メーカー名を追加 236 */ 237 function lfPreEdit(&$arrForm, $maker_id) { 238 $objQuery =& SC_Query::getSingletonInstance(); 239 240 // 編集項目を取得する 241 $where = "maker_id = ?"; 242 $arrMaker = array(); 243 $arrMaker = $objQuery->select("name", "dtb_maker", $where, array($maker_id)); 244 $arrForm['name'] = $arrMaker[0]['name']; 245 246 return $arrForm; 247 } 248 249 /** 250 * 取得文字列の変換 251 * 252 * @param array $arrForm 変換前 253 * @return array $arrForm 変換後 254 */ 255 function lfConvertParam($arrForm) { 174 256 // 文字変換 257 $arrConvList['maker_id'] = "n"; 175 258 $arrConvList['name'] = "KVa"; 176 259 177 260 foreach ($arrConvList as $key => $val) { 178 // POSTされてきた値のみ変換する 。179 if(isset($arr ay[$key])) {180 $arr ay[$key] = mb_convert_kana($array[$key] ,$val);261 // POSTされてきた値のみ変換する 262 if(isset($arrForm[$key])) { 263 $arrForm[$key] = mb_convert_kana($arrForm[$key] ,$val); 181 264 } 182 265 } 183 return $array; 184 } 185 186 /* 入力エラーチェック */ 187 function lfErrorCheck() { 188 $objErr = new SC_CheckError(); 266 return $arrForm; 267 } 268 269 /** 270 * 入力エラーチェック 271 * 272 * @param array $arrForm 273 * @return array $objErr->arrErr エラー内容 274 */ 275 function lfErrorCheck($arrForm) { 276 $objErr = new SC_CheckError($arrForm); 189 277 $objErr->doFunc(array("メーカー名", "name", SMTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 278 279 // maker_id の正当性チェック 280 if(!empty($arrForm['maker_id'])) { 281 $objDb = new SC_Helper_DB_Ex(); 282 if(!SC_Utils_Ex::sfIsInt($arrForm['maker_id']) 283 || SC_Utils_Ex::sfIsZeroFilling($arrForm['maker_id']) 284 || !$objDb->sfIsRecord('dtb_maker', 'maker_id', array($arrForm['maker_id']))) { 285 286 // maker_idが指定されていて、且つその値が不正と思われる場合はエラー. 287 $objErr->arrErr['maker_id'] = "※ メーカーIDが不正です<br />"; 288 } 289 } 190 290 if(!isset($objErr->arrErr['name'])) { 191 $objQuery = new SC_Query(); 192 $arrRet = $objQuery->select("maker_id, name", "dtb_maker", "del_flg = 0 AND name = ?", array($_POST['name'])); 291 $objQuery =& SC_Query::getSingletonInstance(); 292 $arrMaker = array(); 293 $arrMaker = $objQuery->select("maker_id, name", "dtb_maker", "del_flg = 0 AND name = ?", array($arrForm['name'])); 294 193 295 // 編集中のレコード以外に同じ名称が存在する場合 194 if ($arr Ret[0]['maker_id'] != $_POST['maker_id'] && $arrRet[0]['name'] == $_POST['name']) {195 $objErr->arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br >";296 if ($arrMaker[0]['maker_id'] != $arrForm['maker_id'] && $arrMaker[0]['name'] == $arrForm['name']) { 297 $objErr->arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br />"; 196 298 } 197 299 } 300 198 301 return $objErr->arrErr; 199 302 }
Note: See TracChangeset
for help on using the changeset viewer.