Vergleich install/upgrade.php - 1.8.7 - 1.8.27

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

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


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

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 62Zeile 61

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


// 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 71Zeile 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 143Zeile 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");
$fpermfields = array('canview', 'canviewthreads', 'candlattachments', 'canpostthreads', 'canpostreplys', 'canpostattachments', 'canratethreads', 'caneditposts', 'candeleteposts', 'candeletethreads', 'caneditattachments', 'canpostpolls', 'canvotepolls', 'cansearch', 'modposts', 'modthreads', 'modattachments', 'mod_edit_posts');


$displaygroupfields = array("title", "description", "namestyle", "usertitle", "stars", "starimage", "image");
$fpermfields = array('canview', 'canviewthreads', 'candlattachments', 'canpostthreads', 'canpostreplys', 'canpostattachments', 'canratethreads', 'caneditposts', 'candeleteposts', 'candeletethreads', 'caneditattachments', 'canpostpolls', 'canvotepolls', 'cansearch', 'modposts', 'modthreads', 'modattachments', 'mod_edit_posts');


Zeile 163Zeile 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.");
}

		{
$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.");
}

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

if(!$user['uid'])

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

if(!$user['uid'])

		{

		{

			$output->print_error("The username you have entered appears to be invalid.");
}
else

			$output->print_error("The username you have entered appears to be invalid.");
}
else

Zeile 207Zeile 213
			}
}


			}
}


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

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


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


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

Zeile 261Zeile 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 276Zeile 291
			{
$upgradescripts[$match[1]] = $file;
$key_order[] = $match[1];

			{
$upgradescripts[$match[1]] = $file;
$key_order[] = $match[1];

			}

			}

		}
closedir($dh);
natsort($key_order);

		}
closedir($dh);
natsort($key_order);

Zeile 289Zeile 304
		if(empty($version_history))
{
$next_update_version = 17; // 16+1

		if(empty($version_history))
{
$next_update_version = 17; // 16+1

		}
else

		}
else

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

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

Zeile 305Zeile 320
			if(trim($verinfo[1]))
{
if($keynum[1] == $next_update_version)

			if(trim($verinfo[1]))
{
if($keynum[1] == $next_update_version)

				{

				{

					$vers .= "<option value=\"$keynum[1]\" selected=\"selected\">$verinfo[1]</option>\n";
}
else

					$vers .= "<option value=\"$keynum[1]\" selected=\"selected\">$verinfo[1]</option>\n";
}
else

Zeile 317Zeile 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', MyBB::INPUT_INT));
require_once INSTALL_ROOT."resources/upgrade".$mybb->get_input('from', MyBB::INPUT_INT).".php";
if($db->table_exists("datacache") && $upgrade_detail['requires_deactivated_plugins'] == 1 && $mybb->get_input('donewarning') != "true")
{
$plugins = $cache->read('plugins', true);
if(!empty($plugins['active']))

		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") && $upgrade_detail['requires_deactivated_plugins'] == 1 && $mybb->get_input('donewarning') != "true")
{
$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', 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_header();
$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));

Zeile 350Zeile 373
	$system_upgrade_detail = get_upgrade_store("upgradedetail");

if($mybb->input['action'] == "templates")

	$system_upgrade_detail = get_upgrade_store("upgradedetail");

if($mybb->input['action'] == "templates")

	{

	{

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

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

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

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





		}

		}

	}


	}


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

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

	}
}


	}
}


/**
* Do the upgrade changes
*/

/**
* Do the upgrade changes
*/

Zeile 421Zeile 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 441Zeile 464
			require_once MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php";
}
else if(file_exists(MYBB_ROOT."admin/inc/functions_themes.php"))

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

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

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

		else
{
$output->print_error("Please make sure your admin directory is uploaded correctly.");

		else
{
$output->print_error("Please make sure your admin directory is uploaded correctly.");

Zeile 480Zeile 503
		}
else
{

		}
else
{

			$output->print_error();

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

		}

// Import master theme

		}

// Import master theme

Zeile 491Zeile 514

// 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 567Zeile 590
	$output->print_header($lang->upgrade_datacache_building);

$contents .= $lang->upgrade_building_datacache;

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

$contents .= $lang->upgrade_building_datacache;

	require_once MYBB_ROOT."inc/class_datacache.php";
$cache = new 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 611Zeile 633
	global $db, $output, $mybb, $lang, $config, $plugins;

ob_start();

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

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 911Zeile 933
		}
}
$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 983Zeile 1005
	$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 1078Zeile 1101

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 1129Zeile 1152
	$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'] = $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))