Vergleich install/upgrade.php - 1.4.1 - 1.4.10

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 6Zeile 6
 * Website: http://www.mybboard.net
* License: http://www.mybboard.net/about/license
*

 * Website: http://www.mybboard.net
* License: http://www.mybboard.net/about/license
*

 * $Id: upgrade.php 4120 2008-08-16 02:40:05Z Tikitiki $

 * $Id: upgrade.php 4416 2009-08-07 02:11:52Z RyanGordon $

 */
error_reporting(E_ALL & ~E_NOTICE);


 */
error_reporting(E_ALL & ~E_NOTICE);


Zeile 14Zeile 14
define("INSTALL_ROOT", dirname(__FILE__)."/");
define("TIME_NOW", time());
define('IN_MYBB', 1);

define("INSTALL_ROOT", dirname(__FILE__)."/");
define("TIME_NOW", time());
define('IN_MYBB', 1);

 
define("IN_UPGRADE", 1);


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


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

Zeile 69Zeile 70
define('TABLE_PREFIX', $config['database']['table_prefix']);
$db->connect($config['database']);
$db->set_table_prefix(TABLE_PREFIX);

define('TABLE_PREFIX', $config['database']['table_prefix']);
$db->connect($config['database']);
$db->set_table_prefix(TABLE_PREFIX);

 
$db->type = $config['database']['type'];


// Load Settings
if(file_exists(MYBB_ROOT."inc/settings.php"))


// Load Settings
if(file_exists(MYBB_ROOT."inc/settings.php"))

Zeile 173Zeile 175
		$user = $db->fetch_array($query);
if(!$user['uid'])
{

		$user = $db->fetch_array($query);
if(!$user['uid'])
{

			$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 username you have entered appears to be invalid.");
}

		else
{
$user = validate_password_from_uid($user['uid'], $mybb->input['password'], $user);

		else
{
$user = validate_password_from_uid($user['uid'], $mybb->input['password'], $user);

 
			if(!$user['uid'])
{
$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."'");

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

 
		

		$newsession = array(

		$newsession = array(

			"uid" => $user['uid'],
"loginattempts" => 1,

			"uid" => $user['uid']


		);

		);

 
		

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

// Temporarily set the cookie remember option for the login cookies

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

// Temporarily set the cookie remember option for the login cookies

Zeile 201Zeile 208
	if($mybb->user['uid'] == 0)
{
$output->print_header("Please Login", "errormsg", 0, 1);

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

		

		

		$output->print_contents('<p>Please enter your username and password to begin the upgrade process. You must be a valid forum administrator to perform the upgrade.</p>
<form action="upgrade.php" method="post">
<div class="border_wrapper">

		$output->print_contents('<p>Please enter your username and password to begin the upgrade process. You must be a valid forum administrator to perform the upgrade.</p>
<form action="upgrade.php" method="post">
<div class="border_wrapper">

Zeile 244Zeile 251
		if($db->table_exists("upgrade_data"))
{
$db->drop_table("upgrade_data");

		if($db->table_exists("upgrade_data"))
{
$db->drop_table("upgrade_data");

		}

		}

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

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

Zeile 253Zeile 260

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


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

		{

		{

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

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

Zeile 285Zeile 292
		unset($upgradescripts);
unset($upgradescript);


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


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

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

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

 
		add_upgrade_store("allow_anonymous_info", intval($mybb->input['allow_anonymous_info']));

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

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

Zeile 313Zeile 321
		{
add_upgrade_store("startscript", $mybb->input['from']);
$runfunction = next_function($mybb->input['from']);

		{
add_upgrade_store("startscript", $mybb->input['from']);
$runfunction = next_function($mybb->input['from']);

		}

		}

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

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

Zeile 321Zeile 329
	if($mybb->input['action'] == "templates")
{
$runfunction = "upgradethemes";

	if($mybb->input['action'] == "templates")
{
$runfunction = "upgradethemes";

	}

	}

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

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

Zeile 343Zeile 351
			$runfunction = next_function($bits[0], $bits[1]);

}

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

}

	}

	}

	// Fetch current script we're in

if(function_exists($runfunction))

	// Fetch current script we're in

if(function_exists($runfunction))

Zeile 358Zeile 366
	global $output, $db, $system_upgrade_detail, $lang, $mybb;

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

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

$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 373Zeile 381
		  status varchar(10) NOT NULL default '',
dateline int(10) NOT NULL default '0',
PRIMARY KEY (tid)

		  status varchar(10) NOT NULL default '',
dateline int(10) NOT NULL default '0',
PRIMARY KEY (tid)

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

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

	}

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

	}

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

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

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

		import_theme_xml($contents, array("templateset" => -2, "no_templates" => 1));

		import_theme_xml($contents, array("templateset" => -2, "no_templates" => 1, "version_compat" => 1));

		$tid = build_new_theme("Default", null, 1);

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

		$tid = build_new_theme("Default", null, 1);

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

Zeile 449Zeile 457
		}

// Import master theme

		}

// Import master theme

		import_theme_xml($contents, array("tid" => 1, "no_templates" => 1));
}

$sid = -2;


		import_theme_xml($contents, array("tid" => 1, "no_templates" => 1, "version_compat" => 1));
}

$sid = -2;


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

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

Zeile 559Zeile 567
function upgradedone()
{
global $db, $output, $mybb, $lang, $config;

function upgradedone()
{
global $db, $output, $mybb, $lang, $config;

 
	
ob_start();


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


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

	if(is_writable("./"))















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

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

if(is_writable("./"))

	{
$lock = @fopen("./lock", "w");
$written = @fwrite($lock, "1");

	{
$lock = @fopen("./lock", "w");
$written = @fwrite($lock, "1");

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

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

	}

	}

	if(!$written)
{
$lock_note = "<p><b><span style=\"color: red;\">".$lang->upgrade_removedir."</span></b></p>";

	if(!$written)
{
$lock_note = "<p><b><span style=\"color: red;\">".$lang->upgrade_removedir."</span></b></p>";

	}

	}

	
// Rebuild inc/settings.php at the end of the upgrade
if(function_exists('rebuild_settings'))

	
// Rebuild inc/settings.php at the end of the upgrade
if(function_exists('rebuild_settings'))

	{

	{

		rebuild_settings();
}
else

		rebuild_settings();
}
else

Zeile 589Zeile 613
		);

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

		);

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

		while($setting = $db->fetch_array($query))
{

		while($setting = $db->fetch_array($query))
{

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

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

Zeile 598Zeile 622
	
$output->print_contents($lang->sprintf($lang->upgrade_congrats, $mybb->version, $lock_note));
$output->print_footer();

	
$output->print_contents($lang->sprintf($lang->upgrade_congrats, $mybb->version, $lock_note));
$output->print_footer();

}


}


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

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

Zeile 624Zeile 648
	if(function_exists("upgrade".$from."_".$func))
{
$function = "upgrade".$from."_".$func;

	if(function_exists("upgrade".$from."_".$func))
{
$function = "upgrade".$from."_".$func;

	}

	}

	else
{
$from = $from+1;
if(file_exists(INSTALL_ROOT."resources/upgrade".$from.".php"))
{
$function = next_function($from);

	else
{
$from = $from+1;
if(file_exists(INSTALL_ROOT."resources/upgrade".$from.".php"))
{
$function = next_function($from);

		}
}


		}
}


	if(!$function)
{
$function = "whatsnext";

	if(!$function)
{
$function = "whatsnext";

Zeile 657Zeile 681
		}
add_upgrade_store("upgradedetail", $system_upgrade_detail);
add_upgrade_store("currentscript", $module);

		}
add_upgrade_store("upgradedetail", $system_upgrade_detail);
add_upgrade_store("currentscript", $module);

	}
}

	}
}


function get_upgrade_store($title)
{


function get_upgrade_store($title)
{

Zeile 667Zeile 691
	$query = $db->simple_select("upgrade_data", "*", "title='".$db->escape_string($title)."'");
$data = $db->fetch_array($query);
return unserialize($data['contents']);

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

}

}


function add_upgrade_store($title, $contents)
{


function add_upgrade_store($title, $contents)
{

Zeile 692Zeile 716
		  gid smallint unsigned NOT NULL auto_increment,
name varchar(100) NOT NULL default '',
title varchar(220) NOT NULL default '',

		  gid smallint unsigned NOT NULL auto_increment,
name varchar(100) NOT NULL default '',
title varchar(220) NOT NULL default '',

		  description text NOT NULL,

		  description text NOT NULL,

		  disporder smallint unsigned NOT NULL default '0',

		  disporder smallint unsigned NOT NULL default '0',

		  isdefault int(1) NOT NULL default '',

		  isdefault int(1) NOT NULL default '0',

		  PRIMARY KEY  (gid)
) TYPE=MyISAM;");

		  PRIMARY KEY  (gid)
) TYPE=MyISAM;");





		$db->drop_table("settings");

$db->write_query("CREATE TABLE ".TABLE_PREFIX."settings (

		$db->drop_table("settings");

$db->write_query("CREATE TABLE ".TABLE_PREFIX."settings (

		  sid smallint(6) NOT NULL auto_increment,

		  sid smallint unsigned NOT NULL auto_increment,

		  name varchar(120) NOT NULL default '',
title varchar(120) NOT NULL default '',
description text NOT NULL,
optionscode text NOT NULL,
value text NOT NULL,

		  name varchar(120) NOT NULL default '',
title varchar(120) NOT NULL default '',
description text NOT NULL,
optionscode text NOT NULL,
value text NOT NULL,

		  disporder smallint(6) NOT NULL default '0',
gid smallint(6) NOT NULL default '0',
PRIMARY KEY (sid)


		  disporder smallint unsigned NOT NULL default '0',
gid smallint unsigned NOT NULL default '0',
isdefault int(1) NOT NULL default '0',
PRIMARY KEY (sid)

		) TYPE=MyISAM;");
}
else
{

		) TYPE=MyISAM;");
}
else
{

		$query = $db->simple_select("settings", "name,sid", "isdefault='1' OR isdefault='yes'");










		if($db->type == "mysql" || $db->type == "mysqli")
{
$wheresettings = "isdefault='1' OR isdefault='yes'";
}
else
{
$wheresettings = "isdefault='1'";
}

$query = $db->simple_select("settings", "name,sid", $wheresettings);

		while($setting = $db->fetch_array($query))
{
$settings[$setting['name']] = $setting['sid'];
}


		while($setting = $db->fetch_array($query))
{
$settings[$setting['name']] = $setting['sid'];
}


		$query = $db->simple_select("settinggroups", "name,title,gid", "isdefault='1' OR isdefault='yes'");

		$query = $db->simple_select("settinggroups", "name,title,gid", $wheresettings);

		while($group = $db->fetch_array($query))
{
$settinggroups[$group['name']] = $group['gid'];

		while($group = $db->fetch_array($query))
{
$settinggroups[$group['name']] = $group['gid'];

Zeile 732Zeile 766
	$tree = $parser->get_tree();
$settinggroupnames = array();
$settingnames = array();

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

	



	foreach($tree['settings'][0]['settinggroup'] as $settinggroup)
{
$settinggroupnames[] = $settinggroup['attributes']['name'];

	foreach($tree['settings'][0]['settinggroup'] as $settinggroup)
{
$settinggroupnames[] = $settinggroup['attributes']['name'];

Zeile 792Zeile 826
		require MYBB_ROOT."inc/settings.php";
foreach($settings as $key => $val)
{

		require MYBB_ROOT."inc/settings.php";
foreach($settings as $key => $val)
{

			$db->update_query("settings", array('value' => $db->escape_string($val)), "name='$key'");

			$db->update_query("settings", array('value' => $db->escape_string($val)), "name='".$db->escape_string($key)."'");

		}
}
unset($settings);

		}
}
unset($settings);