Vergleich install/index.php - 1.8.3 - 1.8.22

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 56Zeile 56
require_once MYBB_ROOT.'inc/functions_user.php';
require_once MYBB_ROOT.'inc/class_language.php';
$lang = new MyLanguage();

require_once MYBB_ROOT.'inc/functions_user.php';
require_once MYBB_ROOT.'inc/class_language.php';
$lang = new MyLanguage();

$lang->set_path(MYBB_ROOT.'install/resources');

$lang->set_path(INSTALL_ROOT.'resources');

$lang->load('language');

$lang->load('language');

 

// Load DB interface
require_once MYBB_ROOT."inc/db_base.php";


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



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


// Include the necessary contants for installation

// Include the necessary constants for installation

$grouppermignore = array('gid', 'type', 'title', 'description', 'namestyle', 'usertitle', 'stars', 'starimage', 'image');

$grouppermignore = array('gid', 'type', 'title', 'description', 'namestyle', 'usertitle', 'stars', 'starimage', 'image');

$groupzerogreater = array('pmquota', 'maxpmrecipients', 'maxreputationsday', 'attachquota', 'maxemails', 'maxwarningsday', 'maxposts', 'edittimelimit', 'canusesigxposts', 'maxreputationsperthread');

$groupzerogreater = array('pmquota', 'maxpmrecipients', 'maxreputationsday', 'attachquota', 'maxemails', 'maxwarningsday', 'maxposts', 'edittimelimit', 'canusesigxposts', 'maxreputationsperuser', 'maxreputationsperthread', 'emailfloodtime');

$displaygroupfields = array('title', 'description', 'namestyle', 'usertitle', 'stars', 'starimage', 'image');

$displaygroupfields = array('title', 'description', 'namestyle', 'usertitle', 'stars', 'starimage', 'image');

$fpermfields = array('canview', 'candlattachments', 'canpostthreads', 'canpostreplys', 'canpostattachments', 'canratethreads', 'caneditposts', 'candeleteposts', 'candeletethreads', 'caneditattachments', 'canpostpolls', 'canvotepolls', 'cansearch');

$fpermfields = array('canview', 'canviewthreads', 'candlattachments', 'canpostthreads', 'canpostreplys', 'canpostattachments', 'canratethreads', 'caneditposts', 'candeleteposts', 'candeletethreads', 'caneditattachments', 'canpostpolls', 'canvotepolls', 'cansearch', 'modposts', 'modthreads', 'modattachments', 'mod_edit_posts');


// Include the installation resources
require_once INSTALL_ROOT.'resources/output.php';


// Include the installation resources
require_once INSTALL_ROOT.'resources/output.php';

Zeile 93Zeile 96
		'short_title' => 'MySQL',
'structure_file' => 'mysql_db_tables.php',
'population_file' => 'mysql_db_inserts.php'

		'short_title' => 'MySQL',
'structure_file' => 'mysql_db_tables.php',
'population_file' => 'mysql_db_inserts.php'

	);
}

	);
}


if(function_exists('pg_connect'))


if(function_exists('pg_connect'))

{

{

	$dboptions['pgsql'] = array(
'class' => 'DB_PgSQL',
'title' => 'PostgreSQL',
'short_title' => 'PostgreSQL',
'structure_file' => 'pgsql_db_tables.php',

	$dboptions['pgsql'] = array(
'class' => 'DB_PgSQL',
'title' => 'PostgreSQL',
'short_title' => 'PostgreSQL',
'structure_file' => 'pgsql_db_tables.php',

		'population_file' => 'mysql_db_inserts.php'

		'population_file' => 'pgsql_db_inserts.php'

	);
}


	);
}


Zeile 111Zeile 114
{
$supported_dbs = PDO::getAvailableDrivers();
if(in_array('sqlite', $supported_dbs))

{
$supported_dbs = PDO::getAvailableDrivers();
if(in_array('sqlite', $supported_dbs))

	{

	{

		$dboptions['sqlite'] = array(
'class' => 'DB_SQLite',
'title' => 'SQLite 3',
'short_title' => 'SQLite',
'structure_file' => 'sqlite_db_tables.php',

		$dboptions['sqlite'] = array(
'class' => 'DB_SQLite',
'title' => 'SQLite 3',
'short_title' => 'SQLite',
'structure_file' => 'sqlite_db_tables.php',

			'population_file' => 'mysql_db_inserts.php'

			'population_file' => 'pgsql_db_inserts.php'

		);
}
}

		);
}
}

Zeile 183Zeile 186
	}
}


	}
}


 
/**
* Welcome page
*/

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();
if(strpos(strtolower(get_current_location('', '', true)), '/upload/') !== false)

	{
echo $lang->sprintf($lang->mybb_incorrect_folder);
}

	{
echo $lang->sprintf($lang->mybb_incorrect_folder);
}

Zeile 196Zeile 202
	$output->print_footer('license');
}


	$output->print_footer('license');
}


 
/**
* Show the license agreement
*/

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

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

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


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


	if($mybb->get_input('allow_anonymous_info', 1) == 1)

	if($mybb->get_input('allow_anonymous_info', MyBB::INPUT_INT) == 1)

	{
require_once MYBB_ROOT."inc/functions_serverstats.php";
$build_server_stats = build_server_stats(1, '', $mybb->version_code);

	{
require_once MYBB_ROOT."inc/functions_serverstats.php";
$build_server_stats = build_server_stats(1, '', $mybb->version_code);

Zeile 1010Zeile 1019
	$output->print_footer('requirements_check');
}


	$output->print_footer('requirements_check');
}


 
/**
* Check our requirements
*/

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

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

Zeile 1061Zeile 1073
	if(count($mboptions) < 1)
{
$mbstatus = $lang->sprintf($lang->req_step_span_fail, $lang->none);

	if(count($mboptions) < 1)
{
$mbstatus = $lang->sprintf($lang->req_step_span_fail, $lang->none);

	}
else

	}
else

	{
$mbstatus = implode(', ', $mboptions);

	{
$mbstatus = implode(', ', $mboptions);

	}


	}


	// Check database engines
if(count($dboptions) < 1)

	// Check database engines
if(count($dboptions) < 1)

	{

	{

		$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_dboptions);
$dbsupportlist = $lang->sprintf($lang->req_step_span_fail, $lang->none);
$showerror = 1;

		$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_dboptions);
$dbsupportlist = $lang->sprintf($lang->req_step_span_fail, $lang->none);
$showerror = 1;

	}

	}

	else
{
foreach($dboptions as $dboption)

	else
{
foreach($dboptions as $dboption)

Zeile 1088Zeile 1100
	{
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_xmlsupport);
$xmlstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_installed);

	{
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_xmlsupport);
$xmlstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_installed);

		$showerror = 1;
}

		$showerror = 1;
}

	else
{
$xmlstatus = $lang->sprintf($lang->req_step_span_pass, $lang->installed);

	else
{
$xmlstatus = $lang->sprintf($lang->req_step_span_pass, $lang->installed);

	}

	}


// Check config file is writable
$configwritable = @fopen(MYBB_ROOT.'inc/config.php', 'w');


// Check config file is writable
$configwritable = @fopen(MYBB_ROOT.'inc/config.php', 'w');

Zeile 1102Zeile 1114
		$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_configfile);
$configstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
$showerror = 1;

		$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_configfile);
$configstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
$showerror = 1;

	}

	}

	else
{
$configstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);

	else
{
$configstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);

Zeile 1115Zeile 1127
	{
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_settingsfile);
$settingsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);

	{
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_settingsfile);
$settingsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);

		$showerror = 1;

		$showerror = 1;

	}
else
{

	}
else
{

Zeile 1166Zeile 1178
		$errors[] =  $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_avatardir);
$avatarsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
$showerror = 1;

		$errors[] =  $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_avatardir);
$avatarsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
$showerror = 1;

		@fclose($avatarswritable);
}
else

		@fclose($avatarswritable);
}
else

	{
$avatarsstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
@fclose($avatarswritable);

	{
$avatarsstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
@fclose($avatarswritable);

Zeile 1181Zeile 1193
	echo $lang->sprintf($lang->req_step_reqtable, $phpversion, $dbsupportlist, $mbstatus, $xmlstatus, $configstatus, $settingsstatus, $cachestatus, $uploadsstatus, $avatarsstatus);

if($showerror == 1)

	echo $lang->sprintf($lang->req_step_reqtable, $phpversion, $dbsupportlist, $mbstatus, $xmlstatus, $configstatus, $settingsstatus, $cachestatus, $uploadsstatus, $avatarsstatus);

if($showerror == 1)

	{

	{

		$error_list = error_list($errors);
echo $lang->sprintf($lang->req_step_error_tablelist, $error_list);
echo "\n <input type=\"hidden\" name=\"action\" value=\"{$mybb->input['action']}\" />";

		$error_list = error_list($errors);
echo $lang->sprintf($lang->req_step_error_tablelist, $error_list);
echo "\n <input type=\"hidden\" name=\"action\" value=\"{$mybb->input['action']}\" />";

Zeile 1195Zeile 1207
	}
}


	}
}


 
/**
* Which database do we use?
*/

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

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

Zeile 1221Zeile 1236
			});
}
$(function()

			});
}
$(function()

		{

		{

			updateDBSettings();
});
</script>";

			updateDBSettings();
});
</script>";

Zeile 1231Zeile 1246
	{
$error_list = error_list($errors);
echo $lang->sprintf($lang->db_step_error_config, $error_list);

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

	}

	}

	else
{
echo $lang->db_step_config_db;

	else
{
echo $lang->db_step_config_db;

Zeile 1245Zeile 1260
		if($mybb->get_input('dbengine') == $dbfile)
{
$dbengines .= "<option value=\"{$dbfile}\" selected=\"selected\">{$dbtype['title']}</option>";

		if($mybb->get_input('dbengine') == $dbfile)
{
$dbengines .= "<option value=\"{$dbfile}\" selected=\"selected\">{$dbtype['title']}</option>";

		}

		}

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

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

		}
}


		}
}


	$db_info = array();
foreach($dboptions as $dbfile => $dbtype)
{

	$db_info = array();
foreach($dboptions as $dbfile => $dbtype)
{

Zeile 1259Zeile 1274
		$db = new $dbtype['class'];
$encodings = $db->fetch_db_charsets();
$encoding_select = '';

		$db = new $dbtype['class'];
$encodings = $db->fetch_db_charsets();
$encoding_select = '';

		$mybb->input['config'] = $mybb->get_input('config', 2);

		$mybb->input['config'] = $mybb->get_input('config', MyBB::INPUT_ARRAY);

		if(empty($mybb->input['config'][$dbfile]['dbhost']))
{
$mybb->input['config'][$dbfile]['dbhost'] = "localhost";

		if(empty($mybb->input['config'][$dbfile]['dbhost']))
{
$mybb->input['config'][$dbfile]['dbhost'] = "localhost";

Zeile 1373Zeile 1388
	$output->print_footer('create_tables');
}


	$output->print_footer('create_tables');
}


 
/**
* Create our tables
*/

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

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





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

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

	}

$mybb->input['config'] = $mybb->get_input('config', 2);

	}

$mybb->input['config'] = $mybb->get_input('config', MyBB::INPUT_ARRAY);

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

if(strstr($mybb->input['dbengine'], "sqlite") !== false)

	$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']))
{
$errors[] = $lang->db_step_error_sqlite_invalid_dbname;

		if(strstr($config['dbname'], "./") !== false || strstr($config['dbname'], "../") !== false || empty($config['dbname']))
{
$errors[] = $lang->db_step_error_sqlite_invalid_dbname;

Zeile 1402Zeile 1420
	{
case "sqlite":
$db = new DB_SQLite;

	{
case "sqlite":
$db = new DB_SQLite;

			break;

			break;

		case "pgsql":
$db = new DB_PgSQL;
break;

		case "pgsql":
$db = new DB_PgSQL;
break;

Zeile 1425Zeile 1443
	$connection = $db->connect($connect_array);
if($connection === false)
{

	$connection = $db->connect($connect_array);
if($connection === false)
{

		$errors[] = $lang->sprintf($lang->db_step_error_noconnect, $config['dbhost']);

		$errors[] = $lang->sprintf($lang->db_step_error_noconnect, htmlspecialchars_uni($config['dbhost']));

	}
// double check if the DB exists for MySQL
elseif(method_exists($db, 'select_db') && !$db->select_db($config['dbname']))
{

	}
// double check if the DB exists for MySQL
elseif(method_exists($db, 'select_db') && !$db->select_db($config['dbname']))
{

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

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

	}

// Most DB engines only allow certain characters in the table name. Oracle requires an alphabetic character first.

	}

// Most DB engines only allow certain characters in the table name. Oracle requires an alphabetic character first.

Zeile 1459Zeile 1477
	// 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']}';";

		$db_encoding = "\$config['database']['encoding'] = '".addcslashes($config['encoding'], "'")."';";

	}
else
{

	}
else
{

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

		$db_encoding = "// \$config['database']['encoding'] = '".addcslashes($config['encoding'], "'")."';";

	}

	}


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

 

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


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

Zeile 1475Zeile 1491
 *
* Please see the MyBB Docs for advanced
* database configuration for larger installations

 *
* Please see the MyBB Docs for advanced
* database configuration for larger installations

 * http://docs.mybb.com/

 * https://docs.mybb.com/

 */


 */


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

\$config['database']['type'] = '".addcslashes($mybb->input['dbengine'], "'")."';
\$config['database']['database'] = '".addcslashes($config['dbname'], "'")."';
\$config['database']['table_prefix'] = '".addcslashes($config['tableprefix'], "'")."';





\$config['database']['hostname'] = '{$config['dbhost']}';
\$config['database']['username'] = '{$config['dbuser']}';
\$config['database']['password'] = '{$config['dbpass']}';

\$config['database']['hostname'] = '".addcslashes($config['dbhost'], "'")."';
\$config['database']['username'] = '".addcslashes($config['dbuser'], "'")."';
\$config['database']['password'] = '".addcslashes($config['dbpass'], "'")."';


/**
* Admin CP directory


/**
* Admin CP directory

Zeile 1566Zeile 1582
	'mail_logs' => 180, // Mail error logs
'user_mail_logs' => 180, // User mail logs
'promotion_logs' => 180 // Promotion logs

	'mail_logs' => 180, // Mail error logs
'user_mail_logs' => 180, // User mail logs
'promotion_logs' => 180 // Promotion logs

 
);

/**
* Disallowed Remote Hosts
* List of hosts the fetch_remote_file() function will not
* perform requests to.
* It is recommended that you enter hosts resolving to the
* forum server here to prevent Server Side Request
* Forgery attacks.
*/

\$config['disallowed_remote_hosts'] = array(
'localhost',
);

/**
* Disallowed Remote Addresses
* List of IPv4 addresses the fetch_remote_file() function
* will not perform requests to.
* It is recommended that you enter addresses resolving to
* the forum server here to prevent Server Side Request
* Forgery attacks.
* Removing all values disables resolving hosts in that
* function.
*/

\$config['disallowed_remote_addresses'] = array(
'127.0.0.1',
'10.0.0.0/8',
'172.16.0.0/12',
'192.168.0.0/16',

);

";

);

";

Zeile 1573Zeile 1620
	$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);

 

if(function_exists('opcache_invalidate'))
{
opcache_invalidate(MYBB_ROOT."inc/config.php");
}


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


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

Zeile 1595Zeile 1647
		$val = preg_replace('#mybb_(\S+?)([\s\.,\(]|$)#', $config['tableprefix'].'\\1\\2', $val);
$val = preg_replace('#;$#', $db->build_create_table_collation().";", $val);
preg_match('#CREATE TABLE (\S+)(\s?|\(?)\(#i', $val, $match);

		$val = preg_replace('#mybb_(\S+?)([\s\.,\(]|$)#', $config['tableprefix'].'\\1\\2', $val);
$val = preg_replace('#;$#', $db->build_create_table_collation().";", $val);
preg_match('#CREATE TABLE (\S+)(\s?|\(?)\(#i', $val, $match);

		if($match[1])
{

		if($match[1])
{

			$db->drop_table($match[1], false, false);
echo $lang->sprintf($lang->tablecreate_step_created, $match[1]);
}

			$db->drop_table($match[1], false, false);
echo $lang->sprintf($lang->tablecreate_step_created, $match[1]);
}

Zeile 1610Zeile 1662
	$output->print_footer('populate_tables');
}


	$output->print_footer('populate_tables');
}


 
/**
* Insert our default data
*/

function populate_tables()
{

function populate_tables()
{

	global $output, $lang;

	global $output, $lang, $dboptions;


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


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

Zeile 1623Zeile 1678
	if(!empty($dboptions[$db->type]['population_file']))
{
$population_file = $dboptions[$db->type]['population_file'];

	if(!empty($dboptions[$db->type]['population_file']))
{
$population_file = $dboptions[$db->type]['population_file'];

	}
else
{

	}
else
{

		$population_file = 'mysql_db_inserts.php';
}


		$population_file = 'mysql_db_inserts.php';
}


Zeile 1654Zeile 1709
	$output->print_footer('templates');
}


	$output->print_footer('templates');
}


 
/**
* Install our theme
*/

function insert_templates()
{
global $mybb, $output, $cache, $db, $lang;

function insert_templates()
{
global $mybb, $output, $cache, $db, $lang;

Zeile 1758Zeile 1816
		}
}


		}
}


	$db->update_query("themes", array("def" => 1, "properties" => $db->escape_string(serialize($properties)), "stylesheets" => $db->escape_string(serialize($stylesheets))), "tid = '{$tid}'");

	$db->update_query("themes", array("def" => 1, "properties" => $db->escape_string(my_serialize($properties)), "stylesheets" => $db->escape_string(my_serialize($stylesheets))), "tid = '{$tid}'");


echo $lang->theme_step_imported;
$output->print_footer('configuration');
}



echo $lang->theme_step_imported;
$output->print_footer('configuration');
}


 
/**
* Default configuration
*/

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

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

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

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

	



	echo <<<EOF

	echo <<<EOF

		<script type="text/javascript">	

		<script type="text/javascript">

		function warnUser(inp, warn)
{
var parenttr = $('#'+inp.id).closest('tr');

		function warnUser(inp, warn)
{
var parenttr = $('#'+inp.id).closest('tr');

Zeile 1781Zeile 1842
				{
var revertlink = ' <a href="javascript:revertSetting(\''+inp.defaultValue+'\', \'#'+inp.id+'\');">{$lang->config_step_revert}</a>';
parenttr.removeClass('last').after('<tr class="setting_peeker"><td colspan="2">'+warn+revertlink+'</td></tr>');

				{
var revertlink = ' <a href="javascript:revertSetting(\''+inp.defaultValue+'\', \'#'+inp.id+'\');">{$lang->config_step_revert}</a>';
parenttr.removeClass('last').after('<tr class="setting_peeker"><td colspan="2">'+warn+revertlink+'</td></tr>');

				}

				}

			} else {
parenttr.next('.setting_peeker').remove();
if(parenttr.is(':last-child'))
{
parenttr.addClass('last');
}

			} else {
parenttr.next('.setting_peeker').remove();
if(parenttr.is(':last-child'))
{
parenttr.addClass('last');
}

			}

			}

		}

		}

			



		function revertSetting(defval, inpid)
{

		function revertSetting(defval, inpid)
{

			$(inpid).val(defval);			

			$(inpid).val(defval);

			var parenttr = $(inpid).closest('tr');
parenttr.next('.setting_peeker').remove();
if(parenttr.is(':last-child'))
{
parenttr.addClass('last');

			var parenttr = $(inpid).closest('tr');
parenttr.next('.setting_peeker').remove();
if(parenttr.is(':last-child'))
{
parenttr.addClass('last');

			}			

			}

		}
</script>

		}
</script>

		



EOF;

// If board configuration errors

EOF;

// If board configuration errors

Zeile 1823Zeile 1884
	{
$bbname = 'Forums';
$cookiedomain = '';

	{
$bbname = 'Forums';
$cookiedomain = '';

		$cookiepath = '/';

 
		$websitename = 'Your Website';

		$websitename = 'Your Website';

		$contactemail = '';

 

$protocol = "http://";
if((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "off"))


$protocol = "http://";
if((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "off"))

Zeile 1834Zeile 1893
		}

// Attempt auto-detection

		}

// Attempt auto-detection

		if($_SERVER['HTTP_HOST'])

		if(!empty($_SERVER['HTTP_HOST']))

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

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

		elseif($_SERVER['SERVER_NAME'])

		elseif(!empty($_SERVER['SERVER_NAME']))

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


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


		if(substr($cookiedomain, 0, 4) == "www.")

		if(my_substr($cookiedomain, 0, 4) == "www.")

		{

		{

			$cookiedomain = my_substr($cookiedomain, 4);

			$cookiedomain = substr($cookiedomain, 4);

		}

// IP addresses and hostnames are not valid

		}

// IP addresses and hostnames are not valid

Zeile 1860Zeile 1919
			$cookiedomain = ".{$cookiedomain}";
}


			$cookiedomain = ".{$cookiedomain}";
}


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

		if(!empty($_SERVER['SERVER_PORT']))

		{

		{

			$hostname .= ':'.$_SERVER['SERVER_PORT'];
}
$websiteurl = $hostname.'/';

			$port = ":{$_SERVER['SERVER_PORT']}";
$pos = strrpos($cookiedomain, $port);






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

			if($pos !== false)










			{

			{

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

				$cookiedomain = substr($cookiedomain, 0, $pos);

			}

			}

		}

$currentscript = $hostname.get_current_location();

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

if($_SERVER['SERVER_ADMIN'])







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

$currentlocation = get_current_location('', '', true);
$noinstall = substr($currentlocation, 0, strrpos($currentlocation, '/install/'));

$cookiepath = $noinstall.'/';
$bburl = $hostname.$noinstall;
$websiteurl = $hostname.'/';

if(isset($_SERVER['SERVER_ADMIN']) && filter_var($_SERVER['SERVER_ADMIN'], FILTER_VALIDATE_EMAIL))

		{
$contactemail = $_SERVER['SERVER_ADMIN'];
}

		{
$contactemail = $_SERVER['SERVER_ADMIN'];
}

Zeile 1898Zeile 1952
	$output->print_footer('adminuser');
}


	$output->print_footer('adminuser');
}


 
/**
* How do we want to name the admin user?
*/

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

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

Zeile 1920Zeile 1977
		}
}
$output->print_header($lang->create_admin, 'admin');

		}
}
$output->print_header($lang->create_admin, 'admin');

	



	echo <<<EOF

	echo <<<EOF

		<script type="text/javascript">	

		<script type="text/javascript">

		function comparePass()
{
var parenttr = $('#adminpass2').closest('tr');

		function comparePass()
{
var parenttr = $('#adminpass2').closest('tr');

Zeile 1938Zeile 1995
			}
}
</script>

			}
}
</script>

		



EOF;

if(is_array($errors))

EOF;

if(is_array($errors))

Zeile 2005Zeile 2062
		$db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('cookiepath'))), "name='cookiepath'");
$db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('contactemail'))), "name='adminemail'");
$db->update_query("settings", array('value' => 'contact.php'), "name='contactlink'");

		$db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('cookiepath'))), "name='cookiepath'");
$db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('contactemail'))), "name='adminemail'");
$db->update_query("settings", array('value' => 'contact.php'), "name='contactlink'");





		write_settings();

echo $lang->sprintf($lang->admin_step_insertesettings, $settingcount, $groupcount);

		write_settings();

echo $lang->sprintf($lang->admin_step_insertesettings, $settingcount, $groupcount);

Zeile 2108Zeile 2165
				"type" => $db->escape_string($view['attributes']['type']),
"visibility" => (int)$view['attributes']['visibility'],
"title" => $db->escape_string($view['title'][0]['value']),

				"type" => $db->escape_string($view['attributes']['type']),
"visibility" => (int)$view['attributes']['visibility'],
"title" => $db->escape_string($view['title'][0]['value']),

				"fields" => $db->escape_string(serialize($fields)),
"conditions" => $db->escape_string(serialize($conditions)),
"custom_profile_fields" => $db->escape_string(serialize($custom_profile_fields)),

				"fields" => $db->escape_string(my_serialize($fields)),
"conditions" => $db->escape_string(my_serialize($conditions)),
"custom_profile_fields" => $db->escape_string(my_serialize($custom_profile_fields)),

				"sortby" => $db->escape_string($view['sortby'][0]['value']),
"sortorder" => $db->escape_string($view['sortorder'][0]['value']),
"perpage" => (int)$view['perpage'][0]['value'],

				"sortby" => $db->escape_string($view['sortby'][0]['value']),
"sortorder" => $db->escape_string($view['sortorder'][0]['value']),
"perpage" => (int)$view['perpage'][0]['value'],

Zeile 2129Zeile 2186
	$output->print_footer('final');
}


	$output->print_footer('final');
}


 
/**
* Installation is finished
*/

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

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

Zeile 2136Zeile 2196
	if(empty($mybb->input['adminuser']))
{
$errors[] = $lang->admin_step_error_nouser;

	if(empty($mybb->input['adminuser']))
{
$errors[] = $lang->admin_step_error_nouser;

	}

	}

	if(empty($mybb->input['adminpass']))
{
$errors[] = $lang->admin_step_error_nopassword;

	if(empty($mybb->input['adminpass']))
{
$errors[] = $lang->admin_step_error_nopassword;

Zeile 2209Zeile 2269
	$salt = random_str();
$loginkey = generate_loginkey();
$saltedpw = md5(md5($salt).md5($mybb->get_input('adminpass')));

	$salt = random_str();
$loginkey = generate_loginkey();
$saltedpw = md5(md5($salt).md5($mybb->get_input('adminpass')));





	$newuser = array(
'username' => $db->escape_string($mybb->get_input('adminuser')),
'password' => $saltedpw,

	$newuser = array(
'username' => $db->escape_string($mybb->get_input('adminuser')),
'password' => $saltedpw,

Zeile 2222Zeile 2282
		'lastvisit' => $now,
'website' => '',
'icq' => '',

		'lastvisit' => $now,
'website' => '',
'icq' => '',

		'aim' => '',
'yahoo' => '',

 
		'skype' =>'',
'google' =>'',
'birthday' => '',

		'skype' =>'',
'google' =>'',
'birthday' => '',

Zeile 2234Zeile 2292
		'receivepms' => 1,
'pmnotice' => 1,
'pmnotify' => 1,

		'receivepms' => 1,
'pmnotice' => 1,
'pmnotify' => 1,

 
		'buddyrequestspm' => 1,
'buddyrequestsauto' => 0,

		'showimages' => 1,
'showvideos' => 1,
'showsigs' => 1,

		'showimages' => 1,
'showvideos' => 1,
'showsigs' => 1,

Zeile 2293Zeile 2353
			'uid' => (int)$uid,
'cpstyle' => '',
'notes' => '',

			'uid' => (int)$uid,
'cpstyle' => '',
'notes' => '',

			'permissions' => $db->escape_string(serialize($insertmodule)),
'defaultviews' => $db->escape_string(serialize($defaultviews))

			'permissions' => $db->escape_string(my_serialize($insertmodule)),
'defaultviews' => $db->escape_string(my_serialize($defaultviews))

		);

$insertmodule = array();

		);

$insertmodule = array();

Zeile 2306Zeile 2366
	// Automatic Login
my_unsetcookie("sid");
my_unsetcookie("mybbuser");

	// Automatic Login
my_unsetcookie("sid");
my_unsetcookie("mybbuser");

	my_setcookie('mybbuser', $uid.'_'.$loginkey, null, true);

	my_setcookie('mybbuser', $uid.'_'.$loginkey, null, true, "lax");

	ob_end_flush();

// Make fulltext columns if supported

	ob_end_flush();

// Make fulltext columns if supported

Zeile 2349Zeile 2409
	$cache->update("plugins", array());
$cache->update("internal_settings", array('encryption_key' => random_str(32)));
$cache->update_default_theme();

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

 
	$cache->update_reportreasons(true);


$version_history = array();
$dh = opendir(INSTALL_ROOT."resources");


$version_history = array();
$dh = opendir(INSTALL_ROOT."resources");

Zeile 2357Zeile 2418
		if(preg_match("#upgrade([0-9]+).php$#i", $file, $match))
{
$version_history[$match[1]] = $match[1];

		if(preg_match("#upgrade([0-9]+).php$#i", $file, $match))
{
$version_history[$match[1]] = $match[1];

		}
}

		}
}

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


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


Zeile 2375Zeile 2436

$written = 0;
if(is_writable('./'))


$written = 0;
if(is_writable('./'))

	{

	{

		$lock = @fopen('./lock', 'w');
$written = @fwrite($lock, '1');
@fclose($lock);

		$lock = @fopen('./lock', 'w');
$written = @fwrite($lock, '1');
@fclose($lock);

Zeile 2383Zeile 2444
		{
echo $lang->done_step_locked;
}

		{
echo $lang->done_step_locked;
}

	}

	}

	if(!$written)
{
echo $lang->done_step_dirdelete;

	if(!$written)
{
echo $lang->done_step_dirdelete;

Zeile 2392Zeile 2453
	$output->print_footer('');
}


	$output->print_footer('');
}


 
/**
* @param array $config
*
* @return DB_MySQL|DB_MySQLi|DB_PgSQL|DB_SQLite
*/

function db_connection($config)
{
require_once MYBB_ROOT."inc/db_{$config['database']['type']}.php";

function db_connection($config)
{
require_once MYBB_ROOT."inc/db_{$config['database']['type']}.php";

Zeile 2420Zeile 2486
	return $db;
}


	return $db;
}


 
/**
* @param array $array
*
* @return string
*/

function error_list($array)
{
$string = "<ul>\n";

function error_list($array)
{
$string = "<ul>\n";

Zeile 2431Zeile 2502
	return $string;
}


	return $string;
}


 
/**
* Write our settings to the settings file
*/

function write_settings()
{
global $db;

function write_settings()
{
global $db;

Zeile 2439Zeile 2513
	$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']);


		$setting['name'] = addcslashes($setting['name'], "\\'");
$setting['value'] = addcslashes($setting['value'], '\\"$');

		$settings .= "\$settings['{$setting['name']}'] = \"{$setting['value']}\";\n";
}
if(!empty($settings))

		$settings .= "\$settings['{$setting['name']}'] = \"{$setting['value']}\";\n";
}
if(!empty($settings))

Zeile 2450Zeile 2525
		fclose($file);
}
}

		fclose($file);
}
}

?>