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

Revision 5934, 9.9 KB checked in by kakinaka, 20 years ago (diff)

* empty log message *

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