source: branches/feature-module-update/html/admin/products/review_edit.php @ 15532

Revision 15532, 5.4 KB checked in by nanasess, 17 years ago (diff)

svn:mime-type 修正

  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-httpd-php; charset=UTF-8
Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7require_once("../require.php");
8
9class 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// 認証可否の判定
29sfIsSuccess($objSess);
30
31//検索ワードの引継ぎ
32foreach ($_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
62switch($_POST['mode']) {
63//登録
64case '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;
76default:
77    break;
78}
79
80$objView->assignobj($objPage);
81$objView->display(MAIN_FRAME);
82
83//------------------------------------------------------------------------------------------------------------------------------------
84
85// 入力エラーチェック
86function 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//---- 取得文字列の変換
99function 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//レビュー情報の取得
124function 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//レビュー情報の編集登録
141function 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?>
Note: See TracBrowser for help on using the repository browser.