| 1 | 238 | stefan | <?php
 | 
      
        | 2 |  |  | 
 | 
      
        | 3 |  |  | // $Id$
 | 
      
        | 4 |  |  | 
 | 
      
        | 5 |  |  | /*
 | 
      
        | 6 |  |  | 
 | 
      
        | 7 |  |  |  Website Baker Project <http://www.websitebaker.org/>
 | 
      
        | 8 | 519 | Ruebenwurz |  Copyright (C) 2004-2008, Ryan Djurovich
 | 
      
        | 9 | 238 | stefan | 
 | 
      
        | 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 | 286 | stefan | 	exit(0);
 | 
      
        | 35 | 238 | stefan | }
 | 
      
        | 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 | 543 | thorn | // redirect menu-link
 | 
      
        | 57 |  |  | $this_page_id = PAGE_ID;
 | 
      
        | 58 |  |  | $query_this_module = $database->query("SELECT module, block FROM ".TABLE_PREFIX."sections WHERE page_id = '$this_page_id' AND module = 'menu_link'");
 | 
      
        | 59 |  |  | if($query_this_module->numRows() == 1) { // This is a menu_link. Get link of target-page and redirect
 | 
      
        | 60 |  |  | 	// get target_page_id
 | 
      
        | 61 |  |  | 	$table = TABLE_PREFIX.'mod_menu_link';
 | 
      
        | 62 | 698 | thorn | 	$query_tpid = $database->query("SELECT target_page_id, anchor, extern FROM $table WHERE page_id = '$this_page_id'");
 | 
      
        | 63 | 543 | thorn | 	if($query_tpid->numRows() == 1) {
 | 
      
        | 64 |  |  | 		$res=$query_tpid->fetchRow();
 | 
      
        | 65 |  |  | 		$target_page_id = $res['target_page_id'];
 | 
      
        | 66 | 565 | thorn | 		$anchor = $res['anchor'];
 | 
      
        | 67 | 698 | thorn | 		$extern = $res['extern'];
 | 
      
        | 68 | 565 | thorn | 		if($anchor != '0') $anchor = ''.$anchor;
 | 
      
        | 69 |  |  | 		else $anchor = FALSE;
 | 
      
        | 70 | 698 | thorn | 		if($target_page_id == -1) {
 | 
      
        | 71 |  |  | 			if($extern!='') {
 | 
      
        | 72 | 699 | thorn | 				header("Location: $extern".($anchor?'#'.$anchor:''));
 | 
      
        | 73 | 698 | thorn | 			}
 | 
      
        | 74 |  |  | 		} else {
 | 
      
        | 75 |  |  | 			// get link of target-page
 | 
      
        | 76 |  |  | 			$table = TABLE_PREFIX.'pages';
 | 
      
        | 77 |  |  | 			$query_link = $database->query("SELECT link FROM $table WHERE page_id = '$target_page_id'");
 | 
      
        | 78 |  |  | 			if($query_link->numRows() == 1) {
 | 
      
        | 79 |  |  | 				$res=$query_link->fetchRow();
 | 
      
        | 80 |  |  | 				$target_page_link = $res['link'];
 | 
      
        | 81 |  |  | 				// redirect
 | 
      
        | 82 |  |  | 				header('Location: '.WB_URL.PAGES_DIRECTORY.$target_page_link.PAGE_EXTENSION.($anchor?'#'.$anchor:''));
 | 
      
        | 83 |  |  | 				exit;
 | 
      
        | 84 |  |  | 			}
 | 
      
        | 85 | 543 | thorn | 		}
 | 
      
        | 86 |  |  | 	}
 | 
      
        | 87 |  |  | }
 | 
      
        | 88 |  |  | 
 | 
      
        | 89 | 673 | doc | if(file_exists(WB_PATH .'/modules/output_filter/filter-routines.php')) {
 | 
      
        | 90 |  |  | 	// include the output filter module routines
 | 
      
        | 91 |  |  | 	@require_once(WB_PATH .'/modules/output_filter/filter-routines.php');
 | 
      
        | 92 | 576 | doc | 
 | 
      
        | 93 | 673 | doc | 	if(function_exists('filter_frontend_output')) {
 | 
      
        | 94 |  |  | 		// store output in variable for filtering
 | 
      
        | 95 | 789 | doc | 		@ob_start();
 | 
      
        | 96 | 576 | doc | 		require(WB_PATH.'/templates/'.TEMPLATE.'/index.php');
 | 
      
        | 97 |  |  | 		$frontend_output = ob_get_contents();
 | 
      
        | 98 | 789 | doc | 		@ob_end_clean();
 | 
      
        | 99 | 673 | doc | 		// Display the filtered output on the frontend
 | 
      
        | 100 |  |  | 		echo filter_frontend_output($frontend_output);
 | 
      
        | 101 | 576 | doc | 		die;
 | 
      
        | 102 |  |  | 	}
 | 
      
        | 103 | 673 | doc | }
 | 
      
        | 104 |  |  | 
 | 
      
        | 105 | 576 | doc | // Display the template (no output filtering)
 | 
      
        | 106 | 238 | stefan | require(WB_PATH.'/templates/'.TEMPLATE.'/index.php');
 | 
      
        | 107 |  |  | 
 | 
      
        | 108 | 699 | thorn | ?>
 |