source: temp/trunk/html/admin/design/bloc.php @ 5189

Revision 5189, 7.7 KB checked in by kakinaka, 20 years ago (diff)

blank

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?php
2
3require_once("../../require.php");
4
5class LC_Page {
6    var $arrForm;
7    var $arrHidden;
8
9    function LC_Page() {
10        $this->tpl_mainpage = 'design/bloc.tpl';
11        $this->tpl_subnavi = 'design/subnavi.tpl';
12        $this->tpl_subno_edit = 'bloc';
13        $this->text_row = 13;
14        $this->tpl_subno = "bloc"; 
15        $this->tpl_mainno = "design";
16        $this->tpl_subtitle = '¥Ö¥í¥Ã¥¯ÊÔ½¸';
17    }
18}
19
20$objPage = new LC_Page();
21$objView = new SC_AdminView();
22
23// ǧ¾Ú²ÄÈݤÎȽÄê
24$objSess = new SC_Session();
25sfIsSuccess($objSess);
26
27// ¥Ö¥í¥Ã¥¯°ìÍ÷¤ò¼èÆÀ
28$objPage->arrBlocList = lfgetBlocData();
29
30// ¥Ö¥í¥Ã¥¯ID¤ò¼èÆÀ
31if (isset($_POST['bloc_id'])) {
32    $bloc_id = $_POST['bloc_id'];
33}else if ($_GET['bloc_id']){
34    $bloc_id = $_GET['bloc_id'];
35}else{
36    $bloc_id = '';
37}
38$objPage->bloc_id = $bloc_id;
39
40// bloc_id ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¥Ö¥í¥Ã¥¯¥Ç¡¼¥¿¤Î¼èÆÀ
41if ($bloc_id != '') {
42    $arrBlocData = lfgetBlocData(" bloc_id = ? " , array($bloc_id));
43    $arrBlocData[0]['tpl_path'] = ROOT_DIR . $arrBlocData[0]['tpl_path'];
44
45    // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß
46    $arrBlocData[0]['tpl_data'] = file_get_contents($arrBlocData[0]['tpl_path']);
47    $objPage->arrBlocData = $arrBlocData[0];
48}
49
50// ¥á¥Ã¥»¡¼¥¸É½¼¨
51if ($_GET['msg'] == "on") {
52    // ´°Î»¥á¥Ã¥»¡¼¥¸
53    $objPage->tpl_onload="alert('ÅÐÏ¿¤¬´°Î»¤·¤Þ¤·¤¿¡£');";
54}
55
56// ¥×¥ì¥Ó¥å¡¼É½¼¨
57if ($_POST['mode'] == "preview") {
58    // ¥×¥ì¥Ó¥å¡¼¥Õ¥¡¥¤¥ëºîÀ®
59    $prev_path = ROOT_DIR . INCLUDE_DIR. 'preview/bloc_preview.tpl';
60    $fp = fopen($prev_path,"w");
61    fwrite($fp, $_POST['bloc_html']);
62    fclose($fp);
63   
64    // ¥×¥ì¥Ó¥å¡¼¥Ç¡¼¥¿É½¼¨
65    $objPage->preview = "on";
66    $objPage->arrBlocData['tpl_data'] = $_POST['bloc_html'];
67    $objPage->arrBlocData['tpl_path'] = $prev_path;
68    $objPage->arrBlocData['bloc_name'] = $_POST['bloc_name'];
69    $objPage->arrBlocData['filename'] = $_POST['filename'];
70    $objPage->text_row = $_POST['html_area_row'];
71}else{
72    $objPage->preview = "off";
73}
74
75// ¥Ç¡¼¥¿ÅÐÏ¿½èÍý
76if ($_POST['mode'] == 'confirm') {
77   
78    // ¥¨¥é¡¼¥Á¥§¥Ã¥¯
79    $objPage->arrErr = lfErrorCheck($_POST);
80
81    // ¥¨¥é¡¼¤¬¤Ê¤±¤ì¤Ð¹¹¿·½èÍý¤ò¹Ô¤¦   
82    if (count($objPage->arrErr) == 0) {
83   
84       
85        // DB¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë
86        lfEntryBlocData($_POST);
87       
88        // ¥Õ¥¡¥¤¥ë¤Îºï½ü
89        $del_file=ROOT_DIR . BLOC_DIR . $arrBlocData[0]['filename']. '.tpl';
90        if (file_exists($del_file)) {
91            unlink($del_file);
92        }
93       
94        // ¥Õ¥¡¥¤¥ëºîÀ®
95        $fp = fopen(ROOT_DIR . BLOC_DIR . $_POST['filename'] . '.tpl',"w");
96        fwrite($fp, $_POST['bloc_html']);
97        fclose($fp);
98       
99        $arrBlocData = lfgetBlocData(" filename = ? " , array($_POST['filename']));
100           
101        $bloc_id = $arrBlocData[0]['bloc_id']; 
102        header("location: ./bloc.php?bloc_id=$bloc_id&msg=on");
103    }else{
104        // ¥¨¥é¡¼¤¬¤¢¤ì¤ÐÆþÎÏ»þ¤Î¥Ç¡¼¥¿¤òɽ¼¨¤¹¤ë
105        $objPage->arrBlocData = $_POST;
106    }
107}
108
109// ¥Ç¡¼¥¿ºï½ü½èÍý
110if ($_POST['mode'] == 'delete') {
111   
112    // DB¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë
113    $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È
114    $sql = "";                      // ¥Ç¡¼¥¿¹¹¿·SQLÀ¸À®ÍÑ
115    $ret = "";                      // ¥Ç¡¼¥¿¹¹¿··ë²Ì³ÊǼÍÑ
116    $arrDelData = array();          // ¹¹¿·¥Ç¡¼¥¿À¸À®ÍÑ
117   
118    // ¹¹¿·¥Ç¡¼¥¿À¸À®
119    $arrUpdData = array($arrData['bloc_name'], BLOC_DIR . $arrData['filename'] . '.tpl', $arrData['filename']);
120   
121    // bloc_id ¤¬¶õ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ïdelete¤ò¼Â¹Ô
122    if ($_POST['bloc_id'] !== '') {
123        // SQLÀ¸À®
124        $sql = " DELETE FROM dtb_bloc WHERE bloc_id = ?";
125        // SQL¼Â¹Ô
126        $ret = $objDBConn->query($sql,array($_POST['bloc_id']));
127       
128        // ¥Ú¡¼¥¸¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤âºï½ü¤¹¤ë
129        $sql = "DELETE FROM dtb_blocposition WHERE bloc_id = ?";
130        // SQL¼Â¹Ô
131        $ret = $objDBConn->query($sql,array($_POST['bloc_id']));
132   
133        // ¥Õ¥¡¥¤¥ë¤Îºï½ü
134        $del_file = ROOT_DIR . BLOC_DIR . $arrBlocData[0]['filename']. '.tpl';
135        if(file_exists($del_file)){
136            unlink($del_file);
137        }
138    }
139
140    header("location: ./bloc.php");
141}
142
143
144// ²èÌ̤Îɽ¼¨
145$objView->assignobj($objPage);
146$objView->display(MAIN_FRAME);
147
148//---------------------------------------------------------------------------------------------------------------------------------------------------------
149
150/**************************************************************************************************************
151 * ´Ø¿ô̾   ¡§lfgetBlocData
152 * ½èÍýÆâÍÆ ¡§¥Ö¥í¥Ã¥¯¾ðÊó¤ò¼èÆÀ¤¹¤ë
153 * °ú¿ô1    ¡§$where  ޥޥޥ Where¶çʸ
154 * °ú¿ô2    ¡§$arrVal ޥޥޥ Where¶ç¤Î¹Ê¹þ¾ò·ïÃÍ
155 * Ìá¤êÃÍ   ¡§¥Ö¥í¥Ã¥¯¾ðÊó
156 **************************************************************************************************************/
157function lfgetBlocData($where = '', $arrVal = ''){
158    $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È
159    $sql = "";                      // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ
160    $arrRet = array();              // ¥Ç¡¼¥¿¼èÆÀÍÑ
161   
162    // SQLÀ¸À®
163    $sql = " SELECT ";
164    $sql .= "   bloc_id";
165    $sql .= "   ,bloc_name";
166    $sql .= "   ,tpl_path";
167    $sql .= "   ,filename";
168    $sql .= "   ,create_date";
169    $sql .= "   ,update_date";
170    $sql .= "   ,php_path";
171    $sql .= "   ,del_flg";
172    $sql .= " FROM ";
173    $sql .= "   dtb_bloc";
174
175    // where¶ç¤Î»ØÄ꤬¤¢¤ì¤ÐÄɲà  
176    if ($where != '') {
177        $sql .= " WHERE " . $where;
178    }
179   
180    $sql .= " ORDER BY  bloc_id";
181   
182    $arrRet = $objDBConn->getAll($sql, $arrVal);
183   
184    return $arrRet;
185}
186
187/**************************************************************************************************************
188 * ´Ø¿ô̾   ¡§lfEntryBlocData
189 * ½èÍýÆâÍÆ ¡§¥Ö¥í¥Ã¥¯¾ðÊó¤ò¹¹¿·¤¹¤ë
190 * °ú¿ô1    ¡§$arrData  ޥޥޥ ¹¹¿·¥Ç¡¼¥¿
191 * Ìá¤êÃÍ   ¡§¹¹¿··ë²Ì
192 **************************************************************************************************************/
193function lfEntryBlocData($arrData){
194    $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È
195    $sql = "";                      // ¥Ç¡¼¥¿¹¹¿·SQLÀ¸À®ÍÑ
196    $ret = "";                      // ¥Ç¡¼¥¿¹¹¿··ë²Ì³ÊǼÍÑ
197    $arrUpdData = array();          // ¹¹¿·¥Ç¡¼¥¿À¸À®ÍÑ
198    $arrChk = array();              // ÇÓ¾¥Á¥§¥Ã¥¯ÍÑ
199   
200    // ¹¹¿·¥Ç¡¼¥¿À¸À®
201    $arrUpdData = array($arrData['bloc_name'], BLOC_DIR . $arrData['filename'] . '.tpl', $arrData['filename']);
202   
203    // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¥Á¥§¥Ã¥¯¤ò¹Ô¤¦
204    if($arrData['bloc_id'] !== ''){
205        $arrChk = lfgetBlocData("bloc_id = ?", array($arrData['bloc_id']));
206    }
207   
208    // bloc_id ¤¬¶õ ¼ã¤·¤¯¤Ï ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤ÏINSERT¤ò¹Ô¤¦
209    if ($arrData['bloc_id'] === '' or !isset($arrChk[0])) {
210        // SQLÀ¸À®
211        $sql = " INSERT INTO dtb_bloc";
212        $sql .= " ( ";
213        $sql .= "     bloc_name ";      // ¥Ö¥í¥Ã¥¯Ì¾¾Î
214        $sql .= "     ,tpl_path ";      // ¥Æ¥ó¥×¥ì¡¼¥ÈÊݸÀè
215        $sql .= "     ,filename ";      // ¥Õ¥¡¥¤¥ë̾¾Î
216        $sql .= "     ,create_date ";   // ºîÀ®Æü
217        $sql .= "     ,update_date ";   // ¹¹¿·Æü
218        $sql .= " ) VALUES ( ?,?,?,now(),now() )";
219        $sql .= " ";
220    }else{
221        // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤ë¾ì¹ç¤Ë¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤ò¹Ô¤¦
222        // SQLÀ¸À®
223        $sql = " UPDATE dtb_bloc";
224        $sql .= " SET";
225        $sql .= "     bloc_name = ? ";  // ¥Ö¥í¥Ã¥¯Ì¾¾Î
226        $sql .= "     ,tpl_path = ? ";  // ¥Æ¥ó¥×¥ì¡¼¥ÈÊݸÀè
227        $sql .= "     ,filename = ? ";  // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë̾
228        $sql .= "     ,update_date = now()";
229        $sql .= " WHERE bloc_id = ?";
230        $sql .= " ";
231       
232        // ¹¹¿·¥Ç¡¼¥¿¤Ë¥Ö¥í¥Ã¥¯ID¤òÄɲÃ
233        array_push($arrUpdData, $arrData['bloc_id']);
234    }
235   
236    // SQL¼Â¹Ô
237    $ret = $objDBConn->query($sql,$arrUpdData);
238   
239    return $ret;
240
241}
242
243/**************************************************************************************************************
244 * ´Ø¿ô̾   ¡§lfErrorCheck
245 * ½èÍýÆâÍÆ ¡§ÆþÎϹàÌܤΥ¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¹Ô¤¦
246 * °ú¿ô1    ¡§$arrData  ޥޥޥ ÆþÎϥǡ¼¥¿
247 * Ìá¤êÃÍ   ¡§¥¨¥é¡¼¾ðÊó
248 **************************************************************************************************************/
249function lfErrorCheck($array) {
250    global $objPage;
251    $objErr = new SC_CheckError($array);
252   
253    $objErr->doFunc(array("¥Ö¥í¥Ã¥¯Ì¾", "bloc_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
254    $objErr->doFunc(array("¥Õ¥¡¥¤¥ë̾", "filename", STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "MAX_LENGTH_CHECK","ALNUM_CHECK"));
255   
256    // Ʊ°ì¤Î¥Õ¥¡¥¤¥ë̾¤¬Â¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¥¨¥é¡¼
257    if(!isset($objErr->arrErr['filename']) and $array['filename'] !== ''){
258        $arrChk = lfgetBlocData("filename = ?", array($array['filename']));
259       
260        if (count($arrChk[0]) >= 1 and $arrChk[0]['bloc_id'] != $array['bloc_id']) {
261            $objErr->arrErr['filename'] = '¢¨ Ʊ¤¸¥Õ¥¡¥¤¥ë̾¤Î¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤Þ¤¹¡£Ê̤Î̾¾Î¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£';
262        }
263    }
264   
265    return $objErr->arrErr;
266}
Note: See TracBrowser for help on using the repository browser.