Changeset 15898
- Timestamp:
- 2007/09/22 00:15:19 (16 years ago)
- Location:
- branches/feature-module-update
- Files:
-
- 2 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/html/admin/products/review_edit.php
r15532 r15898 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/review_edit.tpl'; 13 $this->tpl_subnavi = 'products/subnavi.tpl'; 14 $this->tpl_mainno = 'products'; 15 $this->tpl_subno = 'review'; 16 global $arrRECOMMEND; 17 $this->arrRECOMMEND = $arrRECOMMEND; 18 $this->tpl_subtitle = 'レビュー管理'; 19 global $arrSex; 20 $this->arrSex = $arrSex; 21 } 22 } 8 // {{{ requires 9 require_once("../../require.php"); 10 require_once(CLASS_PATH . "page_extends/admin/products/LC_Page_Admin_Products_ReviewEdit_Ex.php"); 23 11 24 $objPage = new LC_Page(); 25 $objView = new SC_AdminView(); 26 $objSess = new SC_Session(); 27 $objQuery = new SC_Query(); 28 // 認証可否の判定 29 sfIsSuccess($objSess); 12 // }}} 13 // {{{ generate page 30 14 31 //検索ワードの引継ぎ 32 foreach ($_POST as $key => $val){ 33 if (ereg("^search_", $key)){ 34 $objPage->arrSearchHidden[$key] = $val; 35 } 36 } 37 38 //取得文字列の変換用カラム 39 $arrRegistColumn = array ( 40 array( "column" => "update_date"), 41 array( "column" => "status"), 42 array( "column" => "recommend_level"), 43 array( "column" => "title","convert" => "KVa"), 44 array( "column" => "comment","convert" => "KVa"), 45 array( "column" => "reviewer_name","convert" => "KVa"), 46 array( "column" => "reviewer_url","convert" => "KVa"), 47 array( "column" => "sex","convert" => "n") 48 49 ); 50 51 //レビューIDを渡す 52 $objPage->tpl_review_id = $_POST['review_id']; 53 //レビュー情報のカラムの取得 54 $objPage->arrReview = lfGetReviewData($_POST['review_id']); 55 //登録済みのステータスを渡す 56 $objPage->tpl_pre_status = $objPage->arrReview['status']; 57 //商品ごとのレビュー表示数取得 58 $count = $objQuery->count("dtb_review", "del_flg=0 AND status=1 AND product_id=?", array($objPage->arrReview['product_id'])); 59 //両方選択可能 60 $objPage->tpl_status_change = true; 61 62 switch($_POST['mode']) { 63 //登録 64 case 'complete': 65 //フォーム値の変換 66 $arrReview = lfConvertParam($_POST, $arrRegistColumn); 67 $objPage->arrErr = lfCheckError($arrReview); 68 //エラー無し 69 if (!$objPage->arrErr){ 70 //レビュー情報の編集登録 71 lfRegistReviewData($arrReview, $arrRegistColumn); 72 $objPage->arrReview = $arrReview; 73 $objPage->tpl_onload = "confirm('登録が完了しました。');"; 74 } 75 break; 76 default: 77 break; 78 } 79 80 $objView->assignobj($objPage); 81 $objView->display(MAIN_FRAME); 82 83 //------------------------------------------------------------------------------------------------------------------------------------ 84 85 // 入力エラーチェック 86 function lfCheckError($array) { 87 $objErr = new SC_CheckError($array); 88 $objErr->doFunc(array("おすすめレベル", "recommend_level"), array("SELECT_CHECK")); 89 $objErr->doFunc(array("タイトル", "title", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 90 $objErr->doFunc(array("コメント", "comment", LTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 91 $objErr->doFunc(array("投稿者名", "reviewer_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 92 $objErr->doFunc(array("ホームページアドレス", "reviewer_url", URL_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 93 $objErr->doFunc(array("タイトル", "title", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 94 $objErr->doFunc(array("性別", "sex", STEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 95 return $objErr->arrErr; 96 } 97 98 //---- 取得文字列の変換 99 function lfConvertParam($array, $arrRegistColumn) { 100 /* 101 * 文字列の変換 102 * K : 「半角(ハンカク)片仮名」を「全角片仮名」に変換 103 * C : 「全角ひら仮名」を「全角かた仮名」に変換 104 * V : 濁点付きの文字を一文字に変換。"K","H"と共に使用します 105 * n : 「全角」数字を「半角(ハンカク)」に変換 106 * a : 全角英数字を半角英数字に変換する 107 */ 108 // カラム名とコンバート情報 109 foreach ($arrRegistColumn as $data) { 110 $arrConvList[ $data["column"] ] = $data["convert"]; 111 } 112 113 // 文字変換 114 foreach ($arrConvList as $key => $val) { 115 // POSTされてきた値のみ変換する。 116 if(strlen(($array[$key])) > 0) { 117 $array[$key] = mb_convert_kana($array[$key] ,$val); 118 } 119 } 120 return $array; 121 } 122 123 //レビュー情報の取得 124 function lfGetReviewData($review_id){ 125 global $objPage; 126 global $objQuery; 127 $select="review_id, A.product_id, reviewer_name, sex, recommend_level, "; 128 $select.="reviewer_url, title, comment, A.status, A.create_date, A.update_date, name"; 129 $from = "dtb_review AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id "; 130 $where = "A.del_flg = 0 AND B.del_flg = 0 AND review_id = ? "; 131 $arrReview = $objQuery->select($select, $from, $where, array($review_id)); 132 if(!empty($arrReview)) { 133 $objPage->arrReview = $arrReview[0]; 134 } else { 135 sfDispError(""); 136 } 137 return $objPage->arrReview; 138 } 139 140 //レビュー情報の編集登録 141 function lfRegistReviewData($array, $arrRegistColumn){ 142 global $objQuery; 143 foreach ($arrRegistColumn as $data) { 144 if (strlen($array[ $data["column"] ]) > 0 ) { 145 $arrRegist[ $data["column"] ] = $array[ $data["column"] ]; 146 } 147 if ($data['column'] == 'update_date'){ 148 $arrRegist['update_date'] = 'now()'; 149 } 150 } 151 //登録実行 152 $objQuery->begin(); 153 $objQuery->update("dtb_review", $arrRegist, "review_id='".$_POST['review_id']."'"); 154 $objQuery->commit(); 155 } 15 $objPage = new LC_Page_Admin_Products_ReviewEdit_Ex(); 16 $objPage->init(); 17 $objPage->process(); 18 register_shutdown_function(array($objPage, "destroy")); 156 19 ?>
Note: See TracChangeset
for help on using the changeset viewer.