source: temp/trunk/html/admin/design/template.php @ 10433

Revision 10433, 11.4 KB checked in by uehara, 20 years ago (diff)
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?php
2/*
3 * Copyright(c) 2000-2006 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7require_once("../../require.php");
8require_once(DATA_PATH. "module/Tar.php");
9
10class LC_Page {
11    var $arrForm;
12    var $arrHidden;
13    var $arrSubnavi = array(
14        'title' => array(
15            1 => 'top',
16            2 => 'product',
17            3 => 'detail',
18            4 => 'mypage'
19        ),
20        'name' =>array(
21            1 => 'TOP¥Ú¡¼¥¸',
22            2 => '¾¦ÉʰìÍ÷¥Ú¡¼¥¸',
23            3 => '¾¦Éʾܺ٥ڡ¼¥¸',
24            4 => 'MY¥Ú¡¼¥¸'
25        )
26    );
27
28    function LC_Page() {
29        $this->tpl_mainpage = 'design/template.tpl';
30        $this->tpl_subnavi = 'design/subnavi.tpl';
31        $this->tpl_subno = 'template';
32        $this->tpl_subno_template = $this->arrSubnavi['title'][1];
33        $this->tpl_TemplateName = $this->arrTemplateName['name'][1];
34        $this->tpl_mainno = "design";
35        $this->tpl_subtitle = '¥Æ¥ó¥×¥ì¡¼¥ÈÀßÄê';
36    }
37}
38
39$objPage = new LC_Page();
40$objView = new SC_AdminView();
41$objSess = new SC_Session();
42
43// ǧ¾Ú²ÄÈݤÎȽÄê
44$objSess = new SC_Session();
45sfIsSuccess($objSess);
46
47// GET¤ÎÃͤò¼õ¤±¼è¤ë
48$get_tpl_subno_template = $_GET['tpl_subno_template'];
49
50// GET¤ÇÃͤ¬Á÷¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¤½¤ÎÃͤò¸µ¤Ë²èÌÌɽ¼¨¤òÀÚ¤êÂØ¤¨¤ë
51if ($get_tpl_subno_template != ""){
52    // Á÷¤é¤ì¤Æ¤­¤¿Ãͤ¬ÇÛÎó¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤ÐTOP¤òɽ¼¨
53    if (in_array($get_tpl_subno_template,$objPage->arrSubnavi['title'])){
54        $tpl_subno_template = $get_tpl_subno_template;
55    }else{
56        $tpl_subno_template = $objPage->arrSubnavi['title'][1];
57    }
58} else {
59    // GET¤ÇÃͤ¬¤Ê¤±¤ì¤ÐPOST¤ÎÃͤò»ÈÍѤ¹¤ë
60    if ($_POST['tpl_subno_template'] != ""){
61        $tpl_subno_template = $_POST['tpl_subno_template'];
62    }else{
63        $tpl_subno_template = $objPage->arrSubnavi['title'][1];
64    }
65}
66$objPage->tpl_subno_template = $tpl_subno_template;
67$key = array_keys($objPage->arrSubnavi['title'], $tpl_subno_template);
68$objPage->template_name = $objPage->arrSubnavi['name'][$key[0]];
69
70// ÅÐÏ¿¤ò²¡¤µ¤ì¤¿¤Ð¤¢¤Ë¤ÏDB¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤Ë¹Ô¤¯
71switch($_POST['mode']) {
72case 'confirm':
73    // DB¤Ø¥Ç¡¼¥¿¹¹¿·
74    lfUpdData();
75   
76    // ¥Æ¥ó¥×¥ì¡¼¥È¤Î¾å½ñ¤­
77    lfChangeTemplate();
78   
79    // ´°Î»¥á¥Ã¥»¡¼¥¸
80    $objPage->tpl_onload="alert('ÅÐÏ¿¤¬´°Î»¤·¤Þ¤·¤¿¡£');";
81    break;
82case 'download':
83    lfDownloadTemplate($_POST['check_template']);
84    break;
85default:
86    break;
87}
88
89// POSTÃͤΰú¤­·Ñ¤®
90$objPage->arrForm = $_POST;
91
92// ²èÁü¼èÆÀ
93$tpl_arrTemplate = array();
94$objPage->arrTemplate = lfgetTemplate();
95
96// ¥Ç¥Õ¥©¥ë¥È¥Á¥§¥Ã¥¯¼èÆÀ
97$objPage->MainImage = $objPage->arrTemplate['check'];
98$objPage->arrTemplate['check'] = array($objPage->arrTemplate['check']=>"check");
99
100// ²èÌ̤Îɽ¼¨
101$objView->assignobj($objPage);
102$objView->display(MAIN_FRAME);
103
104//---------------------------------------------------------------------------------------------------------------------------------------------------------
105
106/**************************************************************************************************************
107 * ´Ø¿ô̾   ¡§lfgetTemplate
108 * ½èÍýÆâÍÆ ¡§²èÌ̤Ëɽ¼¨¤¹¤ë²èÁü¤ò¼èÆÀ¤¹¤ë
109 * °ú¿ô     ¡§¤Ê¤·
110 * Ìá¤êÃÍ   ¡§²èÌ̤Ëɽ¼¨¤¹¤ë²èÁü(ÇÛÎó)
111 **************************************************************************************************************/
112function lfgetTemplate(){
113    global $objPage;
114    $filepath = "user_data/templates/";
115   
116    $arrTemplateImage = array();    // ²èÌÌɽ¼¨²èÁü³ÊǼÍÑ
117    $Image = "";                    // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ
118    $disp = "";
119    $arrDefcheck = array();         // radio¥Ü¥¿¥ó¤Î¥Ç¥Õ¥©¥ë¥È¥Á¥§¥Ã¥¯³ÊǼÍÑ
120   
121    // DB¤«¤é¸½ºßÁªÂò¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¼èÆÀ
122    $arrDefcheck = lfgetTemplaeBaseData();
123   
124    // ¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë
125    $objQuery = new SC_Query();
126    $sql = "SELECT template_code,template_name FROM dtb_templates ORDER BY create_date DESC";
127    $arrTemplate = $objQuery->getall($sql);
128   
129    switch($objPage->tpl_subno_template) {
130        // TOP
131        case $objPage->arrSubnavi['title'][1]:
132            $Image = "img/TopImage.jpg";            // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ
133            $disp = $objPage->arrSubnavi['title'][1];
134            break;
135           
136        // ¾¦ÉʰìÍ÷
137        case $objPage->arrSubnavi['title'][2]:
138            $Image = "img/ProdImage.jpg";           // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ
139            $disp = $objPage->arrSubnavi['title'][2];
140            break;
141           
142        // ¾¦ÉʾܺÙ
143        case $objPage->arrSubnavi['title'][3]:
144            $Image = "img/DetailImage.jpg";         // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ
145            $disp = $objPage->arrSubnavi['title'][3];
146            break;
147           
148        // MY¥Ú¡¼¥¸
149        case $objPage->arrSubnavi['title'][4]:
150            $Image = "img/MypageImage.jpg";         //¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ
151            $disp = $objPage->arrSubnavi['title'][4];
152            break;
153    }
154
155    // ²èÁüɽ¼¨ÇÛÎóºîÀ®
156    foreach($arrTemplate as $key => $val){
157        $arrTemplateImage['image'][$val['template_code']] = $filepath . $val['template_code'] . "/" . $Image;
158        $arrTemplateImage['code'][$key] = $val['template_code'];
159    }
160   
161    // ½é´ü¥Á¥§¥Ã¥¯
162    if (isset($arrDefcheck[$disp])){
163        $arrTemplateImage['check'] = $arrDefcheck[$disp];
164    }else{
165        $arrTemplateImage['check'] = 1;
166    }
167   
168sfprintr($arrTemplateImage);
169    return $arrTemplateImage;
170}
171
172/**************************************************************************************************************
173 * ´Ø¿ô̾   ¡§lfgetTemplaeBaseData
174 * ½èÍýÆâÍÆ ¡§DB¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë
175 * °ú¿ô     ¡§¤Ê¤·
176 * Ìá¤êÃÍ   ¡§DB¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿(ÇÛÎó)
177 **************************************************************************************************************/
178function lfgetTemplaeBaseData(){
179    $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È
180    $sql = "";                      // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ
181    $arrRet = array();              // ¥Ç¡¼¥¿¼èÆÀÍÑ
182   
183    $sql = "SELECT top_tpl AS top, product_tpl AS product, detail_tpl AS detail, mypage_tpl AS mypage FROM dtb_baseinfo";
184    $arrRet = $objDBConn->getAll($sql);
185   
186    return $arrRet[0];
187}
188
189/**************************************************************************************************************
190 * ´Ø¿ô̾   ¡§lfUpdData
191 * ½èÍýÆâÍÆ ¡§DB¤Ë¥Ç¡¼¥¿¤òÊݸ¤¹¤ë
192 * °ú¿ô     ¡§¤Ê¤·
193 * Ìá¤êÃÍ   ¡§À®¸ù TRUE¡¢¥¨¥é¡¼ FALSE
194 **************************************************************************************************************/
195function lfUpdData(){
196    global $objPage;
197    $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È
198    $sql = "";                      // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ
199    $arrRet = array();              // ¥Ç¡¼¥¿¼èÆÀÍÑ(¹¹¿·È½Äê)
200
201    // ¥Ç¡¼¥¿¼èÆÀ   
202    $sql = "SELECT top_tpl AS top, product_tpl AS product, detail_tpl AS detail, mypage_tpl AS mypage FROM dtb_baseinfo";
203    $arrRet = $objDBConn->getAll($sql);
204
205    $chk_tpl = $_POST['check_template'];
206    // ¥Ç¡¼¥¿¤¬¼èÆÀ¤Ç¤­¤Ê¤±¤ì¤ÐINSERT¡¢¤Ç¤­¤ì¤ÐUPDATE
207    if (isset($arrRet[0])){
208        // UPDATE
209        $arrVal = $arrRet[0];
210       
211        // TOP¤òÊѹ¹¤·¤¿¾ì¹ç¤Ë¤ÏÁ´²èÌÌÊѹ¹
212        if ($objPage->tpl_subno_template == $objPage->arrSubnavi['title'][1]){
213            $arrVal = array($chk_tpl,$chk_tpl,$chk_tpl,$chk_tpl);
214        }else{
215            $arrVal[$objPage->tpl_subno_template] = $chk_tpl;
216        }
217        $sql= "update dtb_baseinfo set top_tpl = ?, product_tpl = ?, detail_tpl = ?, mypage_tpl = ?, update_date = now()";
218    }else{
219        // INSERT
220        $arrVal = array(null,null,null,null);
221       
222        // TOP¤òÊѹ¹¤·¤¿¾ì¹ç¤Ë¤ÏÁ´²èÌÌÊѹ¹
223        if ($objPage->tpl_subno_template == $objPage->arrSubnavi['title'][1]){
224            $arrVal = array($chk_tpl,$chk_tpl,$chk_tpl,$chk_tpl);
225        }else{
226            $arrVal[$chk_tpl-1] =$chk_tpl;
227        }
228        $sql= "insert into dtb_baseinfo (top_tpl,product_tpl,detail_tpl,mypage_tpl, update_date) values (?,?,?,?,now());";
229    }
230
231    // SQL¼Â¹Ô 
232    $arrRet = $objDBConn->query($sql,$arrVal);
233   
234    return $arrRet;
235}
236
237/**************************************************************************************************************
238 * ´Ø¿ô̾   ¡§lfChangeTemplate
239 * ½èÍýÆâÍÆ ¡§¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤¹¤ë
240 * °ú¿ô     ¡§¤Ê¤·
241 * Ìá¤êÃÍ   ¡§À®¸ù TRUE¡¢¥¨¥é¡¼ FALSE
242 **************************************************************************************************************/
243function lfChangeTemplate(){
244    global $objPage;
245    $tpl_path = USER_PATH . "templates/";
246    $inc_path = USER_PATH . "include/";
247    $css_path = USER_PATH . "css/";
248   
249    $tpl_name = "";
250    $tpl_element = "";
251   
252    $chk_tpl = $_POST['check_template'];
253   
254    // ¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë
255    $objQuery = new SC_Query();
256    $sql = "SELECT template_code,template_name FROM dtb_templates WHERE template_code = ?";
257    $arrTemplate = $objQuery->getall($sql, array($chk_tpl));   
258   
259    switch($objPage->tpl_subno_template) {
260        // TOP
261        case $objPage->arrSubnavi['title'][1]:
262            $tpl_element = "TopTemplate";           // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ
263            $tpl_name = "top.tpl";
264            break;
265           
266        // ¾¦ÉʰìÍ÷
267        case $objPage->arrSubnavi['title'][2]:
268            $tpl_element = "ProdTemplate";          // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ
269            $tpl_name = "list.tpl";
270            break;
271           
272        // ¾¦ÉʾܺÙ
273        case $objPage->arrSubnavi['title'][3]:
274            $tpl_element = "DetailTemplate";            // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ
275            $tpl_name = "detail.tpl";
276            break;
277           
278        // MY¥Ú¡¼¥¸
279        case $objPage->arrSubnavi['title'][4]:
280            $tpl_element = "MypageTemplate";            //¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ
281            $tpl_name = "mypage.tpl";
282            break;
283
284        default:
285            break;
286    }
287   
288    $taget_tpl_path = $tpl_path . $arrTemplate[0]['template_code'] . "/";
289    $save_tpl_path = $tpl_path;
290   
291    // TOP¤òÊѹ¹¤·¤¿¾ì¹ç¤Ë¤ÏÁ´²èÌÌÊѹ¹
292    if ($objPage->tpl_subno_template == $objPage->arrSubnavi['title'][1]){
293        // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼
294        copy($taget_tpl_path . "top.tpl", $save_tpl_path . "top.tpl");
295        copy($taget_tpl_path . "list.tpl", $save_tpl_path . "list.tpl");
296        copy($taget_tpl_path . "detail.tpl", $save_tpl_path . "detail.tpl");
297
298        // mypage¤Ï¥Õ¥©¥ë¥À¤´¤È¥³¥Ô¡¼
299        lfFolderCopy($taget_tpl_path."mypage/", $save_tpl_path . "mypage/");
300
301        // ¥Ö¥í¥Ã¥¯¥Ç¡¼¥¿¤Î¥³¥Ô¡¼
302        lfFolderCopy($taget_tpl_path."bloc/", $inc_path . "bloc/");
303       
304        // ¥Ø¥Ã¥À¡¼,¥Õ¥Ã¥¿¡¼¥³¥Ô¡¼
305        copy($taget_tpl_path . "header.tpl", $inc_path . "header.tpl");
306        copy($taget_tpl_path . "footer.tpl", $inc_path . "footer.tpl");
307       
308        // CSS¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼
309        copy($taget_tpl_path . "contents.css", $css_path . "contents.css");
310
311    // mypage¤Î¾ì¹ç¤Ë¤Ï¥Õ¥©¥ë¥À¤´¤È¥³¥Ô¡¼¤¹¤ë
312    }elseif($objPage->tpl_subno_template == $objPage->arrSubnavi['title'][4]){
313        lfFolderCopy($taget_tpl_path."mypage/", $save_tpl_path."mypage/");
314    }else{
315        // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼
316        copy($taget_tpl_path . $tpl_name, $save_tpl_path . $tpl_name);
317    }
318}
319
320/**************************************************************************************************************
321 * ´Ø¿ô̾   ¡§lfDownloadTemplate
322 * ½èÍýÆâÍÆ ¡§¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë°µ½Ì¤·¤Æ¥À¥¦¥ó¥í¡¼¥É¤¹¤ë
323 * °ú¿ô1    ¡§¥Æ¥ó¥×¥ì¡¼¥È¥³¡¼¥É
324 * Ìá¤êÃÍ   ¡§¤Ê¤·
325 **************************************************************************************************************/
326function lfDownloadTemplate($template_code){
327    $filename = $template_code. ".tar.gz";
328    $dl_file = USER_TEMPLATE_PATH.$filename;
329   
330    // ¥Õ¥¡¥¤¥ë¤Î°µ½Ì
331    $tar = new Archive_Tar($dl_file, TRUE);
332    // ¥Õ¥¡¥¤¥ë¥ê¥¹¥È¼èÆÀ
333    $arrFile = sfGetFileList(USER_TEMPLATE_PATH.$template_code);   
334   
335    //bkup¥Õ¥©¥ë¥À¤Ë°Üư¤¹¤ë
336    chdir(USER_TEMPLATE_PATH.$template_code);
337    //°µ½Ì¤ò¤ª¤³¤Ê¤¦
338    $zip = $tar->create($arrFile);
339       
340    // ¥À¥¦¥ó¥í¡¼¥É³«»Ï
341    Header("Content-disposition: attachment; filename=${filename}");
342    Header("Content-type: application/octet-stream; name=${dl_file}");
343    header("Content-Length: " .filesize($dl_file));
344    readfile ($dl_file);
345    // °µ½Ì¥Õ¥¡¥¤¥ëºï½ü
346    unlink($dl_file);
347   
348    exit();
349}
350
351/**************************************************************************************************************
352 * ´Ø¿ô̾   ¡§lfFolderCopy
353 * ½èÍýÆâÍÆ ¡§¥Õ¥©¥ë¥À¤ò¥³¥Ô¡¼¤¹¤ë
354 * °ú¿ô1    ¡§¥³¥Ô¡¼¸µ¥Ñ¥¹
355 * °ú¿ô2¡¡¡¡¡§¥³¥Ô¡¼Àè¥Ñ¥¹
356 * Ìá¤êÃÍ   ¡§¤Ê¤·
357 **************************************************************************************************************/
358function lfFolderCopy($taget_path, $save_path){
359
360    // ¥Õ¥©¥ë¥ÀÆâ¤Î¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
361    $arrMypage=glob($taget_path . "*" );
362   
363    // ¥Õ¥©¥ë¥À¤¬¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë
364    if(!is_dir($save_path)){
365        mkdir($save_path);
366    }
367
368    // ¥Õ¥©¥ë¥ÀÆâ¤òÁ´¤Æ¥³¥Ô¡¼
369    foreach($arrMypage as $key => $val){
370        $matches = array();
371        mb_ereg("^(.*[\/])(.*)",$val, $matches);
372        $data=$matches[2];
373        copy($val, $save_path . $data);
374    }
375}
Note: See TracBrowser for help on using the repository browser.