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/trackback_edit.tpl';
|
---|
13 | $this->tpl_subnavi = 'products/subnavi.tpl';
|
---|
14 | $this->tpl_mainno = 'products';
|
---|
15 | $this->tpl_subno = 'trackback';
|
---|
16 | $this->tpl_subtitle = 'トラックバック管理';
|
---|
17 | }
|
---|
18 | }
|
---|
19 |
|
---|
20 | $objPage = new LC_Page();
|
---|
21 | $objView = new SC_AdminView();
|
---|
22 | $objSess = new SC_Session();
|
---|
23 | $objQuery = new SC_Query();
|
---|
24 |
|
---|
25 | // 認証可否の判定
|
---|
26 | sfIsSuccess($objSess);
|
---|
27 |
|
---|
28 | //検索ワードの引継ぎ
|
---|
29 | foreach ($_POST as $key => $val){
|
---|
30 | if (ereg("^search_", $key)){
|
---|
31 | $objPage->arrSearchHidden[$key] = $val;
|
---|
32 | }
|
---|
33 | }
|
---|
34 |
|
---|
35 | // 状態の設定
|
---|
36 | $objPage->arrTrackBackStatus = $arrTrackBackStatus;
|
---|
37 |
|
---|
38 | //取得文字列の変換用カラム
|
---|
39 | $arrRegistColumn = array (
|
---|
40 | array( "column" => "update_date"),
|
---|
41 | array( "column" => "status"),
|
---|
42 | array( "column" => "title","convert" => "KVa"),
|
---|
43 | array( "column" => "excerpt","convert" => "KVa"),
|
---|
44 | array( "column" => "blog_name","convert" => "KVa"),
|
---|
45 | array( "column" => "url","convert" => "KVa"),
|
---|
46 | array( "column" => "del_flg","convert" => "n")
|
---|
47 | );
|
---|
48 |
|
---|
49 | // トラックバックIDを渡す
|
---|
50 | $objPage->tpl_trackback_id = $_POST['trackback_id'];
|
---|
51 | // トラックバック情報のカラムの取得
|
---|
52 | $objPage->arrTrackback = lfGetTrackbackData($_POST['trackback_id']);
|
---|
53 |
|
---|
54 | // 商品ごとのトラックバック表示数取得
|
---|
55 | $count = $objQuery->count("dtb_trackback", "del_flg = 0 AND product_id = ?", array($objPage->arrTrackback['product_id']));
|
---|
56 | // 両方選択可能
|
---|
57 | $objPage->tpl_status_change = true;
|
---|
58 |
|
---|
59 | switch($_POST['mode']) {
|
---|
60 | // 登録
|
---|
61 | case 'complete':
|
---|
62 | //フォーム値の変換
|
---|
63 | $arrTrackback = lfConvertParam($_POST, $arrRegistColumn);
|
---|
64 | $objPage->arrErr = lfCheckError($arrTrackback);
|
---|
65 | //エラー無し
|
---|
66 |
|
---|
67 | if (!$objPage->arrErr) {
|
---|
68 | //レビュー情報の編集登録
|
---|
69 | lfRegistTrackbackData($arrTrackback, $arrRegistColumn);
|
---|
70 | $objPage->arrTrackback = $arrTrackback;
|
---|
71 | $objPage->tpl_onload = "confirm('登録が完了しました。');";
|
---|
72 | }
|
---|
73 | break;
|
---|
74 |
|
---|
75 | default:
|
---|
76 | break;
|
---|
77 | }
|
---|
78 |
|
---|
79 | $objView->assignobj($objPage);
|
---|
80 | $objView->display(MAIN_FRAME);
|
---|
81 |
|
---|
82 | //------------------------------------------------------------------------------------------------------------------------------------
|
---|
83 |
|
---|
84 | // 入力エラーチェック
|
---|
85 | function lfCheckError($array) {
|
---|
86 | $objErr = new SC_CheckError($array);
|
---|
87 | $objErr->doFunc(array("ブログ名", "blog_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
|
---|
88 | $objErr->doFunc(array("ブログ記事タイトル", "title", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
|
---|
89 | $objErr->doFunc(array("ブログ記事内容", "excerpt", LTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
|
---|
90 | $objErr->doFunc(array("ブログURL", "url", URL_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
|
---|
91 | $objErr->doFunc(array("状態", "status"), array("SELECT_CHECK"));
|
---|
92 | return $objErr->arrErr;
|
---|
93 | }
|
---|
94 |
|
---|
95 | //---- 取得文字列の変換
|
---|
96 | function lfConvertParam($array, $arrRegistColumn) {
|
---|
97 | /*
|
---|
98 | * 文字列の変換
|
---|
99 | * K : 「半角(ハンカク)片仮名」を「全角片仮名」に変換
|
---|
100 | * C : 「全角ひら仮名」を「全角かた仮名」に変換
|
---|
101 | * V : 濁点付きの文字を一文字に変換。"K","H"と共に使用します
|
---|
102 | * n : 「全角」数字を「半角(ハンカク)」に変換
|
---|
103 | * a : 全角英数字を半角英数字に変換する
|
---|
104 | */
|
---|
105 | // カラム名とコンバート情報
|
---|
106 | foreach ($arrRegistColumn as $data) {
|
---|
107 | $arrConvList[ $data["column"] ] = $data["convert"];
|
---|
108 | }
|
---|
109 |
|
---|
110 | // 文字変換
|
---|
111 | foreach ($arrConvList as $key => $val) {
|
---|
112 | // POSTされてきた値のみ変換する。
|
---|
113 | if(strlen(($array[$key])) > 0) {
|
---|
114 | $array[$key] = mb_convert_kana($array[$key] ,$val);
|
---|
115 | }
|
---|
116 | }
|
---|
117 | return $array;
|
---|
118 | }
|
---|
119 |
|
---|
120 | // トラックバック情報の取得
|
---|
121 | function lfGetTrackbackData($trackback_id) {
|
---|
122 | global $objPage;
|
---|
123 | global $objQuery;
|
---|
124 | $select = "tra.trackback_id, tra.product_id, tra.blog_name, tra.title, tra.excerpt, ";
|
---|
125 | $select .= "tra.url, tra.status, tra.create_date, tra.update_date, pro.name ";
|
---|
126 | $from = "dtb_trackback AS tra LEFT JOIN dtb_products AS pro ON tra.product_id = pro.product_id ";
|
---|
127 | $where = "tra.del_flg = 0 AND pro.del_flg = 0 AND tra.trackback_id = ? ";
|
---|
128 | $arrTrackback = $objQuery->select($select, $from, $where, array($trackback_id));
|
---|
129 | if(!empty($arrTrackback)) {
|
---|
130 | $objPage->arrTrackback = $arrTrackback[0];
|
---|
131 | } else {
|
---|
132 | sfDispError("");
|
---|
133 | }
|
---|
134 | return $objPage->arrTrackback;
|
---|
135 | }
|
---|
136 |
|
---|
137 | // トラックバック情報の編集登録
|
---|
138 | function lfRegistTrackbackData($array, $arrRegistColumn) {
|
---|
139 | global $objQuery;
|
---|
140 |
|
---|
141 | foreach ($arrRegistColumn as $data) {
|
---|
142 | if (strlen($array[ $data["column"] ]) > 0 ) {
|
---|
143 | $arrRegist[ $data["column"] ] = $array[ $data["column"] ];
|
---|
144 | }
|
---|
145 | if ($data['column'] == 'update_date'){
|
---|
146 | $arrRegist['update_date'] = 'now()';
|
---|
147 | }
|
---|
148 | }
|
---|
149 | //登録実行
|
---|
150 | $objQuery->begin();
|
---|
151 | $objQuery->update("dtb_trackback", $arrRegist, "trackback_id = '".$_POST['trackback_id']."'");
|
---|
152 | $objQuery->commit();
|
---|
153 | }
|
---|
154 | ?> |
---|