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