1
0
mirror of https://github.com/e107inc/e107.git synced 2025-01-17 20:58:30 +01:00
php-e107/index.php

114 lines
2.9 KiB
PHP
Raw Normal View History

2006-12-02 04:36:16 +00:00
<?php
/*
+ ----------------------------------------------------------------------------+
| e107 website system
|
2009-07-14 05:31:57 +00:00
| Copyright (C) 2001-2009 e107 Inc
2006-12-02 04:36:16 +00:00
| http://e107.org
2009-07-14 05:31:57 +00:00
|
2006-12-02 04:36:16 +00:00
|
| Released under the terms and conditions of the
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/index.php,v $
2009-07-14 05:31:57 +00:00
| $Revision: 1.6 $
| $Date: 2009-07-14 05:31:57 $
| $Author: e107coders $
Mods for prioritised system
2006-12-02 04:36:16 +00:00
+----------------------------------------------------------------------------+
*/
require_once('class2.php');
if (file_exists('index_include.php'))
{
include('index_include.php');
2006-12-02 04:36:16 +00:00
}
2006-12-02 04:36:16 +00:00
$query = (e_QUERY && e_QUERY != '' && !$_GET['elan']) ? '?'.e_QUERY : '';
$location = '';
2006-12-02 04:36:16 +00:00
if ($pref['membersonly_enabled'] && !USER)
{
header('location: '.e_LOGIN);
exit;
2006-12-02 04:36:16 +00:00
}
$class_list = explode(',',USERCLASS_LIST);
if (isset($pref['frontpage']['all']) && $pref['frontpage']['all'])
2008-01-12 16:51:43 +00:00
{ // 0.7 method
$location = ((strpos($pref['frontpage']['all'], 'http') === FALSE) ? e_BASE : '').$pref['frontpage']['all'].$query;
}
else
{ // This is the 'new' method - assumes $pref['frontpage'] is an ordered list of rules
foreach ($pref['frontpage'] as $fk=>$fp)
{
if (in_array($fk,$class_list))
2006-12-02 04:36:16 +00:00
{
2007-07-31 19:25:26 +00:00
// Debateable whether we should append $query - we may be redirecting to a custom page, for example
if (strpos($fp,'{') !== FALSE)
{
$location = $tp->replaceConstants($fp).$query;
}
else
{
$location = ((strpos($fp, 'http') === FALSE) ? e_BASE : '').$fp.$query;
}
break;
2006-12-02 04:36:16 +00:00
}
}
}
if (!$location)
{ // Try and use the 'old' method (this bit can go later)
if (ADMIN)
{
$location = ((strpos($pref['frontpage'][e_UC_ADMIN], 'http') === FALSE) ? e_BASE : '').$pref['frontpage'][e_UC_ADMIN].$query;
}
elseif (USER)
{ // This is the key bit - what to do for a 'normal' logged in user
// We have USERCLASS_LIST - comma separated. Also e_CLASS_REGEXP
foreach ($class_list as $fp_class)
2006-12-02 04:36:16 +00:00
{
$inclass = false;
if (!$inclass && check_class($fp_class['userclass_id']))
{
$location = ((strpos($pref['frontpage'][$fp_class['userclass_id']], 'http') === FALSE) ? e_BASE : '').$pref['frontpage'][$fp_class['userclass_id']].$query;
$inclass = true;
}
}
$location = $location ? $location : ((strpos($pref['frontpage'][e_UC_MEMBER], 'http') === FALSE) ? e_BASE : '').$pref['frontpage'][e_UC_MEMBER].$query;
}
else
{
$location = ((strpos($pref['frontpage'][e_UC_GUEST], 'http') === FALSE) ? e_BASE : '').$pref['frontpage'][e_UC_GUEST].$query;
}
}
if (!trim($location)) $location = 'news.php';
2006-12-02 04:36:16 +00:00
list($page,$str) = explode("?",$location."?"); // required to prevent infinite looping when queries are used on index.php.
if($page == "index.php") // Welcome Message is the front-page.
{
require_once(HEADERF);
require_once(FOOTERF);
exit;
}
else
{ // redirect to different frontpage.
header("Location: {$location}");
}
exit();
2008-01-12 16:51:43 +00:00
2006-12-02 04:36:16 +00:00
?>