Changeset 20172
- Timestamp:
- 2011/02/16 15:46:09 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Class.php
r20116 r20172 68 68 function action() { 69 69 $objSess = new SC_Session(); 70 $objQuery =& SC_Query::getSingletonInstance();71 70 $objDb = new SC_Helper_DB_Ex(); 71 $objFormParam = new SC_FormParam(); 72 72 73 73 // 認証可否の判定 74 SC_Utils_Ex::sfIsSuccess( $objSess);74 SC_Utils_Ex::sfIsSuccess(new SC_Session()); 75 75 76 76 // 要求判定 … … 78 78 // 編集処理 79 79 case 'edit': 80 // POST値の引き継ぎ 81 $this->arrForm = $_POST; 82 // 入力文字の変換 83 $this->arrForm = $this->lfConvertParam($this->arrForm); 84 // エラーチェック 85 $this->arrErr = $this->lfErrorCheck(); 86 if(count($this->arrErr) <= 0) { 87 if($_POST['class_id'] == "") { 80 // パラメータ設定 81 $this->lfInitParam($objFormParam); 82 $objFormParam->setParam($_POST); 83 $objFormParam->convParam(); 84 // 入力パラメーターチェック 85 $this->arrErr = $this->lfCheckError($objFormParam); 86 if (SC_Utils_Ex::isBlank($this->arrErr)) { 87 $this->arrForm = $objFormParam->getHashArray(); 88 //新規規格追加かどうかを判定する 89 $is_insert = $this->lfCheckInsert($this->arrForm); 90 if($is_insert) { 88 91 $this->lfInsertClass($this->arrForm); // 新規作成 89 92 } else { … … 91 94 } 92 95 // 再表示 93 $this->objDisplay->reload();96 SC_Response::reload(); 94 97 } else { 95 98 // POSTデータを引き継ぐ 96 $this->tpl_class_id = $_POST['class_id']; 97 } 98 break; 99 $this->tpl_class_id = $this->arrForm['class_id']; 100 } 101 break; 102 99 103 // 削除 100 104 case 'delete': 101 $objDb->sfDeleteRankRecord("dtb_class", "class_id", $_POST['class_id'], "", true); 102 $objQuery->delete("dtb_classcategory", "class_id = ?", $_POST['class_id']); 105 // パラメータ設定 106 $this->lfClassIdParam($objFormParam); 107 $objFormParam->setParam($_POST); 108 $objFormParam->convParam(); 109 // 入力パラメーターチェック 110 $this->arrErr = $objFormParam->checkError(); 111 if (SC_Utils_Ex::isBlank($this->arrErr)) { 112 $class_id = $objFormParam->getValue('class_id'); 113 }else{ 114 break; 115 } 116 //規格データの削除処理 117 $this->lfDeleteClass($class_id ,$objDb); 103 118 // 再表示 104 $this->objDisplay->reload();119 SC_Response::reload(); 105 120 break; 106 121 // 編集前処理 107 122 case 'pre_edit': 108 // 編集項目をDBより取得する。 109 $where = "class_id = ?"; 110 $class_name = $objQuery->get("name", "dtb_class", $where, array($_POST['class_id'])); 123 // パラメータ設定 124 $this->lfClassIdParam($objFormParam); 125 $objFormParam->setParam($_POST); 126 $objFormParam->convParam(); 127 // 入力パラメーターチェック 128 $this->arrErr = $objFormParam->checkError(); 129 if (SC_Utils_Ex::isBlank($this->arrErr)) { 130 $class_id = $objFormParam->getValue('class_id'); 131 }else{ 132 break; 133 } 134 // 規格名を取得する。 135 $class_name = $this->lfGetClassName($class_id); 111 136 // 入力項目にカテゴリ名を入力する。 112 137 $this->arrForm['name'] = $class_name; 138 113 139 // POSTデータを引き継ぐ 114 $this->tpl_class_id = $ _POST['class_id'];140 $this->tpl_class_id = $class_id; 115 141 break; 116 142 case 'down': 117 $objDb->sfRankDown("dtb_class", "class_id", $_POST['class_id']); 143 // パラメータ設定 144 $this->lfClassIdParam($objFormParam); 145 $objFormParam->setParam($_POST); 146 $objFormParam->convParam(); 147 // 入力パラメーターチェック 148 $this->arrErr = $objFormParam->checkError(); 149 if (SC_Utils_Ex::isBlank($this->arrErr)) { 150 $class_id = $objFormParam->getValue('class_id'); 151 }else{ 152 break; 153 } 154 $objDb->sfRankDown("dtb_class", "class_id", $class_id); 118 155 // 再表示 119 $this->objDisplay->reload();156 SC_Response::reload(); 120 157 break; 121 158 case 'up': 122 $objDb->sfRankUp("dtb_class", "class_id", $_POST['class_id']); 159 // パラメータ設定 160 $this->lfClassIdParam($objFormParam); 161 $objFormParam->setParam($_POST); 162 $objFormParam->convParam(); 163 // 入力パラメーターチェック 164 $this->arrErr = $objFormParam->checkError(); 165 if (SC_Utils_Ex::isBlank($this->arrErr)) { 166 $class_id = $objFormParam->getValue('class_id'); 167 }else{ 168 break; 169 } 170 $objDb->sfRankUp("dtb_class", "class_id", $class_id); 123 171 // 再表示 124 $this->objDisplay->reload();172 SC_Response::reload(); 125 173 break; 126 174 default: … … 129 177 130 178 // 規格の読込 179 $this->arrClass = $this->lfGetClass(); 180 $this->arrClassCatCount = SC_Utils_Ex::sfGetClassCatCount(); 181 } 182 183 /** 184 * デストラクタ. 185 * 186 * @return void 187 */ 188 function destroy() { 189 parent::destroy(); 190 } 191 192 /** 193 * パラメータの初期化を行う. 194 * 195 * @param SC_FormParam $objFormParam SC_FormParam インスタンス 196 * @return void 197 */ 198 function lfInitParam(&$objFormParam) { 199 $objFormParam->addParam("規格名", "name", STEXT_LEN, "a", array("EXIST_CHECK" ,"SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 200 $objFormParam->addParam("規格ID", "class_id", INT_LEN, "n", array("NUM_CHECK")); 201 } 202 203 /** 204 * 規格IDの初期化を行う. 205 * 206 * @param SC_FormParam $objFormParam SC_FormParam インスタンス 207 * @return void 208 */ 209 function lfClassIdParam(&$objFormParam) { 210 $objFormParam->addParam("規格ID", "class_id", INT_LEN, "n", array("NUM_CHECK")); 211 } 212 213 /** 214 * 有効な規格情報の取得 215 * 216 * @param array $objFormParam フォームパラメータークラス 217 * @return array 規格情報 218 */ 219 function lfGetClass($arrData) { 220 $objQuery =& SC_Query::getSingletonInstance(); 221 131 222 $where = "del_flg <> 1"; 132 223 $objQuery->setOrder("rank DESC"); 133 $this->arrClass = $objQuery->select("name, class_id", "dtb_class", $where); 134 $this->arrClassCatCount = SC_Utils_Ex::sfGetClassCatCount(); 135 } 136 137 /** 138 * デストラクタ. 139 * 140 * @return void 141 */ 142 function destroy() { 143 parent::destroy(); 144 } 145 146 /* DBへの挿入 */ 147 function lfInsertClass($arrData) { 224 $arrClass = $objQuery->select("name, class_id", "dtb_class", $where); 225 return $arrClass; 226 } 227 228 /** 229 * 規格名を取得する 230 * 231 * @param array $arrForm フォームパラメータークラス 232 * @return string $class_name 規格名 233 */ 234 function lfGetClassName($class_id) { 235 $objQuery =& SC_Query::getSingletonInstance(); 236 $where = "class_id = ?"; 237 $class_name = $objQuery->get("name", "dtb_class", $where, array($class_id)); 238 return $class_name; 239 } 240 241 /** 242 * 規格情報を新規登録 243 * 244 * @param array $arrForm フォームパラメータークラス 245 * @return boolean DB登録結果 成功:True 失敗:false 246 */ 247 function lfInsertClass($arrForm) { 148 248 $objQuery =& SC_Query::getSingletonInstance(); 149 249 // INSERTする値を作成する。 150 $sqlval['name'] = $arr Data['name'];250 $sqlval['name'] = $arrForm['name']; 151 251 $sqlval['creator_id'] = $_SESSION['member_id']; 152 252 $sqlval['rank'] = $objQuery->max("rank", "dtb_class") + 1; … … 156 256 $sqlval['class_id'] = $objQuery->nextVal('dtb_class_class_id'); 157 257 $ret = $objQuery->insert("dtb_class", $sqlval); 158 159 258 return $ret; 160 259 } 161 260 162 /* DBへの更新 */ 163 function lfUpdateClass($arrData) { 261 /** 262 * 規格情報を更新 263 * 264 * @param array $arrForm フォームパラメータークラス 265 * @return boolean DB登録結果 成功:True 失敗:false 266 */ 267 function lfUpdateClass($arrForm) { 164 268 $objQuery =& SC_Query::getSingletonInstance(); 165 269 // UPDATEする値を作成する。 166 $sqlval['name'] = $arr Data['name'];270 $sqlval['name'] = $arrForm['name']; 167 271 $sqlval['update_date'] = "Now()"; 168 272 $where = "class_id = ?"; 169 273 // UPDATEの実行 170 $ret = $objQuery->update("dtb_class", $sqlval, $where, array($arr Data['class_id']));274 $ret = $objQuery->update("dtb_class", $sqlval, $where, array($arrForm['class_id'])); 171 275 return $ret; 172 276 } 173 277 174 /* 取得文字列の変換 */ 175 function lfConvertParam($array) { 176 // 文字変換 177 $arrConvList['name'] = "KVa"; 178 179 foreach ($arrConvList as $key => $val) { 180 // POSTされてきた値のみ変換する。 181 if(isset($array[$key])) { 182 $array[$key] = mb_convert_kana($array[$key] ,$val); 183 } 278 /** 279 * 規格情報を削除する. 280 * 281 * @param integer $class_id 規格ID 282 * @param SC_Helper_DB $objDb SC_Helper_DBのインスタンス 283 * @return boolean 削除結果 成功:True 失敗:false 284 */ 285 function lfDeleteClass($class_id , &$objDb) { 286 $objQuery =& SC_Query::getSingletonInstance(); 287 288 $objDb->sfDeleteRankRecord("dtb_class", "class_id", $class_id, "", true); 289 $where= "class_id = ?"; 290 $ret = $objQuery->delete("dtb_classcategory", $where, array($class_id)); 291 return $ret; 292 } 293 294 /** 295 * エラーチェック 296 * 297 * @param array $objFormParam フォームパラメータークラス 298 * @return array エラー配列 299 */ 300 function lfCheckError(&$objFormParam) { 301 $objQuery =& SC_Query::getSingletonInstance(); 302 // パラメーターの基本チェック 303 $arrErr = $objFormParam->checkError(); 304 if (!SC_Utils_Ex::isBlank($arrErr)) { 305 return $arrErr; 306 }else{ 307 $arrForm = $objFormParam->getHashArray(); 184 308 } 185 return $array; 186 } 187 188 /* 入力エラーチェック */ 189 function lfErrorCheck() { 190 $objErr = new SC_CheckError(); 191 $objErr->doFunc(array("規格名", "name", STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 192 193 if(!isset($objErr->arrErr['name'])) { 194 $objQuery =& SC_Query::getSingletonInstance(); 195 $arrRet = $objQuery->select("class_id, name", "dtb_class", "del_flg = 0 AND name = ?", array($_POST['name'])); 196 // 編集中のレコード以外に同じ名称が存在する場合 197 if ($arrRet[0]['class_id'] != $_POST['class_id'] && $arrRet[0]['name'] == $_POST['name']) { 198 $objErr->arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br>"; 199 } 309 310 $where = "del_flg = 0 AND name = ?"; 311 $arrClass = $objQuery->select("class_id, name", "dtb_class", $where, array($arrForm['name'])); 312 // 編集中のレコード以外に同じ名称が存在する場合 313 if ($arrClass[0]['class_id'] != $arrForm['class_id'] && $arrClass[0]['name'] == $arrForm['name']) { 314 $arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br>"; 200 315 } 201 return $objErr->arrErr; 202 } 316 return $arrErr; 317 } 318 319 /** 320 * 新規規格追加かどうかを判定する. 321 * 322 * @param string $arrForm フォームの入力値 323 * @return boolean 新規商品追加の場合 true 324 */ 325 function lfCheckInsert($arrForm) { 326 //class_id のあるなしで新規商品かどうかを判定 327 if (empty($arrForm['class_id'])){ 328 return true; 329 }else{ 330 return false; 331 } 332 } 333 203 334 } 204 335 ?>
Note: See TracChangeset
for help on using the changeset viewer.