Vergleich install/index.php - 1.8.2 - 1.8.26

  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;
}
else

		$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)
{
$dbsupportlist[] = $dboption['title'];

		foreach($dboptions as $dboption)
{
$dbsupportlist[] = $dboption['title'];

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
{

	}
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);
}

		@fclose($avatarswritable);
}

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

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

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;





	$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 1213Zeile 1228
				if(dbengine+'_settings' == element.attr('id'))
{
element.show();

				if(dbengine+'_settings' == element.attr('id'))
{
element.show();

				}

				}

				else
{
element.hide();
}
});

				else
{
element.hide();
}
});

		}

		}

		$(function()
{
updateDBSettings();

		$(function()
{
updateDBSettings();

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 1249Zeile 1264
		else
{
$dbengines .= "<option value=\"{$dbfile}\">{$dbtype['title']}</option>";

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

		}

		}

	}

$db_info = array();

	}

$db_info = array();

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 1308Zeile 1323
			$db_info[$dbfile] .= "
<tr class=\"alt_row\">
<td class=\"first\"><label for=\"config_{$dbfile}_dbname\">{$lang->database_path}</label></td>

			$db_info[$dbfile] .= "
<tr class=\"alt_row\">
<td class=\"first\"><label for=\"config_{$dbfile}_dbname\">{$lang->database_path}</label></td>

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

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

		// Others get db host, username, password etc
else
{

		// Others get db host, username, password etc
else
{

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;

Zeile 1384Zeile 1402
		database_info();
}


		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)

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 1512Zeile 1528
 *  of the most commonly accessed data in MyBB.
* By default, the database is used to store this data.
*

 *  of the most commonly accessed data in MyBB.
* By default, the database is used to store this data.
*

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

 *  If you wish to use the file system (cache/ directory), MemCache (or MemCached), xcache, APC, APCu, eAccelerator or Redis
* you can change the value below to 'files', 'memcache', 'memcached', 'xcache', 'apc', 'apcu', 'eaccelerator' or 'redis' from 'db'.

 */

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

 */

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

Zeile 1529Zeile 1545

\$config['memcache']['host'] = 'localhost';
\$config['memcache']['port'] = 11211;


\$config['memcache']['host'] = 'localhost';
\$config['memcache']['port'] = 11211;

 

/**
* Redis configuration
* If you are using Redis as your data-cache
* you need to configure the hostname and port
* of your redis server below. If you want
* to connect via unix sockets, use the full
* path to the unix socket as host and leave
* the port setting unconfigured or false.
*/

\$config['redis']['host'] = 'localhost';
\$config['redis']['port'] = 6379;


/**
* Super Administrators


/**
* Super Administrators

Zeile 1536Zeile 1565
 *  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
* 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

/**
* Database Encoding
* 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

 */

{$db_encoding}

 */

{$db_encoding}


/**
* Automatic Log Pruning


/**
* Automatic Log Pruning

Zeile 1557Zeile 1586
 *  To enable this functionality for the logs below, set the
* the number of days before each log should be pruned.
* If you set the value to 0, the logs will not be pruned.

 *  To enable this functionality for the logs below, set the
* the number of days before each log should be pruned.
* If you set the value to 0, the logs will not be pruned.

 */

 */


\$config['log_pruning'] = array(
'admin_logs' => 365, // Administrator logs


\$config['log_pruning'] = array(
'admin_logs' => 365, // Administrator logs

Zeile 1566Zeile 1595
	'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 1633
	$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 1610Zeile 1675
	$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 1654Zeile 1722
	$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 1664Zeile 1735
	require_once MYBB_ROOT.'inc/class_datacache.php';
$cache = new datacache;


	require_once MYBB_ROOT.'inc/class_datacache.php';
$cache = new datacache;


	$output->print_header($lang->theme_installation, 'theme');


	$output->print_header($lang->theme_installation, 'theme');


	echo $lang->theme_step_importing;

$db->delete_query("themes");
$db->delete_query("templates");
$db->delete_query("themestylesheets");
my_rmdir_recursive(MYBB_ROOT."cache/themes", array(MYBB_ROOT."cache/themes/index.html"));

	echo $lang->theme_step_importing;

$db->delete_query("themes");
$db->delete_query("templates");
$db->delete_query("themestylesheets");
my_rmdir_recursive(MYBB_ROOT."cache/themes", array(MYBB_ROOT."cache/themes/index.html"));





	$insert_array = array(
'title' => 'Default Templates'
);
$templateset = $db->insert_query("templatesets", $insert_array);

	$insert_array = array(
'title' => 'Default Templates'
);
$templateset = $db->insert_query("templatesets", $insert_array);





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

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

Zeile 1695Zeile 1766
	}
$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", "stylesheets, properties", "tid='{$tid}'", array('limit' => 1));


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


Zeile 1708Zeile 1779

// 1.8: Stylesheet Colors
$contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme_colors.xml');


// 1.8: Stylesheet Colors
$contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme_colors.xml');





	require_once MYBB_ROOT."inc/class_xml.php";
$parser = new XMLParser($contents);
$tree = $parser->get_tree();

	require_once MYBB_ROOT."inc/class_xml.php";
$parser = new XMLParser($contents);
$tree = $parser->get_tree();

Zeile 1743Zeile 1814
				$css_url = "css.php?stylesheet={$sid}";

$cached = cache_stylesheet($tid, $stylesheet['attributes']['name'], $stylesheet['value']);

				$css_url = "css.php?stylesheet={$sid}";

$cached = cache_stylesheet($tid, $stylesheet['attributes']['name'], $stylesheet['value']);





				if($cached)
{
$css_url = $cached;
}

				if($cached)
{
$css_url = $cached;
}





				// Add to display and stylesheet list
$properties['disporder'][$stylesheet['attributes']['name']] = $count;
$stylesheets[$stylesheet['attributes']['attachedto']]['global'][] = $css_url;

				// Add to display and stylesheet list
$properties['disporder'][$stylesheet['attributes']['name']] = $count;
$stylesheets[$stylesheet['attributes']['attachedto']]['global'][] = $css_url;





				++$count;
}
}
}


				++$count;
}
}
}


	$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 1855
				{
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'))

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

Zeile 1790Zeile 1864
				}
}
}

				}
}
}

			



		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 1818Zeile 1892
		$cookiedomain = htmlspecialchars_uni($mybb->get_input('cookiedomain'));
$cookiepath = htmlspecialchars_uni($mybb->get_input('cookiepath'));
$contactemail = htmlspecialchars_uni($mybb->get_input('contactemail'));

		$cookiedomain = htmlspecialchars_uni($mybb->get_input('cookiedomain'));
$cookiepath = htmlspecialchars_uni($mybb->get_input('cookiepath'));
$contactemail = htmlspecialchars_uni($mybb->get_input('contactemail'));

	}
else
{

	}
else
{

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

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

		$cookiepath = '/';

 
		$websitename = 'Your Website';

		$websitename = 'Your Website';

		$contactemail = '';

 

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


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

		}

		}


// 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.")
{
$cookiedomain = my_substr($cookiedomain, 4);
}

		}

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


// IP addresses and hostnames are not valid
if(my_inet_pton($cookiedomain) !== false || strpos($cookiedomain, '.') === false)


// IP addresses and hostnames are not valid
if(my_inet_pton($cookiedomain) !== false || strpos($cookiedomain, '.') === false)

Zeile 1860Zeile 1932
			$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'];












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

if($pos !== false)
{
$cookiedomain = substr($cookiedomain, 0, $pos);
}

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.'/';


		$websiteurl = $hostname.'/';


		$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
{
$cookiepath = my_substr($currentlocation, 0, $pos).'/';
}
}

$currentscript = $hostname.get_current_location();

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

if($_SERVER['SERVER_ADMIN'])

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























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

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

Zeile 1897Zeile 1964
	echo $lang->sprintf($lang->config_step_table, $bbname, $bburl, $websitename, $websiteurl, $cookiedomain, $cookiepath, $contactemail);
$output->print_footer('adminuser');
}

	echo $lang->sprintf($lang->config_step_table, $bbname, $bburl, $websitename, $websiteurl, $cookiedomain, $cookiepath, $contactemail);
$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 1911Zeile 1981
			$errors[] = $lang->config_step_error_url;
}
if(empty($mybb->input['bbname']))

			$errors[] = $lang->config_step_error_url;
}
if(empty($mybb->input['bbname']))

		{

		{

			$errors[] = $lang->config_step_error_name;
}
if(is_array($errors))
{
configure();

			$errors[] = $lang->config_step_error_name;
}
if(is_array($errors))
{
configure();

		}

		}

	}
$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 2008
			}
}
</script>

			}
}
</script>

		



EOF;

if(is_array($errors))

EOF;

if(is_array($errors))

Zeile 2020Zeile 2090
 *  If you wish to request a PIN
* when someone tries to login
* on your Admin CP, enter it below.

 *  If you wish to request a PIN
* when someone tries to login
* on your Admin CP, enter it below.

 */

 */


\$config['secret_pin'] = '{$pin}';");



\$config['secret_pin'] = '{$pin}';");


Zeile 2108Zeile 2178
				"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 2199
	$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 2222Zeile 2295
		'lastvisit' => $now,
'website' => '',
'icq' => '',

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

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

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

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

Zeile 2234Zeile 2305
		'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 2253Zeile 2326
		'referrer' => 0,
'buddylist' => '',
'ignorelist' => '',

		'referrer' => 0,
'buddylist' => '',
'ignorelist' => '',

		'pmfolders' => '',

		'pmfolders' => "0**$%%$1**$%%$2**$%%$3**$%%$4**",

		'notepad' => '',
'showredirect' => 1,
'usernotes' => ''

		'notepad' => '',
'showredirect' => 1,
'usernotes' => ''

Zeile 2293Zeile 2366
			'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 2379
	// 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 2340Zeile 2413
	$cache->update_posticons();
$cache->update_spiders();
$cache->update_bannedips();

	$cache->update_posticons();
$cache->update_spiders();
$cache->update_bannedips();

	$cache->update_banned();

 
	$cache->update_bannedemails();
$cache->update_birthdays();
$cache->update_groupleaders();

	$cache->update_bannedemails();
$cache->update_birthdays();
$cache->update_groupleaders();

Zeile 2349Zeile 2421
	$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 2392Zeile 2465
	$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";
switch($config['database']['type'])

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

	{

	{

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

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

Zeile 2416Zeile 2494
	$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;
}


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

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

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

Zeile 2431Zeile 2514
	return $string;
}


	return $string;
}


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

function write_settings()
{
global $db;

function write_settings()
{
global $db;

Zeile 2439Zeile 2525
	$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 2537
		fclose($file);
}
}

		fclose($file);
}
}

?>