source: branches/feature-module-update/html/admin/products/trackback_edit.php @ 15547

Revision 15547, 5.2 KB checked in by nanasess, 17 years ago (diff)

* empty log message *

  • 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 */
7/*
8 * FIXME トラックバック機能の移植完了後に修正する
9 */
10require_once("../require.php");
11
12class LC_Page {
13    var $arrSession;
14    function LC_Page() {
15        $this->tpl_mainpage = 'products/trackback_edit.tpl';
16        $this->tpl_subnavi = 'products/subnavi.tpl';
17        $this->tpl_mainno = 'products';
18        $this->tpl_subno = 'trackback';
19        $this->tpl_subtitle = 'トラックバック管理';
20    }
21}
22
23$objPage = new LC_Page();
24$objView = new SC_AdminView();
25$objSess = new SC_Session();
26$objQuery = new SC_Query();
27
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$objPage->arrTrackBackStatus = $arrTrackBackStatus;
40
41//取得文字列の変換用カラム
42$arrRegistColumn = array (
43                        array( "column" => "update_date"),
44                        array( "column" => "status"),
45                        array(  "column" => "title","convert" => "KVa"),
46                        array(  "column" => "excerpt","convert" => "KVa"),
47                        array(  "column" => "blog_name","convert" => "KVa"),
48                        array(  "column" => "url","convert" => "KVa"),
49                        array(  "column" => "del_flg","convert" => "n")
50                    );
51
52// トラックバックIDを渡す
53$objPage->tpl_trackback_id = $_POST['trackback_id'];
54// トラックバック情報のカラムの取得
55$objPage->arrTrackback = lfGetTrackbackData($_POST['trackback_id']);
56
57// 商品ごとのトラックバック表示数取得
58$count = $objQuery->count("dtb_trackback", "del_flg = 0 AND product_id = ?", array($objPage->arrTrackback['product_id']));
59// 両方選択可能
60$objPage->tpl_status_change = true;
61
62switch($_POST['mode']) {
63    // 登録
64    case 'complete':
65        //フォーム値の変換
66        $arrTrackback = lfConvertParam($_POST, $arrRegistColumn);
67        $objPage->arrErr = lfCheckError($arrTrackback);
68        //エラー無し
69
70        if (!$objPage->arrErr) {
71            //レビュー情報の編集登録
72            lfRegistTrackbackData($arrTrackback, $arrRegistColumn);
73            $objPage->arrTrackback = $arrTrackback;
74            $objPage->tpl_onload = "confirm('登録が完了しました。');";
75        }
76        break;
77
78    default:
79        break;
80}
81
82$objView->assignobj($objPage);
83$objView->display(MAIN_FRAME);
84
85//------------------------------------------------------------------------------------------------------------------------------------
86
87// 入力エラーチェック
88function lfCheckError($array) {
89    $objErr = new SC_CheckError($array);
90    $objErr->doFunc(array("ブログ名", "blog_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
91    $objErr->doFunc(array("ブログ記事タイトル", "title", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
92    $objErr->doFunc(array("ブログ記事内容", "excerpt", LTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
93    $objErr->doFunc(array("ブログURL", "url", URL_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
94    $objErr->doFunc(array("状態", "status"), array("SELECT_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 lfGetTrackbackData($trackback_id) {
125    global $objPage;
126    global $objQuery;
127    $select = "tra.trackback_id, tra.product_id, tra.blog_name, tra.title, tra.excerpt, ";
128    $select .= "tra.url, tra.status, tra.create_date, tra.update_date, pro.name ";
129    $from = "dtb_trackback AS tra LEFT JOIN dtb_products AS pro ON tra.product_id = pro.product_id ";
130    $where = "tra.del_flg = 0 AND pro.del_flg = 0 AND tra.trackback_id = ? ";
131    $arrTrackback = $objQuery->select($select, $from, $where, array($trackback_id));
132    if(!empty($arrTrackback)) {
133        $objPage->arrTrackback = $arrTrackback[0];
134    } else {
135        sfDispError("");
136    }
137    return $objPage->arrTrackback;
138}
139
140// トラックバック情報の編集登録
141function lfRegistTrackbackData($array, $arrRegistColumn) {
142    global $objQuery;
143
144    foreach ($arrRegistColumn as $data) {
145        if (strlen($array[ $data["column"] ]) > 0 ) {
146            $arrRegist[ $data["column"] ] = $array[ $data["column"] ];
147        }
148        if ($data['column'] == 'update_date'){
149            $arrRegist['update_date'] = 'now()';
150        }
151    }
152    //登録実行
153    $objQuery->begin();
154    $objQuery->update("dtb_trackback", $arrRegist, "trackback_id = '".$_POST['trackback_id']."'");
155    $objQuery->commit();
156}
157?>
Note: See TracBrowser for help on using the repository browser.