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 | require_once(DATA_PATH . "include/page_layout.inc"); |
---|
9 | |
---|
10 | class LC_Page { |
---|
11 | var $arrSession; |
---|
12 | var $tpl_mode; |
---|
13 | function LC_Page() { |
---|
14 | $this->tpl_mainpage = 'basis/seo.tpl'; |
---|
15 | $this->tpl_subnavi = 'basis/subnavi.tpl'; |
---|
16 | $this->tpl_subno = 'seo'; |
---|
17 | $this->tpl_mainno = 'basis'; |
---|
18 | $this->tpl_subtitle = 'SEO管理'; |
---|
19 | global $arrPref; |
---|
20 | $this->arrPref = $arrPref; |
---|
21 | global $arrTAXRULE; |
---|
22 | $this->arrTAXRULE = $arrTAXRULE; |
---|
23 | |
---|
24 | } |
---|
25 | } |
---|
26 | |
---|
27 | |
---|
28 | $conn = new SC_DBConn(); |
---|
29 | $objPage = new LC_Page(); |
---|
30 | $objView = new SC_AdminView(); |
---|
31 | $objSess = new SC_Session(); |
---|
32 | $objQuery = new SC_Query(); |
---|
33 | |
---|
34 | // 認証可否の判定 |
---|
35 | sfIsSuccess($objSess); |
---|
36 | |
---|
37 | // データの取得 |
---|
38 | $arrPageData = lfgetPageData(" edit_flg = 2 "); |
---|
39 | $objPage->arrPageData = $arrPageData; |
---|
40 | |
---|
41 | $page_id = $_POST['page_id']; |
---|
42 | |
---|
43 | if($_POST['mode'] == "confirm") { |
---|
44 | // エラーチェック |
---|
45 | $objPage->arrErr[$page_id] = lfErrorCheck($arrPOST['meta'][$page_id]); |
---|
46 | |
---|
47 | // エラーがなければデータを更新 |
---|
48 | if(count($objPage->arrErr[$page_id]) == 0) { |
---|
49 | |
---|
50 | // 更新データの変換 |
---|
51 | $arrMETA = lfConvertParam($_POST['meta'][$page_id]); |
---|
52 | |
---|
53 | // 更新データ配列生成 |
---|
54 | $arrUpdData = array($arrMETA['author'], $arrMETA['description'], $arrMETA['keyword'], $page_id); |
---|
55 | // データ更新 |
---|
56 | lfUpdPageData($arrUpdData); |
---|
57 | }else{ |
---|
58 | // POSTのデータを再表示 |
---|
59 | $arrPageData = lfSetData($arrPageData, $arrPOST['meta']); |
---|
60 | $objPage->arrPageData = $arrPageData; |
---|
61 | } |
---|
62 | } |
---|
63 | |
---|
64 | // エラーがなければデータの取得 |
---|
65 | if(count($objPage->arrErr[$page_id]) == 0) { |
---|
66 | // データの取得 |
---|
67 | $arrPageData = lfgetPageData(" edit_flg = 2 "); |
---|
68 | $objPage->arrPageData = $arrPageData; |
---|
69 | } |
---|
70 | |
---|
71 | // 表示・非表示切り替え |
---|
72 | $arrDisp_flg = array(); |
---|
73 | foreach($arrPageData as $key => $val){ |
---|
74 | $arrDisp_flg[$val['page_id']] = $_POST['disp_flg'.$val['page_id']]; |
---|
75 | } |
---|
76 | |
---|
77 | $objPage->disp_flg = $arrDisp_flg; |
---|
78 | |
---|
79 | $objView->assignobj($objPage); |
---|
80 | $objView->display(MAIN_FRAME); |
---|
81 | //-------------------------------------------------------------------------------------------------------------------------------------- |
---|
82 | /************************************************************************************************************** |
---|
83 | * 関数名 :lfUpdPageData |
---|
84 | * 処理内容 :ページレイアウトテーブルにデータ更新を行う |
---|
85 | * 引数 :更新データ |
---|
86 | * 戻り値 :更新結果 |
---|
87 | **************************************************************************************************************/ |
---|
88 | function lfUpdPageData($arrUpdData = array()){ |
---|
89 | $objQuery = new SC_Query(); |
---|
90 | $sql = ""; |
---|
91 | |
---|
92 | // SQL生成 |
---|
93 | $sql .= " UPDATE "; |
---|
94 | $sql .= " dtb_pagelayout "; |
---|
95 | $sql .= " SET "; |
---|
96 | $sql .= " author = ? , "; |
---|
97 | $sql .= " description = ? , "; |
---|
98 | $sql .= " keyword = ? "; |
---|
99 | $sql .= " WHERE "; |
---|
100 | $sql .= " page_id = ? "; |
---|
101 | $sql .= " "; |
---|
102 | |
---|
103 | // SQL実行 |
---|
104 | $ret = $objQuery->query($sql, $arrUpdData); |
---|
105 | |
---|
106 | return $ret; |
---|
107 | } |
---|
108 | |
---|
109 | /************************************************************************************************************** |
---|
110 | * 関数名 :lfErrorCheck |
---|
111 | * 処理内容 :入力項目のエラーチェックを行う |
---|
112 | * 引数 :エラーチェック対象データ |
---|
113 | * 戻り値 :エラー内容 |
---|
114 | **************************************************************************************************************/ |
---|
115 | function lfErrorCheck($array) { |
---|
116 | $objErr = new SC_CheckError($array); |
---|
117 | |
---|
118 | $objErr->doFunc(array("メタタグ:Author", "author", STEXT_LEN), array("MAX_LENGTH_CHECK")); |
---|
119 | $objErr->doFunc(array("メタタグ:Description", "description", STEXT_LEN), array("MAX_LENGTH_CHECK")); |
---|
120 | $objErr->doFunc(array("メタタグ:Keywords", "keyword", STEXT_LEN), array("MAX_LENGTH_CHECK")); |
---|
121 | |
---|
122 | return $objErr->arrErr; |
---|
123 | } |
---|
124 | |
---|
125 | /************************************************************************************************************** |
---|
126 | * 関数名 :lfSetData |
---|
127 | * 処理内容 :テンプレート表示データに値をセットする |
---|
128 | * 引数1 :表示元データ |
---|
129 | * 引数2 :表示データ |
---|
130 | * 戻り値 :表示データ |
---|
131 | **************************************************************************************************************/ |
---|
132 | function lfSetData($arrPageData, $arrDispData){ |
---|
133 | |
---|
134 | foreach($arrPageData as $key => $val){ |
---|
135 | $page_id = $val['page_id']; |
---|
136 | $arrPageData[$key]['author'] = $arrDispData[$page_id]['author']; |
---|
137 | $arrPageData[$key]['description'] = $arrDispData[$page_id]['description']; |
---|
138 | $arrPageData[$key]['keyword'] = $arrDispData[$page_id]['keyword']; |
---|
139 | } |
---|
140 | |
---|
141 | return $arrPageData; |
---|
142 | } |
---|
143 | |
---|
144 | /* 取得文字列の変換 */ |
---|
145 | function lfConvertParam($array) { |
---|
146 | /* |
---|
147 | * 文字列の変換 |
---|
148 | * K : 「半角(ハンカク)片仮名」を「全角片仮名」に変換 |
---|
149 | * C : 「全角ひら仮名」を「全角かた仮名」に変換 |
---|
150 | * V : 濁点付きの文字を一文字に変換。"K","H"と共に使用します |
---|
151 | * n : 「全角」数字を「半角(ハンカク)」に変換 |
---|
152 | * a : 全角英数字を半角英数字に変換する |
---|
153 | */ |
---|
154 | // 人物基本情報 |
---|
155 | |
---|
156 | // スポット商品 |
---|
157 | $arrConvList['author'] = "KVa"; |
---|
158 | $arrConvList['description'] = "KVa"; |
---|
159 | $arrConvList['keyword'] = "KVa"; |
---|
160 | |
---|
161 | // 文字変換 |
---|
162 | foreach ($arrConvList as $key => $val) { |
---|
163 | // POSTされてきた値のみ変換する。 |
---|
164 | if(isset($array[$key])) { |
---|
165 | $array[$key] = mb_convert_kana($array[$key] ,$val); |
---|
166 | } |
---|
167 | } |
---|
168 | return $array; |
---|
169 | } |
---|
170 | |
---|
171 | |
---|
172 | ?> |
---|