1 | <?php
|
---|
2 | /*
|
---|
3 | * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
|
---|
4 | *
|
---|
5 | * http://www.lockon.co.jp/
|
---|
6 | */
|
---|
7 | require_once("../require.php");
|
---|
8 |
|
---|
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 | }
|
---|
23 |
|
---|
24 | $objPage = new LC_Page();
|
---|
25 | $objView = new SC_AdminView();
|
---|
26 | $objSess = new SC_Session();
|
---|
27 | $objQuery = new SC_Query();
|
---|
28 | // 認証可否の判定
|
---|
29 | sfIsSuccess($objSess);
|
---|
30 |
|
---|
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 | }
|
---|
156 | ?> |
---|