source: branches/beta/data/include/page_layout.inc @ 12494

Revision 12494, 7.4 KB checked in by uehara, 17 years ago (diff)
Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7
8/**************************************************************************************************************
9 * ´Ø¿ô̾   ¡§sfGetPageLayout
10 * ½èÍýÆâÍÆ ¡§¥Ú¡¼¥¸¤Î¥ì¥¤¥¢¥¦¥È¾ðÊó¤ò¥»¥Ã¥È¤¹¤ë
11 * °ú¿ô1    ¡§$objPage
12 * °ú¿ô2    ¡§$preview
13 * Ìá¤êÃÍ   ¡§¥Ú¡¼¥¸¤Î¥ì¥¤¥¢¥¦¥È¾ðÊó
14 **************************************************************************************************************/
15function sfGetPageLayout($objPage, $preview = false, $url = ""){
16    $arrPageLayout = array();
17
18    // ¸½ºß¤ÎURL¤Î¼èÆÀ
19    if ($preview === false) {
20        if ($url == "") {
21            $url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
22        }
23        // URL¤ò¸µ¤Ë¥Ú¡¼¥¸¥Ç¥¶¥¤¥ó¤ò¼èÆÀ
24        $arrPageData = lfgetPageData(" url = ? " , array($url));
25    }else{
26        $arrPageData = lfgetPageData(" page_id = ? " , array("0"));
27    }
28
29    // ¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤òÀßÄê
30    if (!isset($objPage->tpl_mainpage)) {
31        $objPage->tpl_mainpage = HTML_PATH . $arrPageData[0]['tpl_dir'] . $arrPageData[0]['filename'] . ".tpl";
32    }
33   
34    // ¥Ú¡¼¥¸¥¿¥¤¥È¥ë¤òÀßÄê
35    if (!isset($objPage->tpl_title)) {
36        $objPage->tpl_title = $arrPageData[0]['page_name'];
37    }
38
39    $arrPageLayout = $arrPageData[0];
40
41    // Á´¥Ê¥Ó¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë
42    $arrNavi = lfGetNaviData($url, $preview);
43   
44    $arrPageLayout['LeftNavi']  = lfGetNavi($arrNavi,1);    // LEFT NAVI
45    $arrPageLayout['MainHead']  = lfGetNavi($arrNavi,2);    // ¥á¥¤¥ó¾åÉô
46    $arrPageLayout['RightNavi'] = lfGetNavi($arrNavi,3);    // RIGHT NAVI
47    $arrPageLayout['MainFoot']  = lfGetNavi($arrNavi,4);    // ¥á¥¤¥ó²¼Éô
48   
49    $objPage->arrPageLayout = $arrPageLayout;
50   
51    return $objPage;
52}
53
54/**************************************************************************************************************
55 * ´Ø¿ô̾   ¡§lfgetPageData
56 * ½èÍýÆâÍÆ ¡§¥Ú¡¼¥¸¾ðÊó¤ò¼èÆÀ¤¹¤ë
57 * °ú¿ô1    ¡§$where  Ž¥Ž¥Ž¥ Where¶çʸ
58 * °ú¿ô2    ¡§$arrVal Ž¥Ž¥Ž¥ Where¶ç¤Î¹Ê¹þ¾ò·ïÃÍ
59 * Ìá¤êÃÍ   ¡§¥Ú¡¼¥¸¾ðÊó
60 **************************************************************************************************************/
61function lfgetPageData($where = '', $arrVal = ''){
62    $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È
63    $sql = "";                      // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ
64    $arrRet = array();              // ¥Ç¡¼¥¿¼èÆÀÍÑ
65   
66    // SQLÀ¸À®
67    $sql .= " SELECT";
68    $sql .= " page_id";             // ¥Ú¡¼¥¸ID
69    $sql .= " ,page_name";          // ̾¾Î
70    $sql .= " ,url";                // URL
71    $sql .= " ,php_dir";            // phpÊݸÀè¥Ç¥£¥ì¥¯¥È¥ê
72    $sql .= " ,tpl_dir";            // tplÊݸÀè¥Ç¥£d¥ì¥¯¥È¥ê
73    $sql .= " ,filename";           // ¥Õ¥¡¥¤¥ë̾¾Î
74    $sql .= " ,header_chk ";        // ¥Ø¥Ã¥À¡¼»ÈÍÑFLG
75    $sql .= " ,footer_chk ";        // ¥Õ¥Ã¥¿¡¼»ÈÍÑFLG
76    $sql .= " ,edit_flg ";          // ÊÔ½¸²ÄǽFLG
77    $sql .= " ,author";             // author¥¿¥°
78    $sql .= " ,description";        // description¥¿¥°
79    $sql .= " ,keyword";            // keyword¥¿¥°
80    $sql .= " ,update_url";         // ¹¹¿·URL
81    $sql .= " ,create_date";        // ¥Ç¡¼¥¿ºîÀ®Æü
82    $sql .= " ,update_date";        // ¥Ç¡¼¥¿¹¹¿·Æü
83    $sql .= " FROM ";
84    $sql .= "     dtb_pagelayout";
85    $sql .= " WHERE ";
86   
87    // where¶ç¤Î»ØÄ꤬¤¢¤ì¤ÐÄɲÃ
88    if ($where != '') {
89        $sql .= $where;
90    }else{
91        $sql .= "     page_id != 0 ";
92    }
93
94    $sql .= " ORDER BY  page_id";
95   
96    $arrRet = $objDBConn->getAll($sql, $arrVal);
97   
98    return $arrRet;
99}
100
101
102/**************************************************************************************************************
103 * ´Ø¿ô̾   ¡§lfGetNaviData
104 * ½èÍýÆâÍÆ ¡§¥Ê¥Ó¾ðÊó¤ò¼èÆÀ¤¹¤ë
105 * Ìá¤êÃÍ   ¡§¥Ö¥í¥Ã¥¯¾ðÊó
106 **************************************************************************************************************/
107function lfGetNaviData($url, $preview=false){
108    $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È
109    $sql = "";                      // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ
110    $arrRet = array();              // ¥Ç¡¼¥¿¼èÆÀÍÑ
111    $arrData = array();
112
113    // SQLʸÀ¸À®       
114    $sql = "";
115    $sql .= " SELECT ";
116    $sql .= "     target_id ";
117    $sql .= "     ,(SELECT bloc_name FROM dtb_bloc AS bloc WHERE bloc.bloc_id = pos.bloc_id) AS bloc_name";
118    $sql .= "     ,(SELECT tpl_path FROM dtb_bloc AS bloc WHERE bloc.bloc_id = pos.bloc_id) AS tpl_path";
119    $sql .= "     ,(SELECT php_path FROM dtb_bloc AS bloc WHERE bloc.bloc_id = pos.bloc_id) AS php_path";
120    $sql .= " FROM";
121    $sql .= "     dtb_blocposition AS pos";
122    $sql .= " WHERE";
123    if ($preview == true) {
124        $sql .= "     page_id = (SELECT page_id FROM dtb_pagelayout WHERE page_id = '0')";
125    }else{
126        $sql .= "     page_id = (SELECT page_id FROM dtb_pagelayout WHERE url = ?)";
127        $arrData = array($url);
128    }
129    $sql .= " ORDER BY target_id,bloc_row";
130    $sql .= " ";
131   
132    // SQL¼Â¹Ô
133    $arrRet = $objDBConn->getAll($sql, $arrData);
134   
135    // ·ë²Ì¤òÊÖ¤¹
136    return $arrRet;
137}
138
139
140/**************************************************************************************************************
141 * ´Ø¿ô̾   ¡§lfGetNavi
142 * ½èÍýÆâÍÆ ¡§³ÆÉôʬ¤Î¥Ê¥Ó¾ðÊó¤ò¼èÆÀ¤¹¤ë
143 * Ìá¤êÃÍ   ¡§¥Ö¥í¥Ã¥¯¾ðÊó
144 **************************************************************************************************************/
145function lfGetNavi($arrNavi, $target_id){
146    $arrRet = array();
147    if(is_array($arrNavi)) {
148        foreach($arrNavi as $key => $val){
149            // »ØÄꤵ¤ì¤¿²Õ½ê¤ÈƱ¤¸¥Ç¡¼¥¿¤À¤±¤ò¼èÆÀ¤¹¤ë
150            if ($target_id == $val['target_id']){
151                if ($val['php_path'] != '') {
152                    $arrNavi[$key]['php_path'] = HTML_PATH . $val['php_path'];
153                    $arrNavi[$key]['include'] = "<!--{include file='".$val['php_path']."'}-->";
154                }else{
155                    $arrNavi[$key]['tpl_path'] = USER_PATH . $val['tpl_path'];
156                    $arrNavi[$key]['include'] = "<!--{include file='". USER_PATH . $val['tpl_path'] ."'}-->";
157                }
158               
159                $arrRet[] = $arrNavi[$key];
160            }
161        }
162    }
163    return $arrRet;
164}
165
166
167function lfDelPageData($page_id){
168    // DB¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë
169    $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È
170    $sql = "";                      // ¥Ç¡¼¥¿¹¹¿·SQLÀ¸À®ÍÑ
171    $ret = "";                      // ¥Ç¡¼¥¿¹¹¿··ë²Ì³ÊǼÍÑ
172    $arrDelData = array();          // ¹¹¿·¥Ç¡¼¥¿À¸À®ÍÑ
173   
174    // page_id ¤¬¶õ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ïdelete¤ò¼Â¹Ô
175    if ($page_id !== '') {
176        // SQLÀ¸À®
177        $sql = " DELETE FROM dtb_pagelayout WHERE page_id = ?";
178
179        // SQL¼Â¹Ô
180        $ret = $objDBConn->query($sql,array($page_id));
181
182        // ¥Õ¥¡¥¤¥ë¤Îºï½ü
183        lfDelFile($arrPageData[0]);
184    }
185
186    header("location: ".$_SERVER['REQUEST_URI']);
187
188}
189
190/**************************************************************************************************************
191 * ´Ø¿ô̾   ¡§lfDelFile
192 * ½èÍýÆâÍÆ ¡§¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë
193 * °ú¿ô1    ¡§$data  Ž¥Ž¥Ž¥ ºï½ü¥Ç¡¼¥¿
194 * Ìá¤êÃÍ   ¡§¤Ê¤·
195 **************************************************************************************************************/
196function lfDelFile($arrData){
197    // ¥Õ¥¡¥¤¥ë¥Ç¥£¥ì¥¯¥È¥ê¼èÆÀ
198    $del_php = HTML_PATH . $arrData['php_dir'] . $arrData['filename'] . ".php";
199    $del_tpl = HTML_PATH . $arrData['tpl_dir'] . $arrData['filename'] . ".tpl";
200
201    // php¥Õ¥¡¥¤¥ë¤Îºï½ü
202    if (file_exists($del_php)){
203        unlink($del_php);   
204    }
205
206    // tpl¥Õ¥¡¥¤¥ë¤Îºï½ü
207    if (file_exists($del_tpl)){
208        unlink($del_tpl);   
209    }
210}
211
212/**************************************************************************************************************
213 * ´Ø¿ô̾   ¡§lfCheckBaseData
214 * ½èÍýÆâÍÆ ¡§¥Ç¡¼¥¿¤¬¥Ù¡¼¥¹¥Ç¡¼¥¿¤Ê¤Î¤«¤òȽÃǤ¹¤ë
215 * °ú¿ô1    ¡§$data  Ž¥Ž¥Ž¥ ȽÃǥǡ¼¥¿¡Ê¥Ú¡¼¥¸ID¡Ë
216 * Ìá¤êÃÍ   ¡§trueŽ¥Ž¥Ž¥¥Ù¡¼¥¹¥Ç¡¼¥¿¡¢falseŽ¥Ž¥Ž¥¥Ù¡¼¥¹¥Ç¡¼¥¿¤Ç¤Ê¤¤
217 **************************************************************************************************************/
218function lfCheckBaseData($data){
219    $ret = false;
220   
221    if ($data == 0) {
222        return $ret;       
223    }
224   
225    $arrChkData = lfgetPageData("page_id = ?", array($data));   
226   
227    if ($arrChkData[0]['edit_flg'] == 2){
228        $ret = true;
229    }
230   
231    return $ret;
232}
233
234?>
Note: See TracBrowser for help on using the repository browser.