diff options
Diffstat (limited to 'phpBB/install/index.php')
| -rw-r--r-- | phpBB/install/index.php | 58 | 
1 files changed, 33 insertions, 25 deletions
diff --git a/phpBB/install/index.php b/phpBB/install/index.php index 5135e2dbd8..a4ff93e701 100644 --- a/phpBB/install/index.php +++ b/phpBB/install/index.php @@ -18,10 +18,9 @@ define('IN_INSTALL', true);  $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../';  $phpEx = substr(strrchr(__FILE__, '.'), 1); -// @todo Review this test and see if we can find out what it is which prevents PHP 4.2.x from even displaying the page with requirements on it -if (version_compare(PHP_VERSION, '4.3.3') < 0) +if (version_compare(PHP_VERSION, '5.2.0') < 0)  { -	die('You are running an unsupported PHP version. Please upgrade to PHP 4.3.3 or higher before trying to install phpBB 3.0'); +	die('You are running an unsupported PHP version. Please upgrade to PHP 5.2.0 or higher before trying to install phpBB 3.1');  }  function phpbb_require_updated($path, $optional = false) @@ -72,25 +71,36 @@ else  @ini_set('memory_limit', $mem_limit);  // Include essential scripts +require($phpbb_root_path . 'includes/class_loader.' . $phpEx);  require($phpbb_root_path . 'includes/functions.' . $phpEx);  phpbb_require_updated('includes/functions_content.' . $phpEx, true);  include($phpbb_root_path . 'includes/auth.' . $phpEx);  include($phpbb_root_path . 'includes/session.' . $phpEx); -include($phpbb_root_path . 'includes/template.' . $phpEx); -include($phpbb_root_path . 'includes/acm/acm_file.' . $phpEx); -include($phpbb_root_path . 'includes/cache.' . $phpEx);  include($phpbb_root_path . 'includes/functions_admin.' . $phpEx);  include($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);  require($phpbb_root_path . 'includes/functions_install.' . $phpEx); +$class_loader = new phpbb_class_loader($phpbb_root_path, '.' . $phpEx); +$class_loader->register(); + +// set up caching +$cache_factory = new phpbb_cache_factory('file'); +$cache = $cache_factory->get_service(); +$class_loader->set_cache($cache->get_driver()); + +$request = new phpbb_request(); + +// make sure request_var uses this request instance +request_var('', 0, false, false, $request); // "dependency injection" for a function +  // Try and load an appropriate language if required  $language = basename(request_var('language', '')); -if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && !$language) +if ($request->header('Accept-Language') && !$language)  { -	$accept_lang_ary = explode(',', strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE'])); +	$accept_lang_ary = explode(',', strtolower($request->header('Accept-Language')));  	foreach ($accept_lang_ary as $accept_lang)  	{  		// Set correct format ... guess full xx_yy form @@ -167,8 +177,6 @@ set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handle  $user = new user();  $auth = new auth(); -$cache = new cache(); -$template = new template();  // Add own hook handler, if present. :o  if (file_exists($phpbb_root_path . 'includes/hooks/index.' . $phpEx)) @@ -187,16 +195,16 @@ else  }  // Set some standard variables we want to force -$config = array( +$config = new phpbb_config(array(  	'load_tplcompile'	=> '1' -); +)); +$template_locator = new phpbb_template_locator(); +$template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user, $template_locator);  $template->set_custom_template('../adm/style', 'admin'); +$template->assign_var('T_ASSETS_PATH', '../assets');  $template->assign_var('T_TEMPLATE_PATH', '../adm/style'); -// the acp template is never stored in the database -$user->theme['template_storedb'] = false; -  $install = new module();  $install->create('install', "index.$phpEx", $mode, $sub); @@ -417,15 +425,17 @@ class module  	*/  	function redirect($page)  	{ +		global $request; +  		// HTTP_HOST is having the correct browser url in most cases... -		$server_name = (!empty($_SERVER['HTTP_HOST'])) ? strtolower($_SERVER['HTTP_HOST']) : ((!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME')); -		$server_port = (!empty($_SERVER['SERVER_PORT'])) ? (int) $_SERVER['SERVER_PORT'] : (int) getenv('SERVER_PORT'); -		$secure = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 1 : 0; +		$server_name = strtolower(htmlspecialchars_decode($request->header('Host', $request->server('SERVER_NAME')))); +		$server_port = $request->server('SERVER_PORT', 0); +		$secure = $request->is_secure() ? 1 : 0; -		$script_name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF'); +		$script_name = htmlspecialchars_decode($request->server('PHP_SELF'));  		if (!$script_name)  		{ -			$script_name = (!empty($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI'); +			$script_name = htmlspecialchars_decode($request->server('REQUEST_URI'));  		}  		// Replace backslashes and doubled slashes (could happen on some proxy setups) @@ -543,10 +553,10 @@ class module  			return;  		} -		echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'; -		echo '<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">'; +		echo '<!DOCTYPE html>'; +		echo '<html dir="ltr">';  		echo '<head>'; -		echo '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'; +		echo '<meta charset="utf-8">';  		echo '<title>' . $lang['INST_ERR_FATAL'] . '</title>';  		echo '<link href="../adm/style/admin.css" rel="stylesheet" type="text/css" media="screen" />';  		echo '</head>'; @@ -725,5 +735,3 @@ class module  		return $user_select;  	}  } - -?>
\ No newline at end of file  | 
