wb-archiv283 / branches / 2.8.x / wb / index.php @ 1138
1 |
<?php
|
---|---|
2 |
|
3 |
// $Id: index.php 1138 2009-08-25 10:18:21Z ruud $
|
4 |
|
5 |
/*
|
6 |
|
7 |
Website Baker Project <http://www.websitebaker.org/>
|
8 |
Copyright (C) 2004-2009, Ryan Djurovich
|
9 |
|
10 |
Website Baker is free software; you can redistribute it and/or modify
|
11 |
it under the terms of the GNU General Public License as published by
|
12 |
the Free Software Foundation; either version 2 of the License, or
|
13 |
(at your option) any later version.
|
14 |
|
15 |
Website Baker is distributed in the hope that it will be useful,
|
16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
18 |
GNU General Public License for more details.
|
19 |
|
20 |
You should have received a copy of the GNU General Public License
|
21 |
along with Website Baker; if not, write to the Free Software
|
22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
23 |
|
24 |
*/
|
25 |
|
26 |
$starttime = array_sum(explode(" ",microtime())); |
27 |
|
28 |
// Include config file
|
29 |
require_once(dirname(__FILE__).'/config.php'); |
30 |
|
31 |
// Check if the config file has been set-up
|
32 |
if(!defined('WB_PATH')) { |
33 |
header("Location: install/index.php"); |
34 |
exit(0); |
35 |
} |
36 |
|
37 |
require_once(WB_PATH.'/framework/class.frontend.php'); |
38 |
// Create new frontend object
|
39 |
$wb = new frontend(); |
40 |
|
41 |
// Figure out which page to display
|
42 |
// Stop processing if intro page was shown
|
43 |
$wb->page_select() or die(); |
44 |
|
45 |
// Collect info about the currently viewed page
|
46 |
// and check permissions
|
47 |
$wb->get_page_details();
|
48 |
|
49 |
// Collect general website settings
|
50 |
$wb->get_website_settings();
|
51 |
|
52 |
// Load functions available to templates, modules and code sections
|
53 |
// also, set some aliases for backward compatibility
|
54 |
require(WB_PATH.'/framework/frontend.functions.php'); |
55 |
|
56 |
// redirect menu-link
|
57 |
$this_page_id = PAGE_ID; |
58 |
if(version_compare(phpversion(), '4.3', '>=')) $php43 = TRUE; else $php43 = FALSE; |
59 |
$query_this_module = $database->query("SELECT module, block FROM ".TABLE_PREFIX."sections WHERE page_id = '$this_page_id' AND module = 'menu_link'"); |
60 |
if($query_this_module->numRows() == 1) { // This is a menu_link. Get link of target-page and redirect |
61 |
// get target_page_id
|
62 |
$table = TABLE_PREFIX.'mod_menu_link'; |
63 |
$query_tpid = $database->query("SELECT * FROM $table WHERE page_id = '$this_page_id'"); |
64 |
if($query_tpid->numRows() == 1) { |
65 |
$res=$query_tpid->fetchRow(); |
66 |
$target_page_id = $res['target_page_id']; |
67 |
$r_type = $res['redirect_type']; |
68 |
$anchor = $res['anchor']; |
69 |
$extern = $res['extern']; |
70 |
if($anchor != '0') $anchor = ''.$anchor; |
71 |
else $anchor = FALSE; |
72 |
// set redirect-type
|
73 |
if($r_type=='301') { |
74 |
if($php43) @header('HTTP/1.1 301 Moved Permanently', TRUE, 301); |
75 |
else @header('HTTP/1.1 301 Moved Permanently'); |
76 |
} |
77 |
if($target_page_id == -1) { |
78 |
if($extern!='') { |
79 |
header("Location: $extern".($anchor?'#'.$anchor:'')); |
80 |
} |
81 |
} else {
|
82 |
// get link of target-page
|
83 |
$table = TABLE_PREFIX.'pages'; |
84 |
$query_link = $database->query("SELECT link FROM $table WHERE page_id = '$target_page_id'"); |
85 |
if($query_link->numRows() == 1) { |
86 |
$res=$query_link->fetchRow(); |
87 |
$target_page_link = $res['link']; |
88 |
header('Location: '.WB_URL.PAGES_DIRECTORY.$target_page_link.PAGE_EXTENSION.($anchor?'#'.$anchor:'')); |
89 |
exit;
|
90 |
} |
91 |
} |
92 |
} |
93 |
} |
94 |
|
95 |
// Backwards compatible Frontend filter support
|
96 |
// include the output filter module routines
|
97 |
if(file_exists(WB_PATH .'/modules/output_filter/filter-routines.php')) {@require_once(WB_PATH .'/modules/output_filter/filter-routines.php');} |
98 |
// Load Droplet engine
|
99 |
if(file_exists(WB_PATH .'/modules/droplets/droplets.php')) { @require_once(WB_PATH .'/modules/droplets/droplets.php'); } |
100 |
|
101 |
//Get pagecontent in buffer for Droplets and/or Filter operations
|
102 |
ob_start(); |
103 |
require(WB_PATH.'/templates/'.TEMPLATE.'/index.php'); |
104 |
$output = ob_get_contents();
|
105 |
if (ob_get_length() > 0) ob_end_clean(); |
106 |
|
107 |
if(function_exists('evalDroplets')) { $output = evalDroplets($output); } |
108 |
if(function_exists('filter_frontend_output')) { $output = filter_frontend_output($output); } |
109 |
echo $output; |
110 |
|
111 |
?>
|