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

Revision 15080, 5.1 KB checked in by nanasess, 17 years ago (diff)

svn properties 設定

  • svn:mime-type - application/x-httpd-php; charset=UTF-8
  • svn:keywords - Id
  • Property svn:keywords set to Id
  • Property svn:mime-type set to application/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/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// 認証可否の判定
26sfIsSuccess($objSess);
27
28//検索ワードの引継ぎ
29foreach ($_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
59switch($_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// 入力エラーチェック
85function 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//---- 取得文字列の変換
96function 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// トラックバック情報の取得
121function 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// トラックバック情報の編集登録
138function 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?>
Note: See TracBrowser for help on using the repository browser.