| 1 | <?php
 | 
  
    | 2 | /**
 | 
  
    | 3 |  *
 | 
  
    | 4 |  * @category        frontend
 | 
  
    | 5 |  * @package         page
 | 
  
    | 6 |  * @author          WebsiteBaker Project
 | 
  
    | 7 |  * @copyright       2004-2009, Ryan Djurovich
 | 
  
    | 8 |  * @copyright       2009-2011, Website Baker Org. e.V.
 | 
  
    | 9 |  * @link			http://www.websitebaker2.org/
 | 
  
    | 10 |  * @license         http://www.gnu.org/licenses/gpl.html
 | 
  
    | 11 |  * @platform        WebsiteBaker 2.8.x
 | 
  
    | 12 |  * @requirements    PHP 5.2.2 and higher
 | 
  
    | 13 |  * @version         $Id: index.php 1433 2011-03-13 12:59:47Z Luisehahne $
 | 
  
    | 14 |  * @filesource		$HeadURL: svn://isteam.dynxs.de/wb-archiv/branches/2.8.x/wb/index.php $
 | 
  
    | 15 |  * @lastmodified    $Date: 2011-03-13 13:59:47 +0100 (Sun, 13 Mar 2011) $
 | 
  
    | 16 |  *
 | 
  
    | 17 |  */
 | 
  
    | 18 | 
 | 
  
    | 19 | $starttime = array_sum(explode(" ",microtime()));
 | 
  
    | 20 | 
 | 
  
    | 21 | define('DEBUG', false);
 | 
  
    | 22 | // Include config file
 | 
  
    | 23 | $config_file = dirname(__FILE__).'/config.php';
 | 
  
    | 24 | if(file_exists($config_file))
 | 
  
    | 25 | {
 | 
  
    | 26 | 	require_once($config_file);
 | 
  
    | 27 | }
 | 
  
    | 28 | 
 | 
  
    | 29 | // Check if the config file has been set-up
 | 
  
    | 30 | if(!defined('WB_PATH'))
 | 
  
    | 31 | {
 | 
  
    | 32 | /*
 | 
  
    | 33 |  * Anmerkung:  HTTP/1.1 verlangt einen absoluten URI inklusive dem Schema,
 | 
  
    | 34 |  * Hostnamen und absoluten Pfad als Argument von Location:, manche aber nicht alle
 | 
  
    | 35 |  * Clients akzeptieren jedoch auch relative URIs.
 | 
  
    | 36 |  */
 | 
  
    | 37 | 	$host       = $_SERVER['HTTP_HOST'];
 | 
  
    | 38 | 	$uri        = rtrim(dirname($_SERVER['SCRIPT_NAME']), '/\\');
 | 
  
    | 39 | 	$file       = 'install/index.php';
 | 
  
    | 40 | 	$target_url = 'http://'.$host.$uri.'/'.$file;
 | 
  
    | 41 | 	header('Location: '.$target_url);
 | 
  
    | 42 | 	exit;	// make sure that subsequent code will not be executed
 | 
  
    | 43 | }
 | 
  
    | 44 | 
 | 
  
    | 45 | require_once(WB_PATH.'/framework/class.frontend.php');
 | 
  
    | 46 | // Create new frontend object
 | 
  
    | 47 | $wb = new frontend();
 | 
  
    | 48 | 
 | 
  
    | 49 | // Figure out which page to display
 | 
  
    | 50 | // Stop processing if intro page was shown
 | 
  
    | 51 | $wb->page_select() or die();
 | 
  
    | 52 | 
 | 
  
    | 53 | // Collect info about the currently viewed page
 | 
  
    | 54 | // and check permissions
 | 
  
    | 55 | $wb->get_page_details();
 | 
  
    | 56 | 
 | 
  
    | 57 | // Collect general website settings
 | 
  
    | 58 | $wb->get_website_settings();
 | 
  
    | 59 | 
 | 
  
    | 60 | // Load functions available to templates, modules and code sections
 | 
  
    | 61 | // also, set some aliases for backward compatibility
 | 
  
    | 62 | require(WB_PATH.'/framework/frontend.functions.php');
 | 
  
    | 63 | 
 | 
  
    | 64 | // redirect menu-link
 | 
  
    | 65 | $this_page_id = PAGE_ID;
 | 
  
    | 66 | 
 | 
  
    | 67 | $php43 = version_compare(phpversion(), '4.3', '>=');
 | 
  
    | 68 | 
 | 
  
    | 69 | $sql  = 'SELECT `module`, `block` FROM `'.TABLE_PREFIX.'sections` ';
 | 
  
    | 70 | $sql .= 'WHERE `page_id` = '.(int)$this_page_id.' AND `module` = "menu_link"';
 | 
  
    | 71 | $query_this_module = $database->query($sql);
 | 
  
    | 72 | if($query_this_module->numRows() == 1)  // This is a menu_link. Get link of target-page and redirect
 | 
  
    | 73 | {
 | 
  
    | 74 | 	// get target_page_id
 | 
  
    | 75 | 	$sql  = 'SELECT * FROM `'.TABLE_PREFIX.'mod_menu_link` WHERE `page_id` = '.(int)$this_page_id;
 | 
  
    | 76 | 	$query_tpid = $database->query($sql);
 | 
  
    | 77 | 	if($query_tpid->numRows() == 1)
 | 
  
    | 78 | 	{
 | 
  
    | 79 | 		$res = $query_tpid->fetchRow();
 | 
  
    | 80 | 		$target_page_id = $res['target_page_id'];
 | 
  
    | 81 | 		$redirect_type = $res['redirect_type'];
 | 
  
    | 82 | 		$anchor = ($res['anchor'] != '0' ? '#'.(string)$res['anchor'] : '');
 | 
  
    | 83 | 		$extern = $res['extern'];
 | 
  
    | 84 | 		// set redirect-type
 | 
  
    | 85 | 		if($redirect_type == 301)
 | 
  
    | 86 | 		{
 | 
  
    | 87 | 			if($php43)
 | 
  
    | 88 | 			{
 | 
  
    | 89 | 				@header('HTTP/1.1 301 Moved Permanently', TRUE, 301);
 | 
  
    | 90 | 			}
 | 
  
    | 91 | 			else
 | 
  
    | 92 | 			{
 | 
  
    | 93 | 				@header('HTTP/1.1 301 Moved Permanently');
 | 
  
    | 94 | 			}
 | 
  
    | 95 | 		}
 | 
  
    | 96 | 		if($target_page_id == -1)
 | 
  
    | 97 | 		{
 | 
  
    | 98 | 			if($extern != '')
 | 
  
    | 99 | 			{
 | 
  
    | 100 | 				$target_url = $extern.$anchor;
 | 
  
    | 101 | 				header('Location: '.$target_url);
 | 
  
    | 102 | 				exit;
 | 
  
    | 103 | 			}
 | 
  
    | 104 | 		}
 | 
  
    | 105 | 		else
 | 
  
    | 106 | 		{
 | 
  
    | 107 | 			// get link of target-page
 | 
  
    | 108 | 			$sql  = 'SELECT `link` FROM `'.TABLE_PREFIX.'pages` WHERE `page_id` = '.$target_page_id;
 | 
  
    | 109 | 			$target_page_link = $database->get_one($sql);
 | 
  
    | 110 | 			if($target_page_link != null)
 | 
  
    | 111 | 			{
 | 
  
    | 112 | 				$target_url = WB_URL.PAGES_DIRECTORY.$target_page_link.PAGE_EXTENSION.$anchor;
 | 
  
    | 113 | 				header('Location: '.$target_url);
 | 
  
    | 114 | 				exit;
 | 
  
    | 115 | 			}
 | 
  
    | 116 | 		}
 | 
  
    | 117 | 	}
 | 
  
    | 118 | }
 | 
  
    | 119 | //Get pagecontent in buffer for Droplets and/or Filter operations
 | 
  
    | 120 | ob_start();
 | 
  
    | 121 | require(WB_PATH.'/templates/'.TEMPLATE.'/index.php');
 | 
  
    | 122 | $output = ob_get_contents();
 | 
  
    | 123 | if(ob_get_length() > 0) { ob_end_clean(); }
 | 
  
    | 124 | 
 | 
  
    | 125 | // wb->preprocess() -- replace all [wblink123] with real, internal links
 | 
  
    | 126 | if( method_exists($wb, 'preprocess') )
 | 
  
    | 127 | {
 | 
  
    | 128 |    $wb->preprocess($output);
 | 
  
    | 129 | }
 | 
  
    | 130 | // Load Droplet engine and process
 | 
  
    | 131 | if(file_exists(WB_PATH .'/modules/droplets/droplets.php'))
 | 
  
    | 132 | {
 | 
  
    | 133 |     include_once(WB_PATH .'/modules/droplets/droplets.php');
 | 
  
    | 134 |     if(function_exists('evalDroplets'))
 | 
  
    | 135 |     {
 | 
  
    | 136 | 		$output = evalDroplets($output);
 | 
  
    | 137 |     }
 | 
  
    | 138 | }
 | 
  
    | 139 | // Load backwards compatible frontend filter support and process
 | 
  
    | 140 | if(file_exists(WB_PATH .'/modules/output_filter/filter-routines.php'))
 | 
  
    | 141 | {
 | 
  
    | 142 |     include_once(WB_PATH .'/modules/output_filter/filter-routines.php');
 | 
  
    | 143 |     if(function_exists('filter_frontend_output'))
 | 
  
    | 144 |     {
 | 
  
    | 145 |         $output = filter_frontend_output($output);
 | 
  
    | 146 |     }
 | 
  
    | 147 | }
 | 
  
    | 148 | echo $output;
 | 
  
    | 149 | // end of wb-script
 | 
  
    | 150 | exit;
 | 
  
    | 151 | ?>
 |