source: branches/dev/data/include/page_layout.inc @ 8

Revision 8, 7.4 KB checked in by root, 17 years ago (diff)

new import

Line 
1<?php
2/*
3 * Copyright(c) 2000-2006 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['REQUEST_URI'];
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   
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    return $arrRet;
163}
164
165
166function lfDelPageData($page_id){
167    // DB¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë
168    $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È
169    $sql = "";                      // ¥Ç¡¼¥¿¹¹¿·SQLÀ¸À®ÍÑ
170    $ret = "";                      // ¥Ç¡¼¥¿¹¹¿··ë²Ì³ÊǼÍÑ
171    $arrDelData = array();          // ¹¹¿·¥Ç¡¼¥¿À¸À®ÍÑ
172   
173    // page_id ¤¬¶õ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ïdelete¤ò¼Â¹Ô
174    if ($page_id !== '') {
175        // SQLÀ¸À®
176        $sql = " DELETE FROM dtb_pagelayout WHERE page_id = ?";
177
178        // SQL¼Â¹Ô
179        $ret = $objDBConn->query($sql,array($page_id));
180
181        // ¥Õ¥¡¥¤¥ë¤Îºï½ü
182        lfDelFile($arrPageData[0]);
183    }
184
185    header("location: ".$_SERVER['REQUEST_URI']);
186
187}
188
189/**************************************************************************************************************
190 * ´Ø¿ô̾   ¡§lfDelFile
191 * ½èÍýÆâÍÆ ¡§¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë
192 * °ú¿ô1    ¡§$data  Ž¥Ž¥Ž¥ ºï½ü¥Ç¡¼¥¿
193 * Ìá¤êÃÍ   ¡§¤Ê¤·
194 **************************************************************************************************************/
195function lfDelFile($arrData){
196    // ¥Õ¥¡¥¤¥ë¥Ç¥£¥ì¥¯¥È¥ê¼èÆÀ
197    $del_php = HTML_PATH . $arrData['php_dir'] . $arrData['filename'] . ".php";
198    $del_tpl = HTML_PATH . $arrData['tpl_dir'] . $arrData['filename'] . ".tpl";
199
200    // php¥Õ¥¡¥¤¥ë¤Îºï½ü
201    if (file_exists($del_php)){
202        unlink($del_php);   
203    }
204
205    // tpl¥Õ¥¡¥¤¥ë¤Îºï½ü
206    if (file_exists($del_tpl)){
207        unlink($del_tpl);   
208    }
209}
210
211/**************************************************************************************************************
212 * ´Ø¿ô̾   ¡§lfCheckBaseData
213 * ½èÍýÆâÍÆ ¡§¥Ç¡¼¥¿¤¬¥Ù¡¼¥¹¥Ç¡¼¥¿¤Ê¤Î¤«¤òȽÃǤ¹¤ë
214 * °ú¿ô1    ¡§$data  Ž¥Ž¥Ž¥ ȽÃǥǡ¼¥¿¡Ê¥Ú¡¼¥¸ID¡Ë
215 * Ìá¤êÃÍ   ¡§trueŽ¥Ž¥Ž¥¥Ù¡¼¥¹¥Ç¡¼¥¿¡¢falseŽ¥Ž¥Ž¥¥Ù¡¼¥¹¥Ç¡¼¥¿¤Ç¤Ê¤¤
216 **************************************************************************************************************/
217function lfCheckBaseData($data){
218    $ret = false;
219   
220    if ($data == 0) {
221        return $ret;       
222    }
223   
224    $arrChkData = lfgetPageData("page_id = ?", array($data));   
225   
226    if ($arrChkData[0]['edit_flg'] == 2){
227        $ret = true;
228    }
229   
230    return $ret;
231}
232
233?>
Note: See TracBrowser for help on using the repository browser.