Changeset 15486
- Timestamp:
- 2007/08/30 17:51:39 (17 years ago)
- Location:
- branches/feature-module-update
- Files:
-
- 2 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/html/admin/products/classcategory.php
r15080 r15486 5 5 * http://www.lockon.co.jp/ 6 6 */ 7 require_once("../require.php");8 7 9 class LC_Page { 10 var $arrSession; 11 var $arrHidden; 12 var $arrForm; 13 var $tpl_class_name; 14 var $arrClassCat; 15 function LC_Page() { 16 $this->tpl_mainpage = 'products/classcategory.tpl'; 17 $this->tpl_subnavi = 'products/subnavi.tpl'; 18 $this->tpl_subno = 'class'; 19 $this->tpl_subtitle = '規格登録'; 20 $this->tpl_mainno = 'products'; 21 } 22 } 8 // {{{ requires 9 require_once("../../require.php"); 10 require_once(CLASS_PATH . "page_extends/admin/products/LC_Page_Admin_Products_ClassCategory_Ex.php"); 23 11 24 $conn = new SC_DBConn(); 25 $objPage = new LC_Page(); 26 $objView = new SC_AdminView(); 27 $objQuery = new SC_Query(); 12 // }}} 13 // {{{ generate page 28 14 29 // 認証可否の判定 30 $objSess = new SC_Session(); 31 sfIsSuccess($objSess); 32 33 $get_check = false; 34 35 // 規格IDのチェック 36 if(sfIsInt($_GET['class_id'])) { 37 // 規格名の取得 38 $objPage->tpl_class_name = $objQuery->get("dtb_class", "name", "class_id = ?", array($_GET['class_id'])); 39 if($objPage->tpl_class_name != "") { 40 // 規格IDの引き継ぎ 41 $objPage->arrHidden['class_id'] = $_GET['class_id']; 42 $get_check = true; 43 } 44 } 45 46 if(!$get_check) { 47 // 規格登録ページに飛ばす。 48 header("Location: " . URL_CLASS_REGIST); 49 exit; 50 } 51 52 // 新規作成 or 編集 53 switch($_POST['mode']) { 54 // 登録ボタン押下 55 case 'edit': 56 // POST値の引き継ぎ 57 $objPage->arrForm = $_POST; 58 // 入力文字の変換 59 $_POST = lfConvertParam($_POST); 60 // エラーチェック 61 $objPage->arrErr = lfErrorCheck(); 62 if(count($objPage->arrErr) <= 0) { 63 if($_POST['classcategory_id'] == "") { 64 lfInsertClass(); // DBへの書き込み 65 } else { 66 lfUpdateClass(); // DBへの書き込み 67 } 68 // 再表示 69 sfReload("class_id=" . $_GET['class_id']); 70 } else { 71 // POSTデータを引き継ぐ 72 $objPage->tpl_classcategory_id = $_POST['classcategory_id']; 73 } 74 break; 75 // 削除 76 case 'delete': 77 // ランク付きレコードの削除 78 $where = "class_id = " . addslashes($_POST['class_id']); 79 sfDeleteRankRecord("dtb_classcategory", "classcategory_id", $_POST['classcategory_id'], $where, true); 80 break; 81 // 編集前処理 82 case 'pre_edit': 83 // 編集項目をDBより取得する。 84 $where = "classcategory_id = ?"; 85 $name = $objQuery->get("dtb_classcategory", "name", $where, array($_POST['classcategory_id'])); 86 // 入力項目にカテゴリ名を入力する。 87 $objPage->arrForm['name'] = $name; 88 // POSTデータを引き継ぐ 89 $objPage->tpl_classcategory_id = $_POST['classcategory_id']; 90 break; 91 case 'down': 92 $where = "class_id = " . addslashes($_POST['class_id']); 93 sfRankDown("dtb_classcategory", "classcategory_id", $_POST['classcategory_id'], $where); 94 break; 95 case 'up': 96 $where = "class_id = " . addslashes($_POST['class_id']); 97 sfRankUp("dtb_classcategory", "classcategory_id", $_POST['classcategory_id'], $where); 98 break; 99 default: 100 break; 101 } 102 103 // 規格分類の読込 104 $where = "del_flg <> 1 AND class_id = ?"; 105 $objQuery->setorder("rank DESC"); 106 $objPage->arrClassCat = $objQuery->select("name, classcategory_id", "dtb_classcategory", $where, array($_GET['class_id'])); 107 108 $objView->assignobj($objPage); 109 $objView->display(MAIN_FRAME); 110 111 //----------------------------------------------------------------------------------------------------------------------------- 112 113 /* DBへの挿入 */ 114 function lfInsertClass() { 115 $objQuery = new SC_Query(); 116 $objQuery->begin(); 117 // 親規格IDの存在チェック 118 $where = "del_flg <> 1 AND class_id = ?"; 119 $ret = $objQuery->get("dtb_class", "class_id", $where, array($_POST['class_id'])); 120 if($ret != "") { 121 // INSERTする値を作成する。 122 $sqlval['name'] = $_POST['name']; 123 $sqlval['class_id'] = $_POST['class_id']; 124 $sqlval['creator_id'] = $_SESSION['member_id']; 125 $sqlval['rank'] = $objQuery->max("dtb_classcategory", "rank", $where, array($_POST['class_id'])) + 1; 126 $sqlval['create_date'] = "now()"; 127 $sqlval['update_date'] = "now()"; 128 // INSERTの実行 129 $ret = $objQuery->insert("dtb_classcategory", $sqlval); 130 } 131 $objQuery->commit(); 132 return $ret; 133 } 134 135 /* DBへの更新 */ 136 function lfUpdateClass() { 137 $objQuery = new SC_Query(); 138 // UPDATEする値を作成する。 139 $sqlval['name'] = $_POST['name']; 140 $sqlval['update_date'] = "Now()"; 141 $where = "classcategory_id = ?"; 142 // UPDATEの実行 143 $ret = $objQuery->update("dtb_classcategory", $sqlval, $where, array($_POST['classcategory_id'])); 144 return $ret; 145 } 146 147 /* 取得文字列の変換 */ 148 function lfConvertParam($array) { 149 // 文字変換 150 $arrConvList['name'] = "KVa"; 151 152 foreach ($arrConvList as $key => $val) { 153 // POSTされてきた値のみ変換する。 154 if(isset($array[$key])) { 155 $array[$key] = mb_convert_kana($array[$key] ,$val); 156 } 157 } 158 return $array; 159 } 160 161 /* 入力エラーチェック */ 162 function lfErrorCheck() { 163 $objErr = new SC_CheckError(); 164 $objErr->doFunc(array("分類名", "name", STEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK")); 165 if(!isset($objErr->arrErr['name'])) { 166 $objQuery = new SC_Query(); 167 $where = "class_id = ? AND name = ?"; 168 $arrRet = $objQuery->select("classcategory_id, name", "dtb_classcategory", $where, array($_GET['class_id'], $_POST['name'])); 169 // 編集中のレコード以外に同じ名称が存在する場合 170 if ($arrRet[0]['classcategory_id'] != $_POST['classcategory_id'] && $arrRet[0]['name'] == $_POST['name']) { 171 $objErr->arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br>"; 172 } 173 } 174 return $objErr->arrErr; 175 } 15 $objPage = new LC_Page_Admin_Products_ClassCategory_Ex(); 16 $objPage->init(); 17 $objPage->process(); 18 register_shutdown_function(array($objPage, "destroy")); 176 19 ?>
Note: See TracChangeset
for help on using the changeset viewer.