Vergleich install/index.php - 1.6.5 - 1.6.12

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 6Zeile 6
 * Website: http://mybb.com
* License: http://mybb.com/about/license
*

 * Website: http://mybb.com
* License: http://mybb.com/about/license
*

 * $Id: index.php 5591 2011-09-14 08:05:39Z Tomm $

 * $Id$

 */

 */


if(function_exists("unicode_decode"))
{
// Unicode extension introduced in 6.0
error_reporting(E_ALL ^ E_DEPRECATED ^ E_NOTICE ^ E_STRICT);
}
elseif(defined("E_DEPRECATED"))
{
// E_DEPRECATED introduced in 5.3
error_reporting(E_ALL ^ E_DEPRECATED ^ E_NOTICE);
}
else
{
error_reporting(E_ALL & ~E_NOTICE);
}

 

@set_time_limit(0);



@set_time_limit(0);


Zeile 36Zeile 21
{
date_default_timezone_set('GMT');
}

{
date_default_timezone_set('GMT');
}

 

require_once MYBB_ROOT.'inc/class_error.php';
$error_handler = new errorHandler();


require_once MYBB_ROOT.'inc/class_core.php';
$mybb = new MyBB;


require_once MYBB_ROOT.'inc/class_core.php';
$mybb = new MyBB;


require_once MYBB_ROOT.'inc/class_error.php';
$error_handler = new errorHandler();

 

// Include the files necessary for installation
require_once MYBB_ROOT.'inc/class_timers.php';


// Include the files necessary for installation
require_once MYBB_ROOT.'inc/class_timers.php';

Zeile 74Zeile 59
$lang = new MyLanguage();
$lang->set_path(MYBB_ROOT.'install/resources');
$lang->load('language');

$lang = new MyLanguage();
$lang->set_path(MYBB_ROOT.'install/resources');
$lang->load('language');





// Prevent any shut down functions from running
$done_shutdown = 1;


// Prevent any shut down functions from running
$done_shutdown = 1;


Zeile 87Zeile 72
// Include the installation resources
require_once INSTALL_ROOT.'resources/output.php';
$output = new installerOutput;

// Include the installation resources
require_once INSTALL_ROOT.'resources/output.php';
$output = new installerOutput;





$dboptions = array();

if(function_exists('mysqli_connect'))

$dboptions = array();

if(function_exists('mysqli_connect'))

Zeile 96Zeile 81
		'class' => 'DB_MySQLi',
'title' => 'MySQL Improved',
'short_title' => 'MySQLi',

		'class' => 'DB_MySQLi',
'title' => 'MySQL Improved',
'short_title' => 'MySQLi',

		'structure_file' => 'mysql_db_tables.php',
'population_file' => 'mysql_db_inserts.php'
);
}


		'structure_file' => 'mysql_db_tables.php',
'population_file' => 'mysql_db_inserts.php'
);
}


if(function_exists('mysql_connect'))
{
$dboptions['mysql'] = array(

if(function_exists('mysql_connect'))
{
$dboptions['mysql'] = array(

Zeile 162Zeile 147
		'adminuser' => $lang->admin_user,
'final' => $lang->finish_setup,
);

		'adminuser' => $lang->admin_user,
'final' => $lang->finish_setup,
);

	



	if(!isset($mybb->input['action']))
{
$mybb->input['action'] = 'intro';
}

	if(!isset($mybb->input['action']))
{
$mybb->input['action'] = 'intro';
}

	



	switch($mybb->input['action'])
{
case 'license':

	switch($mybb->input['action'])
{
case 'license':

Zeile 200Zeile 185
		default:
intro();
break;

		default:
intro();
break;

	}
}


	}
}


function intro()
{
global $output, $mybb, $lang;

function intro()
{
global $output, $mybb, $lang;

	



	$output->print_header($lang->welcome, 'welcome');
if(strpos(strtolower($_SERVER['PHP_SELF']), "upload/") !== false)

	$output->print_header($lang->welcome, 'welcome');
if(strpos(strtolower($_SERVER['PHP_SELF']), "upload/") !== false)

	{

	{

		echo $lang->sprintf($lang->mybb_incorrect_folder);
}
echo $lang->sprintf($lang->welcome_step, $mybb->version);
$output->print_footer('license');
}

		echo $lang->sprintf($lang->mybb_incorrect_folder);
}
echo $lang->sprintf($lang->welcome_step, $mybb->version);
$output->print_footer('license');
}





function license_agreement()
{
global $output, $lang, $mybb;

function license_agreement()
{
global $output, $lang, $mybb;

	



	ob_start();
$output->print_header($lang->license_agreement, 'license');

	ob_start();
$output->print_header($lang->license_agreement, 'license');

	



	if($mybb->input['allow_anonymous_info'] == 1)
{
require_once MYBB_ROOT."inc/functions_serverstats.php";
$build_server_stats = build_server_stats(1, '', $mybb->version_code, $mybb->config['database']['encoding']);

	if($mybb->input['allow_anonymous_info'] == 1)
{
require_once MYBB_ROOT."inc/functions_serverstats.php";
$build_server_stats = build_server_stats(1, '', $mybb->version_code, $mybb->config['database']['encoding']);

		



		if($build_server_stats['info_sent_success'] == false)
{
echo $build_server_stats['info_image'];

		if($build_server_stats['info_sent_success'] == false)
{
echo $build_server_stats['info_image'];

Zeile 849Zeile 834
covered work, you indicate your acceptance of this License to do so.

10. Automatic Licensing of Downstream Recipients.

covered work, you indicate your acceptance of this License to do so.

10. Automatic Licensing of Downstream Recipients.





  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible

Zeile 1015Zeile 1000
SUCH DAMAGES.

17. Interpretation of Sections 15 and 16.

SUCH DAMAGES.

17. Interpretation of Sections 15 and 16.





  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates

Zeile 1033Zeile 1018
function requirements_check()
{
global $output, $mybb, $dboptions, $lang;

function requirements_check()
{
global $output, $mybb, $dboptions, $lang;





	$mybb->input['action'] = "requirements_check";
$output->print_header($lang->req_check, 'requirements');
echo $lang->req_step_top;
$errors = array();
$showerror = 0;

	$mybb->input['action'] = "requirements_check";
$output->print_header($lang->req_check, 'requirements');
echo $lang->req_step_top;
$errors = array();
$showerror = 0;

	



	if(!file_exists(MYBB_ROOT."/inc/config.php"))
{
if(!@rename(MYBB_ROOT."/inc/config.default.php", MYBB_ROOT."/inc/config.php"))

	if(!file_exists(MYBB_ROOT."/inc/config.php"))
{
if(!@rename(MYBB_ROOT."/inc/config.default.php", MYBB_ROOT."/inc/config.php"))

Zeile 1064Zeile 1049
	{
$phpversion = $lang->sprintf($lang->req_step_span_pass, PHP_VERSION);
}

	{
$phpversion = $lang->sprintf($lang->req_step_span_pass, PHP_VERSION);
}

	



	if(function_exists('mb_detect_encoding'))

	if(function_exists('mb_detect_encoding'))

	{

	{

		$mboptions[] = $lang->multi_byte;

		$mboptions[] = $lang->multi_byte;

	}


	}


	if(function_exists('iconv'))
{
$mboptions[] = 'iconv';
}

	if(function_exists('iconv'))
{
$mboptions[] = 'iconv';
}

	



	// Check Multibyte extensions
if(count($mboptions) < 1)
{

	// Check Multibyte extensions
if(count($mboptions) < 1)
{

Zeile 1216Zeile 1201
function database_info()
{
global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;

function database_info()
{
global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;

	



	$mybb->input['action'] = 'database_info';
$output->print_header($lang->db_config, 'dbconfig');


	$mybb->input['action'] = 'database_info';
$output->print_header($lang->db_config, 'dbconfig');


Zeile 1250Zeile 1235
	{
echo $lang->db_step_config_db;
}

	{
echo $lang->db_step_config_db;
}

	



	// Loop through database engines
foreach($dboptions as $dbfile => $dbtype)
{
if($mybb->input['dbengine'] == $dbfile)
{
$dbengines .= "<option value=\"{$dbfile}\" selected=\"selected\">{$dbtype['title']}</option>";

	// Loop through database engines
foreach($dboptions as $dbfile => $dbtype)
{
if($mybb->input['dbengine'] == $dbfile)
{
$dbengines .= "<option value=\"{$dbfile}\" selected=\"selected\">{$dbtype['title']}</option>";

		}
else

		}
else

		{
$dbengines .= "<option value=\"{$dbfile}\">{$dbtype['title']}</option>";
}

		{
$dbengines .= "<option value=\"{$dbfile}\">{$dbtype['title']}</option>";
}

Zeile 1298Zeile 1283
			<tbody id=\"{$dbfile}_settings\" class=\"db_settings db_type{$class}\">
<tr>
<th colspan=\"2\" class=\"first last\">{$dbtype['title']} {$lang->database_settings}</th>

			<tbody id=\"{$dbfile}_settings\" class=\"db_settings db_type{$class}\">
<tr>
<th colspan=\"2\" class=\"first last\">{$dbtype['title']} {$lang->database_settings}</th>

				</tr>";


				</tr>";


		// SQLite gets some special settings
if($dbfile == 'sqlite')
{

		// SQLite gets some special settings
if($dbfile == 'sqlite')
{

Zeile 1341Zeile 1326
				<td class=\"last alt_col\"><input type=\"text\" class=\"text_input\" name=\"config[{$dbfile}][tableprefix]\" id=\"config_{$dbfile}_tableprefix\" value=\"".htmlspecialchars_uni($mybb->input['config'][$dbfile]['tableprefix'])."\" /></td>
</tr>
";

				<td class=\"last alt_col\"><input type=\"text\" class=\"text_input\" name=\"config[{$dbfile}][tableprefix]\" id=\"config_{$dbfile}_tableprefix\" value=\"".htmlspecialchars_uni($mybb->input['config'][$dbfile]['tableprefix'])."\" /></td>
</tr>
";

		



		// Encoding selection only if supported
if(is_array($encodings))
{

		// Encoding selection only if supported
if(is_array($encodings))
{

Zeile 1374Zeile 1359
function create_tables()
{
global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;

function create_tables()
{
global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;

	



	if(!file_exists(MYBB_ROOT."inc/db_{$mybb->input['dbengine']}.php"))
{
$errors[] = $lang->db_step_error_invalidengine;
database_info();
}

	if(!file_exists(MYBB_ROOT."inc/db_{$mybb->input['dbengine']}.php"))
{
$errors[] = $lang->db_step_error_invalidengine;
database_info();
}





	$config = $mybb->input['config'][$mybb->input['dbengine']];

	$config = $mybb->input['config'][$mybb->input['dbengine']];

	



	if(strstr($mybb->input['dbengine'], "sqlite") !== false)
{
if(strstr($config['dbname'], "./") !== false || strstr($config['dbname'], "../") !== false || empty($config['dbname']))

	if(strstr($mybb->input['dbengine'], "sqlite") !== false)
{
if(strstr($config['dbname'], "./") !== false || strstr($config['dbname'], "../") !== false || empty($config['dbname']))

Zeile 1428Zeile 1413
	{
$errors[] = $lang->sprintf($lang->db_step_error_nodbname, $config['dbname']);
}

	{
$errors[] = $lang->sprintf($lang->db_step_error_nodbname, $config['dbname']);
}

	



	// Most DB engines only allow certain characters in the table name. Oracle requires an alphabetic character first.
if((!preg_match("#^[A-Za-z][A-Za-z0-9_]*$#", $config['tableprefix'])) && $config['tableprefix'] != '')
{
$errors[] = $lang->db_step_error_invalid_tableprefix;
}

	// Most DB engines only allow certain characters in the table name. Oracle requires an alphabetic character first.
if((!preg_match("#^[A-Za-z][A-Za-z0-9_]*$#", $config['tableprefix'])) && $config['tableprefix'] != '')
{
$errors[] = $lang->db_step_error_invalid_tableprefix;
}

	



	// Needs to be smaller then 64 characters total (MySQL Limit).
// This allows 24 characters for the actual table name, which should be sufficient.
if(strlen($config['tableprefix']) > 40)
{
$errors[] = $lang->db_step_error_tableprefix_too_long;

	// Needs to be smaller then 64 characters total (MySQL Limit).
// This allows 24 characters for the actual table name, which should be sufficient.
if(strlen($config['tableprefix']) > 40)
{
$errors[] = $lang->db_step_error_tableprefix_too_long;

 
	}

if(($db->engine == 'mysql' || $db->engine == 'mysqli') && $config['encoding'] == 'utf8mb4' && version_compare($db->get_version(), '5.5.3', '<'))
{
$errors[] = $lang->db_step_error_utf8mb4_error;

	}

if(is_array($errors))
{
database_info();

	}

if(is_array($errors))
{
database_info();

	}


	}


	// Decide if we can use a database encoding or not
if($db->fetch_db_charsets() != false)

	// Decide if we can use a database encoding or not
if($db->fetch_db_charsets() != false)

	{

	{

		$db_encoding = "\$config['database']['encoding'] = '{$config['encoding']}';";
}
else
{
$db_encoding = "// \$config['database']['encoding'] = '{$config['encoding']}';";
}

		$db_encoding = "\$config['database']['encoding'] = '{$config['encoding']}';";
}
else
{
$db_encoding = "// \$config['database']['encoding'] = '{$config['encoding']}';";
}

	




$config['dbpass'] = addslashes($config['dbpass']);


	// Write the configuration file
$configdata = "<?php
/**
* Database configuration
*

	// Write the configuration file
$configdata = "<?php
/**
* Database configuration
*

 * Please see the MyBB Wiki for advanced

 * Please see the MyBB Docs for advanced

 * database configuration for larger installations

 * database configuration for larger installations

 * http://wiki.mybb.com/

 * http://docs.mybb.com/

 */

\$config['database']['type'] = '{$mybb->input['dbengine']}';

 */

\$config['database']['type'] = '{$mybb->input['dbengine']}';

Zeile 1491Zeile 1483
 *  on the front end of the board after
* renaming your Admin CP directory, set this
* to 1.

 *  on the front end of the board after
* renaming your Admin CP directory, set this
* to 1.

 */

\$config['hide_admin_links'] = 0;

/**

 */

\$config['hide_admin_links'] = 0;

/**

 * Data-cache configuration
* The data cache is a temporary cache
* of the most commonly accessed data in MyBB.

 * Data-cache configuration
* The data cache is a temporary cache
* of the most commonly accessed data in MyBB.

Zeile 1503Zeile 1495
 *
* If you wish to use the file system (cache/ directory), MemCache, xcache, or eAccelerator
* you can change the value below to 'files', 'memcache', 'xcache' or 'eaccelerator' from 'db'.

 *
* If you wish to use the file system (cache/ directory), MemCache, xcache, or eAccelerator
* you can change the value below to 'files', 'memcache', 'xcache' or 'eaccelerator' from 'db'.

 */

\$config['cache_store'] = 'db';

/**

 */

\$config['cache_store'] = 'db';

/**

 * Memcache configuration
* If you are using memcache as your data-cache,
* you need to configure the hostname and port

 * Memcache configuration
* If you are using memcache as your data-cache,
* you need to configure the hostname and port

Zeile 1525Zeile 1517
 *  be edited, deleted or banned in the Admin CP.
* The administrator permissions for these users
* cannot be altered either.

 *  be edited, deleted or banned in the Admin CP.
* The administrator permissions for these users
* cannot be altered either.

 */


 */


\$config['super_admins'] = '1';

\$config['super_admins'] = '1';


/**


/**

 * Database Encoding

 * Database Encoding

 *  If you wish to set an encoding for MyBB uncomment 

 *  If you wish to set an encoding for MyBB uncomment

 *  the line below (if it isn't already) and change
* the current value to the mysql charset:
* http://dev.mysql.com/doc/refman/5.1/en/charset-mysql.html

 *  the line below (if it isn't already) and change
* the current value to the mysql charset:
* http://dev.mysql.com/doc/refman/5.1/en/charset-mysql.html

 */

{$db_encoding}


 */

{$db_encoding}


/**
* Automatic Log Pruning
* The MyBB task system can automatically prune

/**
* Automatic Log Pruning
* The MyBB task system can automatically prune

Zeile 1556Zeile 1548
	'user_mail_logs' => 180, // User mail logs
'promotion_logs' => 180 // Promotion logs
);

	'user_mail_logs' => 180, // User mail logs
'promotion_logs' => 180 // Promotion logs
);

 
?>";


?>";


$file = fopen(MYBB_ROOT.'inc/config.php', 'w');
fwrite($file, $configdata);
fclose($file);


$file = fopen(MYBB_ROOT.'inc/config.php', 'w');
fwrite($file, $configdata);
fclose($file);





	// Error reporting back on
$db->error_reporting = 1;

	// Error reporting back on
$db->error_reporting = 1;





	$output->print_header($lang->table_creation, 'createtables');
echo $lang->sprintf($lang->tablecreate_step_connected, $dboptions[$mybb->input['dbengine']]['short_title'], $db->get_version());

	$output->print_header($lang->table_creation, 'createtables');
echo $lang->sprintf($lang->tablecreate_step_connected, $dboptions[$mybb->input['dbengine']]['short_title'], $db->get_version());

	



	if($dboptions[$mybb->input['dbengine']]['structure_file'])
{
$structure_file = $dboptions[$mybb->input['dbengine']]['structure_file'];

	if($dboptions[$mybb->input['dbengine']]['structure_file'])
{
$structure_file = $dboptions[$mybb->input['dbengine']]['structure_file'];

Zeile 1620Zeile 1612

require_once INSTALL_ROOT."resources/{$population_file}";
foreach($inserts as $val)


require_once INSTALL_ROOT."resources/{$population_file}";
foreach($inserts as $val)

	{

	{

		$val = preg_replace('#mybb_(\S+?)([\s\.,]|$)#', $config['database']['table_prefix'].'\\1\\2', $val);
$db->query($val);
}

		$val = preg_replace('#mybb_(\S+?)([\s\.,]|$)#', $config['database']['table_prefix'].'\\1\\2', $val);
$db->query($val);
}

Zeile 1670Zeile 1662
	$contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme.xml');
if(file_exists(MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php"))
{

	$contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme.xml');
if(file_exists(MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php"))
{

 
		require_once MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions.php";

		require_once MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php";
}
elseif(file_exists(MYBB_ROOT."admin/inc/functions_themes.php"))
{

		require_once MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php";
}
elseif(file_exists(MYBB_ROOT."admin/inc/functions_themes.php"))
{

 
		require_once MYBB_ROOT."admin/inc/functions.php";

		require_once MYBB_ROOT."admin/inc/functions_themes.php";
}
else

		require_once MYBB_ROOT."admin/inc/functions_themes.php";
}
else

Zeile 1682Zeile 1676
	}
$theme_id = import_theme_xml($contents, array("templateset" => -2, "version_compat" => 1));
$tid = build_new_theme("Default", null, $theme_id);

	}
$theme_id = import_theme_xml($contents, array("templateset" => -2, "version_compat" => 1));
$tid = build_new_theme("Default", null, $theme_id);

	



	// Update our properties template set to the correct one
$query = $db->simple_select("themes", "properties", "tid='{$tid}'", array('limit' => 1));
$properties = unserialize($db->fetch_field($query, "properties"));

	// Update our properties template set to the correct one
$query = $db->simple_select("themes", "properties", "tid='{$tid}'", array('limit' => 1));
$properties = unserialize($db->fetch_field($query, "properties"));

Zeile 1698Zeile 1692
function configure()
{
global $output, $mybb, $errors, $lang;

function configure()
{
global $output, $mybb, $errors, $lang;

	



	$output->print_header($lang->board_config, 'config');

// If board configuration errors

	$output->print_header($lang->board_config, 'config');

// If board configuration errors

Zeile 1707Zeile 1701
		$error_list = error_list($errors);
echo $lang->sprintf($lang->config_step_error_config, $error_list);


		$error_list = error_list($errors);
echo $lang->sprintf($lang->config_step_error_config, $error_list);


		$bbname = htmlspecialchars($mybb->input['bbname']);
$bburl = htmlspecialchars($mybb->input['bburl']);
$websitename = htmlspecialchars($mybb->input['websitename']);
$websiteurl = htmlspecialchars($mybb->input['websiteurl']);
$cookiedomain = htmlspecialchars($mybb->input['cookiedomain']);
$cookiepath = htmlspecialchars($mybb->input['cookiepath']);
$contactemail = htmlspecialchars($mybb->input['contactemail']);

		$bbname = htmlspecialchars_uni($mybb->input['bbname']);
$bburl = htmlspecialchars_uni($mybb->input['bburl']);
$websitename = htmlspecialchars_uni($mybb->input['websitename']);
$websiteurl = htmlspecialchars_uni($mybb->input['websiteurl']);
$cookiedomain = htmlspecialchars_uni($mybb->input['cookiedomain']);
$cookiepath = htmlspecialchars_uni($mybb->input['cookiepath']);
$contactemail = htmlspecialchars_uni($mybb->input['contactemail']);

	}
else
{

	}
else
{

Zeile 1725Zeile 1719
		$contactemail = '';

$protocol = "http://";

		$contactemail = '';

$protocol = "http://";

		if(!empty($_SERVER['HTTPS']) || substr($bburl, 0, 5) == "https")
{

		if((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "off") || substr($bburl, 0, 5) == "https")
{

			$protocol = "https://";
}


			$protocol = "https://";
}


Zeile 1741Zeile 1735
			$hostname = $protocol.$_SERVER['SERVER_NAME'];
$cookiedomain = '.'.$_SERVER['SERVER_NAME'];
}

			$hostname = $protocol.$_SERVER['SERVER_NAME'];
$cookiedomain = '.'.$_SERVER['SERVER_NAME'];
}

		



		if(substr($cookiedomain, 0, 5) == ".www.")
{
$cookiedomain = my_substr($cookiedomain, 4);
}

		if(substr($cookiedomain, 0, 5) == ".www.")
{
$cookiedomain = my_substr($cookiedomain, 4);
}

		



		if($_SERVER['HTTP_HOST'] == 'localhost' || $_SERVER['SERVER_NAME'] == 'localhost' || ip2long($_SERVER['SERVER_NAME']) != false)
{
$cookiedomain = '';
}

		if($_SERVER['HTTP_HOST'] == 'localhost' || $_SERVER['SERVER_NAME'] == 'localhost' || ip2long($_SERVER['SERVER_NAME']) != false)
{
$cookiedomain = '';
}

		



		if($_SERVER['SERVER_PORT'] && $_SERVER['SERVER_PORT'] != 80 && !preg_match("#:[0-9]#i", $hostname))
{
$hostname .= ':'.$_SERVER['SERVER_PORT'];
}

		if($_SERVER['SERVER_PORT'] && $_SERVER['SERVER_PORT'] != 80 && !preg_match("#:[0-9]#i", $hostname))
{
$hostname .= ':'.$_SERVER['SERVER_PORT'];
}

		



		$currentlocation = get_current_location();
if($currentlocation)

		$currentlocation = get_current_location();
if($currentlocation)

		{

		{

			// TODO: Change this to find the last position of /install/
$pos = my_strpos($currentlocation, '/install/');
if($pos === 0)

			// TODO: Change this to find the last position of /install/
$pos = my_strpos($currentlocation, '/install/');
if($pos === 0)

Zeile 1771Zeile 1765
				$cookiepath = my_substr($currentlocation, 0, $pos).'/';
}
}

				$cookiepath = my_substr($currentlocation, 0, $pos).'/';
}
}

		



		$currentscript = $hostname.get_current_location();

		$currentscript = $hostname.get_current_location();

		



		if($currentscript)
{
$bburl = my_substr($currentscript, 0, my_strpos($currentscript, '/install/'));
}

		if($currentscript)
{
$bburl = my_substr($currentscript, 0, my_strpos($currentscript, '/install/'));
}

		



		if($_SERVER['SERVER_ADMIN'])
{
$contactemail = $_SERVER['SERVER_ADMIN'];

		if($_SERVER['SERVER_ADMIN'])
{
$contactemail = $_SERVER['SERVER_ADMIN'];

Zeile 1792Zeile 1786
function create_admin_user()
{
global $output, $mybb, $errors, $db, $lang;

function create_admin_user()
{
global $output, $mybb, $errors, $db, $lang;

	



	$mybb->input['action'] = "adminuser";
// If no errors then check for errors from last step
if(!is_array($errors))

	$mybb->input['action'] = "adminuser";
// If no errors then check for errors from last step
if(!is_array($errors))

Zeile 1999Zeile 1993

require MYBB_ROOT.'inc/config.php';
$db = db_connection($config);


require MYBB_ROOT.'inc/config.php';
$db = db_connection($config);

	



	require MYBB_ROOT.'inc/settings.php';
$mybb->settings = &$settings;

ob_start();
$output->print_header($lang->finish_setup, 'finish');

	require MYBB_ROOT.'inc/settings.php';
$mybb->settings = &$settings;

ob_start();
$output->print_header($lang->finish_setup, 'finish');

	



	echo $lang->done_step_usergroupsinserted;

	echo $lang->done_step_usergroupsinserted;

	
// Insert all of our user groups from the XML file


// Insert all of our user groups from the XML file

	$usergroup_settings = file_get_contents(INSTALL_ROOT.'resources/usergroups.xml');
$parser = new XMLParser($usergroup_settings);
$parser->collapse_dups = 0;

	$usergroup_settings = file_get_contents(INSTALL_ROOT.'resources/usergroups.xml');
$parser = new XMLParser($usergroup_settings);
$parser->collapse_dups = 0;

Zeile 2026Zeile 2020
			{
continue;
}

			{
continue;
}

			



			$new_group[$key] = $db->escape_string($value[0]['value']);
}
$db->insert_query("usergroups", $new_group, false);

			$new_group[$key] = $db->escape_string($value[0]['value']);
}
$db->insert_query("usergroups", $new_group, false);

		



		// If this group can access the admin CP and we haven't established the admin group - set it (just in case we ever change IDs)
if($new_group['cancp'] == 1 && !$admin_gid)
{
$admin_gid = $usergroup['gid'][0]['value'];
}
$group_count++;

		// If this group can access the admin CP and we haven't established the admin group - set it (just in case we ever change IDs)
if($new_group['cancp'] == 1 && !$admin_gid)
{
$admin_gid = $usergroup['gid'][0]['value'];
}
$group_count++;

	}


	}


	// Restart usergroup sequence with correct # of groups
if($config['database']['type'] == "pgsql")
{
$db->query("SELECT setval('{$config['database']['table_prefix']}usergroups_gid_seq', (SELECT max(gid) FROM {$config['database']['table_prefix']}usergroups));");
}

	// Restart usergroup sequence with correct # of groups
if($config['database']['type'] == "pgsql")
{
$db->query("SELECT setval('{$config['database']['table_prefix']}usergroups_gid_seq', (SELECT max(gid) FROM {$config['database']['table_prefix']}usergroups));");
}





	echo $lang->done . '</p>';

	echo $lang->done . '</p>';

	



	echo $lang->done_step_admincreated;
$now = TIME_NOW;
$salt = random_str();

	echo $lang->done_step_admincreated;
$now = TIME_NOW;
$salt = random_str();

Zeile 2108Zeile 2102
	$parser->collapse_dups = 0;
$tree = $parser->get_tree();
$insertmodule = array();

	$parser->collapse_dups = 0;
$tree = $parser->get_tree();
$insertmodule = array();

	



	$db->delete_query("adminoptions");

	$db->delete_query("adminoptions");

	



	// Insert all the admin permissions
foreach($tree['adminoptions'][0]['user'] as $users)

	// Insert all the admin permissions
foreach($tree['adminoptions'][0]['user'] as $users)

	{			

	{

		$uid = $users['attributes']['uid'];

		$uid = $users['attributes']['uid'];

		



		foreach($users['permissions'][0]['module'] as $module)
{
foreach($module['permission'] as $permission)
{
$insertmodule[$module['attributes']['name']][$permission['attributes']['name']] = $permission['value'];
}

		foreach($users['permissions'][0]['module'] as $module)
{
foreach($module['permission'] as $permission)
{
$insertmodule[$module['attributes']['name']][$permission['attributes']['name']] = $permission['value'];
}

		}

		}


$defaultviews = array();
foreach($users['defaultviews'][0]['view'] as $view)
{
$defaultviews[$view['attributes']['type']] = $view['value'];
}


$defaultviews = array();
foreach($users['defaultviews'][0]['view'] as $view)
{
$defaultviews[$view['attributes']['type']] = $view['value'];
}

		



		$adminoptiondata = array(
'uid' => intval($uid),
'cpstyle' => '',

		$adminoptiondata = array(
'uid' => intval($uid),
'cpstyle' => '',

Zeile 2159Zeile 2153
	{
$db->create_fulltext_index('posts', 'message');
}

	{
$db->create_fulltext_index('posts', 'message');
}


// Register a shutdown function which actually tests if this functionality is working
add_shutdown('test_shutdown_function');

 

echo $lang->done_step_cachebuilding;
require_once MYBB_ROOT.'inc/class_datacache.php';


echo $lang->done_step_cachebuilding;
require_once MYBB_ROOT.'inc/class_datacache.php';

Zeile 2191Zeile 2182
	$cache->update_forumsdisplay();
$cache->update("plugins", array());
$cache->update("internal_settings", array('encryption_key' => random_str(32)));

	$cache->update_forumsdisplay();
$cache->update("plugins", array());
$cache->update("internal_settings", array('encryption_key' => random_str(32)));

	



	$version_history = array();
$dh = opendir(INSTALL_ROOT."resources");
while(($file = readdir($dh)) !== false)

	$version_history = array();
$dh = opendir(INSTALL_ROOT."resources");
while(($file = readdir($dh)) !== false)

Zeile 2203Zeile 2194
	}
sort($version_history, SORT_NUMERIC);
$cache->update("version_history", $version_history);

	}
sort($version_history, SORT_NUMERIC);
$cache->update("version_history", $version_history);

	



	echo $lang->done . '</p>';

echo $lang->done_step_success;

	echo $lang->done . '</p>';

echo $lang->done_step_success;

Zeile 2223Zeile 2214
	{
echo $lang->done_step_dirdelete;
}

	{
echo $lang->done_step_dirdelete;
}

	echo $lang->done_subscribe_mailing;

	echo $lang->done_whats_next;

	$output->print_footer('');
}


	$output->print_footer('');
}


Zeile 2244Zeile 2235
		default:
$db = new DB_MySQL;
}

		default:
$db = new DB_MySQL;
}

	



	// Connect to Database
define('TABLE_PREFIX', $config['database']['table_prefix']);

	// Connect to Database
define('TABLE_PREFIX', $config['database']['table_prefix']);





	$db->connect($config['database']);
$db->set_table_prefix(TABLE_PREFIX);
$db->type = $config['database']['type'];

	$db->connect($config['database']);
$db->set_table_prefix(TABLE_PREFIX);
$db->type = $config['database']['type'];

	



	return $db;
}


	return $db;
}


Zeile 2269Zeile 2260
function write_settings()
{
global $db;

function write_settings()
{
global $db;

	



	$query = $db->simple_select('settings', '*', '', array('order_by' => 'title'));
while($setting = $db->fetch_array($query))

	$query = $db->simple_select('settings', '*', '', array('order_by' => 'title'));
while($setting = $db->fetch_array($query))

	{

	{

		$setting['value'] = str_replace("\"", "\\\"", $setting['value']);
$settings .= "\$settings['{$setting['name']}'] = \"{$setting['value']}\";\n";

		$setting['value'] = str_replace("\"", "\\\"", $setting['value']);
$settings .= "\$settings['{$setting['name']}'] = \"{$setting['value']}\";\n";

	}

	}

	if(!empty($settings))
{
$settings = "<?php\n/*********************************\ \n DO NOT EDIT THIS FILE, PLEASE USE\n THE SETTINGS EDITOR\n\*********************************/\n\n{$settings}\n?>";

	if(!empty($settings))
{
$settings = "<?php\n/*********************************\ \n DO NOT EDIT THIS FILE, PLEASE USE\n THE SETTINGS EDITOR\n\*********************************/\n\n{$settings}\n?>";

Zeile 2283Zeile 2274
		fwrite($file, $settings);
fclose($file);
}

		fwrite($file, $settings);
fclose($file);
}

}

function test_shutdown_function()
{
global $db;

$db->update_query("settings", array('value' => 1), "name='useshutdownfunc'");
write_settings();

 
}
?>

}
?>