Vergleich install/upgrade.php - 1.8.0 - 1.8.38

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 21Zeile 21

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


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

 

require_once MYBB_ROOT."inc/functions.php";


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/config.php";

require_once MYBB_ROOT."inc/config.php";





$orig_config = $config;

if(!is_array($config['database']))

$orig_config = $config;

if(!is_array($config['database']))

{

{

	$config['database'] = array(
"type" => $config['dbtype'],
"database" => $config['database'],

	$config['database'] = array(
"type" => $config['dbtype'],
"database" => $config['database'],

Zeile 40Zeile 42
		"password" => $config['password'],
"encoding" => $config['db_encoding'],
);

		"password" => $config['password'],
"encoding" => $config['db_encoding'],
);

}

}

$mybb->config = &$config;

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

$mybb->config = &$config;

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

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

 
require_once MYBB_ROOT.'inc/class_language.php';

$lang = new MyLanguage();

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

// If we're upgrading from an SQLite installation, make sure we still work.

$lang->load('language');

// If we're upgrading from an SQLite installation, make sure we still work.

Zeile 58Zeile 58
{
$config['database']['type'] = 'sqlite';
}

{
$config['database']['type'] = 'sqlite';
}

 

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


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


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

Zeile 67Zeile 71
		break;
case "pgsql":
$db = new DB_PgSQL;

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

 
		break;
case "pgsql_pdo":
$db = new PostgresPdoDbDriver();

		break;
case "mysqli":
$db = new DB_MySQLi;

		break;
case "mysqli":
$db = new DB_MySQLi;

 
		break;
case "mysql_pdo":
$db = new MysqlPdoDbDriver();

		break;
default:
$db = new DB_MySQL;

		break;
default:
$db = new DB_MySQL;

Zeile 92Zeile 102
	if(function_exists('rebuild_settings'))
{
rebuild_settings();

	if(function_exists('rebuild_settings'))
{
rebuild_settings();

	}

	}

	else
{
$options = array(
"order_by" => "title",
"order_dir" => "ASC"
);

	else
{
$options = array(
"order_by" => "title",
"order_dir" => "ASC"
);





		$query = $db->simple_select("settings", "value, name", "", $options);

$settings = array();

		$query = $db->simple_select("settings", "value, name", "", $options);

$settings = array();

		while($setting = $db->fetch_array($query))
{
$setting['value'] = str_replace("\"", "\\\"", $setting['value']);
$settings[$setting['name']] = $setting['value'];
}
}

		while($setting = $db->fetch_array($query))
{
$setting['value'] = str_replace("\"", "\\\"", $setting['value']);
$settings[$setting['name']] = $setting['value'];
}
}

}

}





$settings['wolcutoff'] = $settings['wolcutoffmins']*60;
$settings['bbname_orig'] = $settings['bbname'];
$settings['bbname'] = strip_tags($settings['bbname']);

$settings['wolcutoff'] = $settings['wolcutoffmins']*60;
$settings['bbname_orig'] = $settings['bbname'];
$settings['bbname'] = strip_tags($settings['bbname']);

Zeile 119Zeile 129
if(substr($settings['bburl'], -1) == "/")
{
$settings['bburl'] = my_substr($settings['bburl'], 0, -1);

if(substr($settings['bburl'], -1) == "/")
{
$settings['bburl'] = my_substr($settings['bburl'], 0, -1);

}

}


$mybb->settings = &$settings;
$mybb->parse_cookies();


$mybb->settings = &$settings;
$mybb->parse_cookies();





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

// Load cache
$cache->cache();


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

// Load cache
$cache->cache();


$mybb->cache = &$cache;


$mybb->cache = &$cache;


require_once MYBB_ROOT."inc/class_session.php";
$session = new session;
$session->init();

require_once MYBB_ROOT."inc/class_session.php";
$session = new session;
$session->init();

Zeile 139Zeile 149

// Include the necessary contants for installation
$grouppermignore = array("gid", "type", "title", "description", "namestyle", "usertitle", "stars", "starimage", "image");


// Include the necessary contants for installation
$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";
$output = new installerOutput;

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

Zeile 159Zeile 169
	if($mybb->input['action'] == "logout" && $mybb->user['uid'])
{
// Check session ID if we have one

	if($mybb->input['action'] == "logout" && $mybb->user['uid'])
{
// Check session ID if we have one

		if($mybb->get_input('logoutkey') != $mybb->user['logoutkey'])

		if($mybb->get_input('logoutkey') !== $mybb->user['logoutkey'])

		{
$output->print_error("Your user ID could not be verified to log you out. This may have been because a malicious Javascript was attempting to log you out automatically. If you intended to log out, please click the Log Out button at the top menu.");
}

my_unsetcookie("mybbuser");

		{
$output->print_error("Your user ID could not be verified to log you out. This may have been because a malicious Javascript was attempting to log you out automatically. If you intended to log out, please click the Log Out button at the top menu.");
}

my_unsetcookie("mybbuser");

		my_unsetcookie("sid");



		if($mybb->user['uid'])
{
$time = TIME_NOW;

		if($mybb->user['uid'])
{
$time = TIME_NOW;

Zeile 174Zeile 184
				"lastvisit" => $time,
);
$db->update_query("users", $lastvisit, "uid='".$mybb->user['uid']."'");

				"lastvisit" => $time,
);
$db->update_query("users", $lastvisit, "uid='".$mybb->user['uid']."'");

			$db->delete_query("sessions", "sid='".$session->sid."'");

 
		}
header("Location: upgrade.php");
}

		}
header("Location: upgrade.php");
}

Zeile 191Zeile 200
		);
$user = get_user_by_username($mybb->get_input('username'), $options);


		);
$user = get_user_by_username($mybb->get_input('username'), $options);


		if(!$user['uid'])

		if(!$user)

		{
$output->print_error("The username you have entered appears to be invalid.");
}
else
{
$user = validate_password_from_uid($user['uid'], $mybb->get_input('password'), $user);

		{
$output->print_error("The username you have entered appears to be invalid.");
}
else
{
$user = validate_password_from_uid($user['uid'], $mybb->get_input('password'), $user);

			if(!$user['uid'])
{

			if(!$user)
{

				$output->print_error("The password you entered is incorrect. If you have forgotten your password, click <a href=\"../member.php?action=lostpw\">here</a>. Otherwise, go back and try again.");
}
}

				$output->print_error("The password you entered is incorrect. If you have forgotten your password, click <a href=\"../member.php?action=lostpw\">here</a>. Otherwise, go back and try again.");
}
}


$db->delete_query("sessions", "ip='".$db->escape_string($session->ipaddress)."' AND sid != '".$session->sid."'");

$newsession = array(
"uid" => $user['uid']
);

$db->update_query("sessions", $newsession, "sid='".$session->sid."'");

// Temporarily set the cookie remember option for the login cookies
$mybb->user['remember'] = $user['remember'];

my_setcookie("mybbuser", $user['uid']."_".$user['loginkey'], null, true);
my_setcookie("sid", $session->sid, -1, true);


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














header("Location: ./upgrade.php");
}

$output->steps = array($lang->upgrade);


header("Location: ./upgrade.php");
}

$output->steps = array($lang->upgrade);





	if($mybb->user['uid'] == 0)
{
$output->print_header($lang->please_login, "errormsg", 0, 1);

	if($mybb->user['uid'] == 0)
{
$output->print_header($lang->please_login, "errormsg", 0, 1);

Zeile 270Zeile 267
		{
$db->drop_table("upgrade_data");
}

		{
$db->drop_table("upgrade_data");
}

 

$collation = $db->build_create_table_collation();

$engine = '';
if($db->type == "mysql" || $db->type == "mysqli")
{
$engine = 'ENGINE=MyISAM';
}


		$db->write_query("CREATE TABLE ".TABLE_PREFIX."upgrade_data (
title varchar(30) NOT NULL,
contents text NOT NULL,
UNIQUE (title)

		$db->write_query("CREATE TABLE ".TABLE_PREFIX."upgrade_data (
title varchar(30) NOT NULL,
contents text NOT NULL,
UNIQUE (title)

		);");

		) {$engine}{$collation};");


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



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


Zeile 292Zeile 298
		$key_order = array_reverse($key_order);

// Figure out which version we last updated from (as of 1.6)

		$key_order = array_reverse($key_order);

// Figure out which version we last updated from (as of 1.6)

		$version_history = $cache->read("version_history");


		$version_history = $cache->read("version_history");


		// If array is empty then we must be upgrading to 1.6 since that's when this feature was added
if(empty($version_history))

		// If array is empty then we must be upgrading to 1.6 since that's when this feature was added
if(empty($version_history))

		{

		{

			$next_update_version = 17; // 16+1

			$next_update_version = 17; // 16+1

		}

		}

		else
{
$next_update_version = (int)(end($version_history)+1);

		else
{
$next_update_version = (int)(end($version_history)+1);

		}


		}


		$vers = '';
foreach($key_order as $k => $key)
{

		$vers = '';
foreach($key_order as $k => $key)
{

Zeile 326Zeile 332
		unset($upgradescripts);
unset($upgradescript);


		unset($upgradescripts);
unset($upgradescript);


		$output->print_contents($lang->sprintf($lang->upgrade_welcome, $mybb->version)."<p><select name=\"from\">$vers</select>".$lang->upgrade_send_stats);
$output->print_footer("doupgrade");









		if(end($version_history) == reset($key_order) && empty($mybb->input['force']))
{
$output->print_contents($lang->upgrade_not_needed);
$output->print_footer("finished");
}
else
{
$output->print_contents($lang->sprintf($lang->upgrade_welcome, $mybb->version)."<p><select name=\"from\">$vers</select>".$lang->upgrade_send_stats);
$output->print_footer("doupgrade");
}

	}
elseif($mybb->input['action'] == "doupgrade")
{

	}
elseif($mybb->input['action'] == "doupgrade")
{

		add_upgrade_store("allow_anonymous_info", $mybb->get_input('allow_anonymous_info', 1));
require_once INSTALL_ROOT."resources/upgrade".$mybb->get_input('from', 1).".php";
if($db->table_exists("datacache") && $upgrade_detail['requires_deactivated_plugins'] == 1 && $mybb->get_input('donewarning') != "true")

		add_upgrade_store("allow_anonymous_info", $mybb->get_input('allow_anonymous_info', MyBB::INPUT_INT));
require_once INSTALL_ROOT."resources/upgrade".$mybb->get_input('from', MyBB::INPUT_INT).".php";
if($db->table_exists("datacache") && !empty($upgrade_detail['requires_deactivated_plugins']) && $mybb->get_input('donewarning') != "true")

		{
$plugins = $cache->read('plugins', true);
if(!empty($plugins['active']))
{
$output->print_header();

		{
$plugins = $cache->read('plugins', true);
if(!empty($plugins['active']))
{
$output->print_header();

				$lang->plugin_warning = "<input type=\"hidden\" name=\"from\" value=\"".$mybb->get_input('from', 1)."\" />\n<input type=\"hidden\" name=\"donewarning\" value=\"true\" />\n<div class=\"error\"><strong><span style=\"color: red\">Warning:</span></strong> <p>There are still ".count($plugins['active'])." plugin(s) active. Active plugins can sometimes cause problems during an upgrade procedure or may break your forum afterward. It is <strong>strongly</strong> reccommended that you deactivate your plugins before continuing.</p></div> <br />";

				$lang->plugin_warning = "<input type=\"hidden\" name=\"from\" value=\"".$mybb->get_input('from', MyBB::INPUT_INT)."\" />\n<input type=\"hidden\" name=\"donewarning\" value=\"true\" />\n<div class=\"error\"><strong><span style=\"color: red\">Warning:</span></strong> <p>There are still ".count($plugins['active'])." plugin(s) active. Active plugins can sometimes cause problems during an upgrade procedure or may break your forum afterward. It is <strong>strongly</strong> reccommended that you deactivate your plugins before continuing.</p></div> <br />";

				$output->print_contents($lang->sprintf($lang->plugin_warning, $mybb->version));
$output->print_footer("doupgrade");
}
else
{

				$output->print_contents($lang->sprintf($lang->plugin_warning, $mybb->version));
$output->print_footer("doupgrade");
}
else
{

				add_upgrade_store("startscript", $mybb->get_input('from', 1));
$runfunction = next_function($mybb->get_input('from', 1));

				add_upgrade_store("startscript", $mybb->get_input('from', MyBB::INPUT_INT));
$runfunction = next_function($mybb->get_input('from', MyBB::INPUT_INT));

			}
}
else
{

			}
}
else
{

			add_upgrade_store("startscript", $mybb->get_input('from', 1));
$runfunction = next_function($mybb->get_input('from', 1));

			add_upgrade_store("startscript", $mybb->get_input('from', MyBB::INPUT_INT));
$runfunction = next_function($mybb->get_input('from', MyBB::INPUT_INT));

		}
}
$currentscript = get_upgrade_store("currentscript");

		}
}
$currentscript = get_upgrade_store("currentscript");

Zeile 365Zeile 379
	elseif($mybb->input['action'] == "rebuildsettings")
{
$runfunction = "buildsettings";

	elseif($mybb->input['action'] == "rebuildsettings")
{
$runfunction = "buildsettings";

	}

	}

	elseif($mybb->input['action'] == "buildcaches")
{
$runfunction = "buildcaches";

	elseif($mybb->input['action'] == "buildcaches")
{
$runfunction = "buildcaches";

Zeile 377Zeile 391
	else // Busy running modules, come back later
{
$bits = explode("_", $mybb->input['action'], 2);

	else // Busy running modules, come back later
{
$bits = explode("_", $mybb->input['action'], 2);

		if($bits[1]) // We're still running a module

		if(!empty($bits[1])) // We're still running a module

		{
$from = $bits[0];
$runfunction = next_function($bits[0], $bits[1]);

		{
$from = $bits[0];
$runfunction = next_function($bits[0], $bits[1]);

Zeile 387Zeile 401

// Fetch current script we're in
if(function_exists($runfunction))


// Fetch current script we're in
if(function_exists($runfunction))

	{

	{

		$runfunction();
}
}

		$runfunction();
}
}







/**
* Do the upgrade changes
*/

function upgradethemes()
{
global $output, $db, $system_upgrade_detail, $lang, $mybb;

function upgradethemes()
{
global $output, $db, $system_upgrade_detail, $lang, $mybb;





	$output->print_header($lang->upgrade_templates_reverted);

	$output->print_header($lang->upgrade_templates_reverted);





	$charset = $db->build_create_table_collation();

if($system_upgrade_detail['revert_all_templates'] > 0)

	$charset = $db->build_create_table_collation();

if($system_upgrade_detail['revert_all_templates'] > 0)

Zeile 427Zeile 444
		 stylesheets text NOT NULL,
allowedgroups text NOT NULL,
PRIMARY KEY (tid)

		 stylesheets text NOT NULL,
allowedgroups text NOT NULL,
PRIMARY KEY (tid)

		) ENGINE=MyISAM{$charset};");

		) ENGINE=MyISAM{$charset};");


$db->drop_table("themestylesheets");
$db->write_query("CREATE TABLE ".TABLE_PREFIX."themestylesheets(


$db->drop_table("themestylesheets");
$db->write_query("CREATE TABLE ".TABLE_PREFIX."themestylesheets(

Zeile 469Zeile 486
		) ENGINE=MyISAM{$charset};");

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

		) ENGINE=MyISAM{$charset};");

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

	}
else
{

	}
else
{

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

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

Zeile 486Zeile 503
		}
else
{

		}
else
{

			$output->print_error();

			$output->print_error($lang->no_theme_functions_file);

		}

// Import master theme
import_theme_xml($contents, array("tid" => 1, "no_templates" => 1, "version_compat" => 1));

		}

// Import master theme
import_theme_xml($contents, array("tid" => 1, "no_templates" => 1, "version_compat" => 1));

	}

$sid = -2;

	}

$sid = -2;


// Now deal with the master templates
$contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme.xml');


// Now deal with the master templates
$contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme.xml');

	$parser = new XMLParser($contents);

	$parser = create_xml_parser($contents);

	$tree = $parser->get_tree();

$theme = $tree['theme'];

	$tree = $parser->get_tree();

$theme = $tree['theme'];

Zeile 513Zeile 530
			$time = TIME_NOW;
$query = $db->simple_select("templates", "tid", "sid='-2' AND title='".$db->escape_string($templatename)."'");
$oldtemp = $db->fetch_array($query);

			$time = TIME_NOW;
$query = $db->simple_select("templates", "tid", "sid='-2' AND title='".$db->escape_string($templatename)."'");
$oldtemp = $db->fetch_array($query);

			if($oldtemp['tid'])

			if($oldtemp)

			{
$update_array = array(

			{
$update_array = array(

					'template' => $templatevalue,

					'template' => $templatevalue,

					'version' => $templateversion,
'dateline' => $time
);

					'version' => $templateversion,
'dateline' => $time
);

Zeile 536Zeile 553
				++$newcount;
}
}

				++$newcount;
}
}

	}


	}


	$output->print_contents($lang->upgrade_templates_reverted_success);
$output->print_footer("rebuildsettings");
}


	$output->print_contents($lang->upgrade_templates_reverted_success);
$output->print_footer("rebuildsettings");
}


 
/**
* Update the settings
*/

function buildsettings()
{
global $db, $output, $system_upgrade_detail, $lang;

function buildsettings()
{
global $db, $output, $system_upgrade_detail, $lang;

Zeile 558Zeile 578
	$output->print_header($lang->upgrade_settings_sync);
$output->print_contents($lang->sprintf($lang->upgrade_settings_sync_success, $synccount[1], $synccount[0]));
$output->print_footer("buildcaches");

	$output->print_header($lang->upgrade_settings_sync);
$output->print_contents($lang->sprintf($lang->upgrade_settings_sync_success, $synccount[1], $synccount[0]));
$output->print_footer("buildcaches");

}





}

/**
* Rebuild caches
*/

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

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





	$output->print_header($lang->upgrade_datacache_building);


	$output->print_header($lang->upgrade_datacache_building);


	$contents .= $lang->upgrade_building_datacache;
require_once MYBB_ROOT."inc/class_datacache.php";
$cache = new datacache;

	$contents = $lang->upgrade_building_datacache;



	$cache->update_version();
$cache->update_attachtypes();
$cache->update_smilies();

	$cache->update_version();
$cache->update_attachtypes();
$cache->update_smilies();

Zeile 589Zeile 611
	$cache->update_tasks();
$cache->update_spiders();
$cache->update_bannedips();

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

	$cache->update_banned();

 
	$cache->update_birthdays();
$cache->update_most_replied_threads();
$cache->update_most_viewed_threads();
$cache->update_groupleaders();
$cache->update_threadprefixes();
$cache->update_forumsdisplay();

	$cache->update_birthdays();
$cache->update_most_replied_threads();
$cache->update_most_viewed_threads();
$cache->update_groupleaders();
$cache->update_threadprefixes();
$cache->update_forumsdisplay();

 
	$cache->update_reportreasons(true);


$contents .= $lang->done."</p>";



$contents .= $lang->done."</p>";


Zeile 603Zeile 625
	$output->print_footer("finished");
}


	$output->print_footer("finished");
}


 
/**
* Called as latest function. Send statistics, create lock file etc
*/

function upgradedone()
{

function upgradedone()
{

	global $db, $output, $mybb, $lang, $config;

	global $db, $output, $mybb, $lang, $config, $plugins;


ob_start();


ob_start();

	$output->print_header("Upgrade Complete");


	$output->print_header($lang->upgrade_complete);


	$allow_anonymous_info = get_upgrade_store("allow_anonymous_info");
if($allow_anonymous_info == 1)
{

	$allow_anonymous_info = get_upgrade_store("allow_anonymous_info");
if($allow_anonymous_info == 1)
{

Zeile 625Zeile 650

// Attempt to run an update check
require_once MYBB_ROOT.'inc/functions_task.php';


// Attempt to run an update check
require_once MYBB_ROOT.'inc/functions_task.php';

	run_task(12);










	$query = $db->simple_select('tasks', 'tid', "file='versioncheck'");
$update_check = $db->fetch_array($query);
if($update_check)
{
// Load plugin system for update check
require_once MYBB_ROOT."inc/class_plugins.php";
$plugins = new pluginSystem;

run_task($update_check['tid']);
}


if(is_writable("./"))
{


if(is_writable("./"))
{

Zeile 637Zeile 671
			$lock_note = $lang->sprintf($lang->upgrade_locked, $config['admin_dir']);
}
}

			$lock_note = $lang->sprintf($lang->upgrade_locked, $config['admin_dir']);
}
}

	if(!$written)

	if(empty($written))

	{
$lock_note = "<p><b><span style=\"color: red;\">".$lang->upgrade_removedir."</span></b></p>";
}

	{
$lock_note = "<p><b><span style=\"color: red;\">".$lang->upgrade_removedir."</span></b></p>";
}

Zeile 666Zeile 700
	$output->print_footer();
}


	$output->print_footer();
}


 
/**
* Show the finish page
*/

function whatsnext()
{
global $output, $db, $system_upgrade_detail, $lang;

function whatsnext()
{
global $output, $db, $system_upgrade_detail, $lang;

Zeile 682Zeile 719
	}
}


	}
}


 
/**
* Determine the next function we need to call
*
* @param int $from
* @param string $func
*
* @return string
*/

function next_function($from, $func="dbchanges")
{
global $oldvers, $system_upgrade_detail, $currentscript, $cache;

function next_function($from, $func="dbchanges")
{
global $oldvers, $system_upgrade_detail, $currentscript, $cache;

Zeile 705Zeile 750
		}
}


		}
}


	if(!$function)

	if(empty($function))

	{
$function = "whatsnext";
}
return $function;
}


	{
$function = "whatsnext";
}
return $function;
}


 
/**
* @param string $module
*/

function load_module($module)
{
global $system_upgrade_detail, $currentscript, $upgrade_detail;

function load_module($module)
{
global $system_upgrade_detail, $currentscript, $upgrade_detail;

Zeile 721Zeile 769
	{
foreach($upgrade_detail as $key => $val)
{

	{
foreach($upgrade_detail as $key => $val)
{

			if(!$system_upgrade_detail[$key] || $val > $system_upgrade_detail[$key])

			if(empty($system_upgrade_detail[$key]) || $val > $system_upgrade_detail[$key])

			{
$system_upgrade_detail[$key] = $val;
}

			{
$system_upgrade_detail[$key] = $val;
}

Zeile 731Zeile 779
	}
}


	}
}


 
/**
* Get a value from our upgrade data cache
*
* @param string $title
*
* @return mixed
*/

function get_upgrade_store($title)
{
global $db;

$query = $db->simple_select("upgrade_data", "*", "title='".$db->escape_string($title)."'");
$data = $db->fetch_array($query);

function get_upgrade_store($title)
{
global $db;

$query = $db->simple_select("upgrade_data", "*", "title='".$db->escape_string($title)."'");
$data = $db->fetch_array($query);

 

if(!isset($data['contents']))
{
return null;
}


	return my_unserialize($data['contents']);
}


	return my_unserialize($data['contents']);
}


 
/**
* @param string $title
* @param mixed $contents
*/

function add_upgrade_store($title, $contents)
{
global $db;

$replace_array = array(
"title" => $db->escape_string($title),

function add_upgrade_store($title, $contents)
{
global $db;

$replace_array = array(
"title" => $db->escape_string($title),

		"contents" => $db->escape_string(serialize($contents))

		"contents" => $db->escape_string(my_serialize($contents))

	);
$db->replace_query("upgrade_data", $replace_array, "title");
}


	);
$db->replace_query("upgrade_data", $replace_array, "title");
}


 
/**
* @param int $redo 2 means that all setting tables will be dropped and recreated
*
* @return array
*/

function sync_settings($redo=0)
{
global $db;

function sync_settings($redo=0)
{
global $db;

Zeile 869Zeile 939
		}
}
$settings_xml = file_get_contents(INSTALL_ROOT."resources/settings.xml");

		}
}
$settings_xml = file_get_contents(INSTALL_ROOT."resources/settings.xml");

	$parser = new XMLParser($settings_xml);

	$parser = create_xml_parser($settings_xml);

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

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

Zeile 938Zeile 1008
		}
}
unset($settings);

		}
}
unset($settings);

 
	$settings = '';

	$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";
}
$settings = "<?php\n/*********************************\ \n DO NOT EDIT THIS FILE, PLEASE USE\n THE SETTINGS EDITOR\n\*********************************/\n\n$settings\n";

		$settings .= "\$settings['{$setting['name']}'] = \"".$setting['value']."\";\n";
}
$settings = "<?php\n/*********************************\ \n DO NOT EDIT THIS FILE, PLEASE USE\n THE SETTINGS EDITOR\n\*********************************/\n\n$settings\n";

Zeile 951Zeile 1023
	return array($groupcount, $settingcount);
}


	return array($groupcount, $settingcount);
}


 
/**
* @param int $redo 2 means that the tasks table will be dropped and recreated
*
* @return int
*/

function sync_tasks($redo=0)
{
global $db;

function sync_tasks($redo=0)
{
global $db;

Zeile 1031Zeile 1108

require_once MYBB_ROOT."inc/functions_task.php";
$task_file = file_get_contents(INSTALL_ROOT.'resources/tasks.xml');


require_once MYBB_ROOT."inc/functions_task.php";
$task_file = file_get_contents(INSTALL_ROOT.'resources/tasks.xml');

	$parser = new XMLParser($task_file);

	$parser = create_xml_parser($task_file);

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


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


Zeile 1073Zeile 1150
	return $taskcount;
}


	return $taskcount;
}


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

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

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

		$setting['value'] = $db->escape_string($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 1090Zeile 1171
		fclose($file);
}
}

		fclose($file);
}
}

?>