Vergleich install/resources/upgrade12.php - 1.6.9 - 1.6.18

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

@set_time_limit(0);



@set_time_limit(0);


// We need to globalize $db here because when this script is called 

// We need to globalize $db here because when this script is called

// during load_module $db is not globalized in the function
global $db;


// during load_module $db is not globalized in the function
global $db;


Zeile 54Zeile 54
		"users" => array("uid","allownotices","hideemail","invisible","receivepms","pmpopup","pmnotify","remember","showsigs","showavatars","showquickreply","showredirect","away"),
"threads" => array("tid", "closed")
);

		"users" => array("uid","allownotices","hideemail","invisible","receivepms","pmpopup","pmnotify","remember","showsigs","showavatars","showquickreply","showredirect","away"),
"threads" => array("tid", "closed")
);

	



	if(!$db->field_exists('pmpopup', "users"))
{
$pmpopup_key = array_search('pmpopup', $to_int['users']);

	if(!$db->field_exists('pmpopup', "users"))
{
$pmpopup_key = array_search('pmpopup', $to_int['users']);

Zeile 68Zeile 68
	if($mybb->input['last_table'])
{
$current_table = $mybb->input['last_table'];

	if($mybb->input['last_table'])
{
$current_table = $mybb->input['last_table'];

	}

	}

	else
{
$current_table = array_keys($to_int);
$current_table = $current_table[0];
echo "<p>MyBB 1.4 represents a huge leap forward for the MyBB project.</p><p>Due to this, lots of information in the database needs to be converted to a new format.</p>";
}

	else
{
$current_table = array_keys($to_int);
$current_table = $current_table[0];
echo "<p>MyBB 1.4 represents a huge leap forward for the MyBB project.</p><p>Due to this, lots of information in the database needs to be converted to a new format.</p>";
}





	echo "<p>MyBB is now currently converting a section of data to the new format, this may take a while.</p>";

$remaining = $perpage;

$final_table = array_keys($to_int);
$final_table = $final_table[count($final_table)-1];

	echo "<p>MyBB is now currently converting a section of data to the new format, this may take a while.</p>";

$remaining = $perpage;

$final_table = array_keys($to_int);
$final_table = $final_table[count($final_table)-1];





	$next_act = "12_dbchanges";

$start = intval($mybb->input['start']);

	$next_act = "12_dbchanges";

$start = intval($mybb->input['start']);

Zeile 96Zeile 96
			if($remaining <= 0)
{
break;

			if($remaining <= 0)
{
break;

			}

			}

			$columns_sql = implode(",", $columns);
$primary_key = $columns[0];
if(!$mybb->input['count'])

			$columns_sql = implode(",", $columns);
$primary_key = $columns[0];
if(!$mybb->input['count'])

Zeile 109Zeile 109
				$end = $start+$perpage;
if($end > $count) $end = $count;
echo "<p>{$table}: Converting {$start} to {$end} of {$count}</p>";

				$end = $start+$perpage;
if($end > $count) $end = $count;
echo "<p>{$table}: Converting {$start} to {$end} of {$count}</p>";

				flush();

				flush();

				$form_fields['start'] = $perpage+$start;

$query = $db->simple_select($table, $columns_sql, "", array('order_by' => $pimary_key, 'limit_start' => $start, 'limit' => $remaining));

				$form_fields['start'] = $perpage+$start;

$query = $db->simple_select($table, $columns_sql, "", array('order_by' => $pimary_key, 'limit_start' => $start, 'limit' => $remaining));

Zeile 191Zeile 191
		echo "<p>Click next to continue with the upgrade process.</p>";
global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";

		echo "<p>Click next to continue with the upgrade process.</p>";
global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";





		$output->print_footer($next_act);
}

		$output->print_footer($next_act);
}

}


}


function upgrade12_dbchanges1()
{
global $db, $output, $mybb;

function upgrade12_dbchanges1()
{
global $db, $output, $mybb;

Zeile 205Zeile 205
	echo "<p>Performing necessary upgrade queries..</p>";
echo "<p>Adding index to private messages table ... ";
flush();

	echo "<p>Performing necessary upgrade queries..</p>";
echo "<p>Adding index to private messages table ... ";
flush();

	



	$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages ADD INDEX ( `uid` )");

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages ADD INDEX ( `uid` )");

	



	echo "done.</p>";

	echo "done.</p>";

	



	$contents = "<p>Click next to continue with the upgrade process.</p>";
$output->print_contents($contents);

	$contents = "<p>Click next to continue with the upgrade process.</p>";
$output->print_contents($contents);





	global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";

	global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";





	$output->print_footer("12_dbchanges_post1");
}

function upgrade12_dbchanges_post1()

	$output->print_footer("12_dbchanges_post1");
}

function upgrade12_dbchanges_post1()

{
global $db, $output, $mybb;


{
global $db, $output, $mybb;


	$output->print_header("Performing Queries");


	$output->print_header("Performing Queries");


	echo "<p>Performing necessary upgrade queries..</p>";	

	echo "<p>Performing necessary upgrade queries..</p>";

	echo "<p>Adding index to posts table ... ";
flush();

	echo "<p>Adding index to posts table ... ";
flush();

	



	// This will take a LONG time on huge post databases, so we only run it isolted from most of the other queries
$db->write_query("ALTER TABLE ".TABLE_PREFIX."posts ADD INDEX ( `visible` )");

	// This will take a LONG time on huge post databases, so we only run it isolted from most of the other queries
$db->write_query("ALTER TABLE ".TABLE_PREFIX."posts ADD INDEX ( `visible` )");

	



	echo "done.</p>";
flush();

	echo "done.</p>";
flush();

	



	$contents = "<p>Click next to continue with the upgrade process.</p>";
$output->print_contents($contents);


	$contents = "<p>Click next to continue with the upgrade process.</p>";
$output->print_contents($contents);


Zeile 247Zeile 247
function upgrade12_dbchanges_post2()
{
global $db, $output, $mybb;

function upgrade12_dbchanges_post2()
{
global $db, $output, $mybb;





	$output->print_header("Performing Queries");

	$output->print_header("Performing Queries");





	echo "<p>Performing necessary upgrade queries..</p>";

	echo "<p>Performing necessary upgrade queries..</p>";

	



	if($db->field_exists('longipaddress', "posts"))
{
echo "<p>Dropping longipaddress column in posts table ... ";
flush();

	if($db->field_exists('longipaddress', "posts"))
{
echo "<p>Dropping longipaddress column in posts table ... ";
flush();

	



		$db->write_query("ALTER TABLE ".TABLE_PREFIX."posts DROP longipaddress;");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."posts DROP longipaddress;");

		



		echo "done.</p>";
flush();
}

		echo "done.</p>";
flush();
}

	



	echo "<p>Adding longipaddress column to posts table ... ";
flush();

	echo "<p>Adding longipaddress column to posts table ... ";
flush();

	



	$db->write_query("ALTER TABLE ".TABLE_PREFIX."posts ADD longipaddress int(11) NOT NULL default '0' AFTER ipaddress");

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."posts ADD longipaddress int(11) NOT NULL default '0' AFTER ipaddress");

	



	echo "done.</p>";
flush();

	echo "done.</p>";
flush();

	



	$contents = "<p>Click next to continue with the upgrade process.</p>";
$output->print_contents($contents);


	$contents = "<p>Click next to continue with the upgrade process.</p>";
$output->print_contents($contents);


Zeile 286Zeile 286

$output->print_header("Performing Queries");



$output->print_header("Performing Queries");


	echo "<p>Performing necessary upgrade queries..</p>";	

	echo "<p>Performing necessary upgrade queries..</p>";

	echo "<p>Adding index to users table ... ";
flush();

	echo "<p>Adding index to users table ... ";
flush();

	



	// This will take a LONG time on huge user databases, so we only run it isolted from most of the other queries
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD INDEX ( `lastvisit` )");
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD INDEX ( `regdate` )");

	// This will take a LONG time on huge user databases, so we only run it isolted from most of the other queries
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD INDEX ( `lastvisit` )");
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD INDEX ( `regdate` )");

	



	echo "done.</p>";
flush();

	echo "done.</p>";
flush();

	



	$contents = "<p>Click next to continue with the upgrade process.</p>";
$output->print_contents($contents);


	$contents = "<p>Click next to continue with the upgrade process.</p>";
$output->print_contents($contents);


Zeile 305Zeile 305

$output->print_footer("12_dbchanges2");
}


$output->print_footer("12_dbchanges2");
}





function upgrade12_dbchanges2()
{
global $db, $output, $mybb;

$output->print_header("Performing Queries");

function upgrade12_dbchanges2()
{
global $db, $output, $mybb;

$output->print_header("Performing Queries");





	echo "<p>Performing necessary upgrade queries..</p>";
flush();

	echo "<p>Performing necessary upgrade queries..</p>";
flush();

	



	if($db->field_exists('recipients', "privatemessages"))

	if($db->field_exists('recipients', "privatemessages"))

	{

	{

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages DROP recipients;");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages DROP recipients;");

	}	

	}

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages ADD recipients text NOT NULL AFTER fromid");

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages ADD recipients text NOT NULL AFTER fromid");

	



	if($db->field_exists('deletetime', "privatemessages"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages DROP deletetime;");

	if($db->field_exists('deletetime', "privatemessages"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages DROP deletetime;");

	}

	}

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages ADD deletetime bigint(30) NOT NULL default '0' AFTER dateline");

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages ADD deletetime bigint(30) NOT NULL default '0' AFTER dateline");

		



	if($db->field_exists('maxpmrecipients', "usergroups"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP maxpmrecipients;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups ADD maxpmrecipients int(4) NOT NULL default '5' AFTER pmquota");

	if($db->field_exists('maxpmrecipients', "usergroups"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP maxpmrecipients;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups ADD maxpmrecipients int(4) NOT NULL default '5' AFTER pmquota");





	if($db->field_exists('canwarnusers', "usergroups"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP canwarnusers;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups ADD canwarnusers int(1) NOT NULL default '0' AFTER cancustomtitle");

	if($db->field_exists('canwarnusers', "usergroups"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP canwarnusers;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups ADD canwarnusers int(1) NOT NULL default '0' AFTER cancustomtitle");

	



	if($db->field_exists('lastip', "users"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP lastip;");

	if($db->field_exists('lastip', "users"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP lastip;");

	}

	}

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD lastip varchar(50) NOT NULL default '' AFTER regip");

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD lastip varchar(50) NOT NULL default '' AFTER regip");







if($db->field_exists('coppauser', "users"))



if($db->field_exists('coppauser', "users"))

Zeile 352Zeile 352
		$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP coppauser;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD coppauser int(1) NOT NULL default '0'");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP coppauser;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD coppauser int(1) NOT NULL default '0'");

	



	if($db->field_exists('classicpostbit', 'users'))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP classicpostbit;");

	if($db->field_exists('classicpostbit', 'users'))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP classicpostbit;");

Zeile 364Zeile 364
		$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP canreceivewarnings;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups ADD canreceivewarnings int(1) NOT NULL default '0' AFTER canwarnusers");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP canreceivewarnings;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups ADD canreceivewarnings int(1) NOT NULL default '0' AFTER canwarnusers");

	



	if($db->field_exists('maxwarningsday', "usergroups"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP maxwarningsday;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups ADD maxwarningsday int(3) NOT NULL default '3' AFTER canreceivewarnings");

	if($db->field_exists('maxwarningsday', "usergroups"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP maxwarningsday;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups ADD maxwarningsday int(3) NOT NULL default '3' AFTER canreceivewarnings");

	



	$db->update_query("usergroups", array('canreceivewarnings' => 1), "cancp != 1");
$db->update_query("usergroups", array('maxwarningsday' => 3, 'canwarnusers' => 1), "cancp=1 OR issupermod=1 OR gid=6"); // Admins, Super Mods and Mods


	$db->update_query("usergroups", array('canreceivewarnings' => 1), "cancp != 1");
$db->update_query("usergroups", array('maxwarningsday' => 3, 'canwarnusers' => 1), "cancp=1 OR issupermod=1 OR gid=6"); // Admins, Super Mods and Mods


Zeile 385Zeile 385
	{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP newpms;");
}

	{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP newpms;");
}

	



	if($db->field_exists('keywords', "searchlog"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."searchlog DROP keywords;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."searchlog ADD keywords text NOT NULL AFTER querycache");

	if($db->field_exists('keywords', "searchlog"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."searchlog DROP keywords;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."searchlog ADD keywords text NOT NULL AFTER querycache");

	



	if($db->field_exists('canaddpublicevents', "usergroups") && !$db->field_exists('canaddevents', "usergroups"))
{
$db->update_query("usergroups", array('canaddpublicevents' => 0), "canaddpublicevents='no'");
$db->update_query("usergroups", array('canaddpublicevents' => 1), "canaddpublicevents='yes'");
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups CHANGE canaddpublicevents canaddevents int(1) NOT NULL default '0';");
}

	if($db->field_exists('canaddpublicevents', "usergroups") && !$db->field_exists('canaddevents', "usergroups"))
{
$db->update_query("usergroups", array('canaddpublicevents' => 0), "canaddpublicevents='no'");
$db->update_query("usergroups", array('canaddpublicevents' => 1), "canaddpublicevents='yes'");
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups CHANGE canaddpublicevents canaddevents int(1) NOT NULL default '0';");
}

	



	if($db->field_exists('canaddprivateevents', "usergroups"))

	if($db->field_exists('canaddprivateevents', "usergroups"))

	{

	{

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP canaddprivateevents;");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP canaddprivateevents;");

	}


	}


	if($db->field_exists('canbypasseventmod', "usergroups"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP canbypasseventmod;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups ADD canbypasseventmod int(1) NOT NULL default '0' AFTER canaddevents;");

	if($db->field_exists('canbypasseventmod', "usergroups"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP canbypasseventmod;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups ADD canbypasseventmod int(1) NOT NULL default '0' AFTER canaddevents;");

	



	if($db->field_exists('canmoderateevents', "usergroups"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP canmoderateevents;");

	if($db->field_exists('canmoderateevents', "usergroups"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP canmoderateevents;");

Zeile 419Zeile 419
	$db->update_query("usergroups", array('canbypasseventmod' => 0, 'canmoderateevents' => 0), "cancp=0 AND issupermod=0");
$db->update_query("usergroups", array('canaddevents' => 0), "gid='1'");


	$db->update_query("usergroups", array('canbypasseventmod' => 0, 'canmoderateevents' => 0), "cancp=0 AND issupermod=0");
$db->update_query("usergroups", array('canaddevents' => 0), "gid='1'");


	$db->drop_table("maillogs");	

	$db->drop_table("maillogs");

	$db->drop_table("mailerrors");
$db->drop_table("promotions");
$db->drop_table("promotionlogs");
$db->drop_table("massemails");

	$db->drop_table("mailerrors");
$db->drop_table("promotions");
$db->drop_table("promotionlogs");
$db->drop_table("massemails");

	



	$collation = $db->build_create_table_collation();

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

	$collation = $db->build_create_table_collation();

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

Zeile 444Zeile 444
		perpage smallint(4) NOT NULL default '50',
PRIMARY KEY(mid)
) ENGINE=MyISAM{$collation};");

		perpage smallint(4) NOT NULL default '50',
PRIMARY KEY(mid)
) ENGINE=MyISAM{$collation};");

	



	$db->write_query("CREATE TABLE ".TABLE_PREFIX."maillogs (
mid int unsigned NOT NULL auto_increment,
subject varchar(200) not null default '',

	$db->write_query("CREATE TABLE ".TABLE_PREFIX."maillogs (
mid int unsigned NOT NULL auto_increment,
subject varchar(200) not null default '',

Zeile 471Zeile 471
		smtpcode int(5) NOT NULL default '0',
PRIMARY KEY(eid)
) ENGINE=MyISAM{$collation};");

		smtpcode int(5) NOT NULL default '0',
PRIMARY KEY(eid)
) ENGINE=MyISAM{$collation};");

	



	$db->write_query("CREATE TABLE ".TABLE_PREFIX."promotions (
pid int unsigned NOT NULL auto_increment,
title varchar(120) NOT NULL default '',

	$db->write_query("CREATE TABLE ".TABLE_PREFIX."promotions (
pid int unsigned NOT NULL auto_increment,
title varchar(120) NOT NULL default '',

Zeile 490Zeile 490
		usergrouptype varchar(120) NOT NULL default '0',
PRIMARY KEY (pid)
) ENGINE=MyISAM{$collation};");

		usergrouptype varchar(120) NOT NULL default '0',
PRIMARY KEY (pid)
) ENGINE=MyISAM{$collation};");

	



	$db->write_query("CREATE TABLE ".TABLE_PREFIX."promotionlogs(
plid int unsigned NOT NULL auto_increment,
pid int unsigned NOT NULL default '0',

	$db->write_query("CREATE TABLE ".TABLE_PREFIX."promotionlogs(
plid int unsigned NOT NULL auto_increment,
pid int unsigned NOT NULL default '0',

Zeile 507Zeile 507
		$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP maxemails;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups ADD maxemails int(3) NOT NULL default '5' AFTER cansendemail");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups DROP maxemails;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."usergroups ADD maxemails int(3) NOT NULL default '5' AFTER cansendemail");

	



	if($db->field_exists('parseorder', "mycode"))

	if($db->field_exists('parseorder', "mycode"))

	{

	{

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."mycode DROP parseorder;");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."mycode DROP parseorder;");

	}

	}

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."mycode ADD parseorder smallint unsigned NOT NULL default '0' AFTER active");

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."mycode ADD parseorder smallint unsigned NOT NULL default '0' AFTER active");

	



	if($db->field_exists('mod_edit_posts', "forums"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."forums DROP mod_edit_posts;");

	if($db->field_exists('mod_edit_posts', "forums"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."forums DROP mod_edit_posts;");

Zeile 524Zeile 524
	{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users CHANGE pmpopup pmnotice int(1) NOT NULL default '0'");
}

	{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users CHANGE pmpopup pmnotice int(1) NOT NULL default '0'");
}

	



	$db->drop_table("tasks");
$db->drop_table("tasklog");


	$db->drop_table("tasks");
$db->drop_table("tasklog");


Zeile 588Zeile 588
	{
$db->write_query("RENAME TABLE ".TABLE_PREFIX."favorites TO ".TABLE_PREFIX."threadsubscriptions");
}

	{
$db->write_query("RENAME TABLE ".TABLE_PREFIX."favorites TO ".TABLE_PREFIX."threadsubscriptions");
}

	



	if($db->field_exists('fid', "threadsubscriptions"))

	if($db->field_exists('fid', "threadsubscriptions"))

	{

	{

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."threadsubscriptions CHANGE fid sid int unsigned NOT NULL auto_increment");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."threadsubscriptions CHANGE fid sid int unsigned NOT NULL auto_increment");

	}


	}


	if($db->field_exists('type', "threadsubscriptions"))

	if($db->field_exists('type', "threadsubscriptions"))

	{

	{

		$db->update_query("threadsubscriptions", array('type' => 0), "type='f'");
$db->update_query("threadsubscriptions", array('type' => 1), "type='s'");
$db->write_query("ALTER TABLE ".TABLE_PREFIX."threadsubscriptions CHANGE type notification int(1) NOT NULL default '0'");

		$db->update_query("threadsubscriptions", array('type' => 0), "type='f'");
$db->update_query("threadsubscriptions", array('type' => 1), "type='s'");
$db->write_query("ALTER TABLE ".TABLE_PREFIX."threadsubscriptions CHANGE type notification int(1) NOT NULL default '0'");

	}


	}


	if($db->field_exists('dateline', "threadsubscriptions"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."threadsubscriptions DROP dateline;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."threadsubscriptions ADD dateline bigint(30) NOT NULL default '0'");

	if($db->field_exists('dateline', "threadsubscriptions"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."threadsubscriptions DROP dateline;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."threadsubscriptions ADD dateline bigint(30) NOT NULL default '0'");

		



	if($db->field_exists('subscriptionkey', "threadsubscriptions"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."threadsubscriptions DROP subscriptionkey;");

	if($db->field_exists('subscriptionkey', "threadsubscriptions"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."threadsubscriptions DROP subscriptionkey;");

Zeile 620Zeile 620
		$db->update_query("users", array('emailnotify' => 0), "emailnotify != 1 AND emailnotify != 2");
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users CHANGE emailnotify subscriptionmethod int(1) NOT NULL default '0'");
}

		$db->update_query("users", array('emailnotify' => 0), "emailnotify != 1 AND emailnotify != 2");
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users CHANGE emailnotify subscriptionmethod int(1) NOT NULL default '0'");
}

	



	$db->drop_table("warninglevels");
$db->drop_table("warningtypes");
$db->drop_table("warnings");

	$db->drop_table("warninglevels");
$db->drop_table("warningtypes");
$db->drop_table("warnings");

Zeile 663Zeile 663
		$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP warningpoints;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD warningpoints int(3) NOT NULL default '0' AFTER unreadpms");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP warningpoints;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD warningpoints int(3) NOT NULL default '0' AFTER unreadpms");

	



	if($db->field_exists('moderateposts', "users"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP moderateposts;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD moderateposts int(1) NOT NULL default '0' AFTER warningpoints");

	if($db->field_exists('moderateposts', "users"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP moderateposts;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD moderateposts int(1) NOT NULL default '0' AFTER warningpoints");

	



	if($db->field_exists('moderationtime', "users"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP moderationtime;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD moderationtime bigint(30) NOT NULL default '0' AFTER moderateposts");

	if($db->field_exists('moderationtime', "users"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP moderationtime;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD moderationtime bigint(30) NOT NULL default '0' AFTER moderateposts");

	



	if($db->field_exists('suspendposting', "users"))

	if($db->field_exists('suspendposting', "users"))

	{

	{

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP suspendposting;");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP suspendposting;");

	}

	}

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD suspendposting int(1) NOT NULL default '0' AFTER moderationtime");

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD suspendposting int(1) NOT NULL default '0' AFTER moderationtime");

	



	if($db->field_exists('suspensiontime', "users"))

	if($db->field_exists('suspensiontime', "users"))

	{

	{

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP suspensiontime;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD suspensiontime bigint(30) NOT NULL default '0' AFTER suspendposting");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP suspensiontime;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD suspensiontime bigint(30) NOT NULL default '0' AFTER suspendposting");

	



	$db->write_query("ALTER TABLE ".TABLE_PREFIX."banned CHANGE oldadditionalgroups oldadditionalgroups TEXT NOT NULL");

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."banned CHANGE oldadditionalgroups oldadditionalgroups TEXT NOT NULL");

	
if($db->field_exists('birthdayprivacy', "users"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP birthdayprivacy;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD birthdayprivacy varchar(4) NOT NULL default 'all' AFTER birthday");










	if($db->field_exists('birthdayprivacy', "users"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP birthdayprivacy;");

	if($db->field_exists('birthdayprivacy', "users"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP birthdayprivacy;");

	}







	}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD birthdayprivacy varchar(4) NOT NULL default 'all' AFTER birthday");

if($db->field_exists('birthdayprivacy', "users"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP birthdayprivacy;");
}

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD birthdayprivacy varchar(4) NOT NULL default 'all' AFTER birthday");

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD birthdayprivacy varchar(4) NOT NULL default 'all' AFTER birthday");

	



	if($db->field_exists('longregip', "users"))

	if($db->field_exists('longregip', "users"))

	{

	{

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP longregip;");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP longregip;");

	}

	}

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD longregip int(11) NOT NULL default '0' AFTER lastip");

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD longregip int(11) NOT NULL default '0' AFTER lastip");

	



	if($db->field_exists('longlastip', "users"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP longlastip;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD longlastip int(11) NOT NULL default '0' AFTER lastip");

	if($db->field_exists('longlastip', "users"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP longlastip;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD longlastip int(11) NOT NULL default '0' AFTER lastip");

	



	// Unused column
if($db->field_exists('titles', "searchlog"))
{

	// Unused column
if($db->field_exists('titles', "searchlog"))
{

Zeile 730Zeile 730
	  data text NOT NULL,
KEY module (module, action)
) ENGINE=MyISAM{$collation};");

	  data text NOT NULL,
KEY module (module, action)
) ENGINE=MyISAM{$collation};");

	



	if($db->field_exists('data', "adminsessions"))

	if($db->field_exists('data', "adminsessions"))

	{

	{

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."adminsessions DROP data;");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."adminsessions DROP data;");

	}


	}


	$db->write_query("ALTER TABLE ".TABLE_PREFIX."adminsessions ADD data TEXT NOT NULL AFTER lastactive;");

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."adminsessions ADD data TEXT NOT NULL AFTER lastactive;");

	



	if($db->field_exists('isdefault', "settings"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."settings DROP isdefault;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."settings ADD isdefault int(1) NOT NULL default '0' AFTER gid;");

	if($db->field_exists('isdefault', "settings"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."settings DROP isdefault;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."settings ADD isdefault int(1) NOT NULL default '0' AFTER gid;");

	



	$setting_group_cache = array();
$query = $db->simple_select("settinggroups", "gid, isdefault");
while($settinggroup = $db->fetch_array($query))
{
$setting_group_cache[$settinggroup['gid']] = $settinggroup['isdefault'];
}

	$setting_group_cache = array();
$query = $db->simple_select("settinggroups", "gid, isdefault");
while($settinggroup = $db->fetch_array($query))
{
$setting_group_cache[$settinggroup['gid']] = $settinggroup['isdefault'];
}

	



	$query = $db->simple_select("settings", "gid, sid");
while($setting = $db->fetch_array($query))
{

	$query = $db->simple_select("settings", "gid, sid");
while($setting = $db->fetch_array($query))
{

Zeile 759Zeile 759
			$db->update_query("settings", array('isdefault' => 1), "sid = '{$setting['sid']}'", 1);
}
}

			$db->update_query("settings", array('isdefault' => 1), "sid = '{$setting['sid']}'", 1);
}
}

	



	$db->update_query("settings", array('value' => 'classic'), "name='postlayout' AND value != 'horizontal'");

	$db->update_query("settings", array('value' => 'classic'), "name='postlayout' AND value != 'horizontal'");

	



	$db->update_query("settings", array('optionscode' => $db->escape_string('php
<select name=\"upsetting[{$setting[\'name\']}]\"><option value=\"standard\">".($lang->setting_searchtype_standard?$lang->setting_searchtype_standard:"Standard")."</option>".($db->supports_fulltext("threads") && $db->supports_fulltext_boolean("posts")?"<option value=\"fulltext\"".($setting[\'value\']=="fulltext"?" selected=\"selected\"":"").">".($lang->setting_searchtype_fulltext?$lang->setting_searchtype_fulltext:"Full Text")."</option>":"")."</select>')), "name='searchtype'", 1);

	$db->update_query("settings", array('optionscode' => $db->escape_string('php
<select name=\"upsetting[{$setting[\'name\']}]\"><option value=\"standard\">".($lang->setting_searchtype_standard?$lang->setting_searchtype_standard:"Standard")."</option>".($db->supports_fulltext("threads") && $db->supports_fulltext_boolean("posts")?"<option value=\"fulltext\"".($setting[\'value\']=="fulltext"?" selected=\"selected\"":"").">".($lang->setting_searchtype_fulltext?$lang->setting_searchtype_fulltext:"Full Text")."</option>":"")."</select>')), "name='searchtype'", 1);

	



	$contents = "Done</p>";
$contents .= "<p>Click next to continue with the upgrade process.</p>";
$output->print_contents($contents);

	$contents = "Done</p>";
$contents .= "<p>Click next to continue with the upgrade process.</p>";
$output->print_contents($contents);

	



	global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";

	global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";

	



	$output->print_footer("12_dbchanges3");
}


	$output->print_footer("12_dbchanges3");
}


Zeile 783Zeile 783

echo "<p>Converting existing banned IP addresses, email addresses and usernames..</p>";
flush();


echo "<p>Converting existing banned IP addresses, email addresses and usernames..</p>";
flush();

	



	$db->drop_table("banfilters");

	$db->drop_table("banfilters");

	



	$collation = $db->build_create_table_collation();

	$collation = $db->build_create_table_collation();

	



	$db->write_query("CREATE TABLE ".TABLE_PREFIX."banfilters (
fid int unsigned NOT NULL auto_increment,
filter varchar(200) NOT NULL default '',

	$db->write_query("CREATE TABLE ".TABLE_PREFIX."banfilters (
fid int unsigned NOT NULL auto_increment,
filter varchar(200) NOT NULL default '',

Zeile 796Zeile 796
	  dateline bigint(30) NOT NULL default '0',
PRIMARY KEY (fid)
) ENGINE=MyISAM{$collation};");

	  dateline bigint(30) NOT NULL default '0',
PRIMARY KEY (fid)
) ENGINE=MyISAM{$collation};");





	// Now we convert all of the old bans in to the new system!
$ban_types = array('bannedips', 'bannedemails', 'bannedusernames');
foreach($ban_types as $type)
{
// Some people put spaces or breaks (\r\n) instead, so we should take that into account.
$mybb->settings[$type] = str_replace(array("\n", "\r\n", "\r"), ",", $mybb->settings[$type]);

	// Now we convert all of the old bans in to the new system!
$ban_types = array('bannedips', 'bannedemails', 'bannedusernames');
foreach($ban_types as $type)
{
// Some people put spaces or breaks (\r\n) instead, so we should take that into account.
$mybb->settings[$type] = str_replace(array("\n", "\r\n", "\r"), ",", $mybb->settings[$type]);

		



		// Usernames can have spaces so don't replace those with commas.
if($type != 'bannedusernames')
{
$mybb->settings[$type] = str_replace(" ", ",", $mybb->settings[$type]);
}

		// Usernames can have spaces so don't replace those with commas.
if($type != 'bannedusernames')
{
$mybb->settings[$type] = str_replace(" ", ",", $mybb->settings[$type]);
}

		



		$bans = explode(",", $mybb->settings[$type]);
$bans = array_unique($bans);
$bans = array_map("trim", $bans);

		$bans = explode(",", $mybb->settings[$type]);
$bans = array_unique($bans);
$bans = array_map("trim", $bans);

Zeile 819Zeile 819
			{
continue;
}

			{
continue;
}

			



			if($type == "bannedips")
{
$ban_type = 1;

			if($type == "bannedips")
{
$ban_type = 1;

Zeile 859Zeile 859

echo "<p>Performing necessary upgrade queries..</p>";
flush();


echo "<p>Performing necessary upgrade queries..</p>";
flush();

	



	$db->drop_table("spiders");
$db->drop_table("stats");

	$db->drop_table("spiders");
$db->drop_table("stats");

	



	$collation = $db->build_create_table_collation();

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

	$collation = $db->build_create_table_collation();

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

Zeile 875Zeile 875
		lastvisit bigint(30) NOT NULL default '0',
PRIMARY KEY(sid)
) ENGINE=MyISAM{$collation};");

		lastvisit bigint(30) NOT NULL default '0',
PRIMARY KEY(sid)
) ENGINE=MyISAM{$collation};");

	



	$db->write_query("CREATE TABLE ".TABLE_PREFIX."stats (
dateline bigint(30) NOT NULL default '0',
numusers int unsigned NOT NULL default '0',

	$db->write_query("CREATE TABLE ".TABLE_PREFIX."stats (
dateline bigint(30) NOT NULL default '0',
numusers int unsigned NOT NULL default '0',

Zeile 900Zeile 900
	$db->update_query("users", array('dst' => 0), "dst=0");
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users CHANGE dst dst INT(1) NOT NULL default '0'");
if($db->field_exists('dstcorrection', "users"))

	$db->update_query("users", array('dst' => 0), "dst=0");
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users CHANGE dst dst INT(1) NOT NULL default '0'");
if($db->field_exists('dstcorrection', "users"))

	{

	{

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP dstcorrection;");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP dstcorrection;");

	}

	}

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD dstcorrection INT(1) NOT NULL default '0' AFTER dst");

	$db->write_query("ALTER TABLE ".TABLE_PREFIX."users ADD dstcorrection INT(1) NOT NULL default '0' AFTER dst");





	$db->update_query("users", array('dstcorrection' => 2));

	$db->update_query("users", array('dstcorrection' => 2));

	



	$db->update_query("adminoptions", array('cpstyle' => ''));

	$db->update_query("adminoptions", array('cpstyle' => ''));

	



	if($db->field_exists('permsset', "adminoptions") && !$db->field_exists('permissions', "adminoptions"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."adminoptions CHANGE permsset permissions TEXT NOT NULL ");
}

	if($db->field_exists('permsset', "adminoptions") && !$db->field_exists('permissions', "adminoptions"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."adminoptions CHANGE permsset permissions TEXT NOT NULL ");
}

	



	$adminoptions = file_get_contents(INSTALL_ROOT.'resources/adminoptions.xml');
$parser = new XMLParser($adminoptions);
$parser->collapse_dups = 0;
$tree = $parser->get_tree();

	$adminoptions = file_get_contents(INSTALL_ROOT.'resources/adminoptions.xml');
$parser = new XMLParser($adminoptions);
$parser->collapse_dups = 0;
$tree = $parser->get_tree();

	



	// Fetch default permissions list
$default_permissions = array();
foreach($tree['adminoptions'][0]['user'] as $users)

	// Fetch default permissions list
$default_permissions = array();
foreach($tree['adminoptions'][0]['user'] as $users)

Zeile 936Zeile 936
			break;
}
}

			break;
}
}

	



	$convert_permissions = array(
"caneditsettings" => array(
"module" => "config",

	$convert_permissions = array(
"caneditsettings" => array(
"module" => "config",

Zeile 987Zeile 987
				"permission" => "groups",
),
"caneditaperms" => array(

				"permission" => "groups",
),
"caneditaperms" => array(

				"module" => "user",

				"module" => "user",

				"permission" => "admin_permissions",
),
"caneditutitles" => array(

				"permission" => "admin_permissions",
),
"caneditutitles" => array(

Zeile 1001Zeile 1001
		"canedithelp" => array(
"module" => "config",
"permission" => "help_documents",

		"canedithelp" => array(
"module" => "config",
"permission" => "help_documents",

			),

			),

		"caneditlangs" => array(
"module" => "config",
"permission" => "languages",

		"caneditlangs" => array(
"module" => "config",
"permission" => "languages",

Zeile 1015Zeile 1015
				"permission" => "backupdb",
),
);

				"permission" => "backupdb",
),
);

	



	$new_permissions = $default_permissions;

	$new_permissions = $default_permissions;

	



	$query = $db->simple_select("adminoptions");
while($adminoption = $db->fetch_array($query))
{

	$query = $db->simple_select("adminoptions");
while($adminoption = $db->fetch_array($query))
{

Zeile 1027Zeile 1027
			{
continue;
}

			{
continue;
}

			



			if(array_key_exists($field, $convert_permissions))
{
// Note: old adminoptions table is still yes/no - do not change me

			if(array_key_exists($field, $convert_permissions))
{
// Note: old adminoptions table is still yes/no - do not change me

Zeile 1042Zeile 1042
				$new_permissions[$convert_permissions[$field]['module']][$convert_permissions[$field]['permission']] = $value;
}
}

				$new_permissions[$convert_permissions[$field]['module']][$convert_permissions[$field]['permission']] = $value;
}
}

		



		$db->update_query("adminoptions", array('permissions' => serialize($new_permissions)), "uid = '{$adminoption['uid']}'");

		$db->update_query("adminoptions", array('permissions' => serialize($new_permissions)), "uid = '{$adminoption['uid']}'");

		



		$new_permissions = $default_permissions;
}


		$new_permissions = $default_permissions;
}


Zeile 1053Zeile 1053
		if($db->field_exists($field, "adminoptions"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."adminoptions DROP {$field}");

		if($db->field_exists($field, "adminoptions"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."adminoptions DROP {$field}");

		}
}


		}
}


	// Set default views
if($db->field_exists('defaultviews', "adminoptions"))
{

	// Set default views
if($db->field_exists('defaultviews', "adminoptions"))
{

Zeile 1085Zeile 1085

echo "<p>Performing necessary upgrade queries..</p>";
flush();


echo "<p>Performing necessary upgrade queries..</p>";
flush();

	



	$db->drop_table("templategroups");
$db->write_query("CREATE TABLE ".TABLE_PREFIX."templategroups (
gid int unsigned NOT NULL auto_increment,

	$db->drop_table("templategroups");
$db->write_query("CREATE TABLE ".TABLE_PREFIX."templategroups (
gid int unsigned NOT NULL auto_increment,

Zeile 1093Zeile 1093
		title varchar(100) NOT NULL default '',
PRIMARY KEY (gid)
) ENGINE=MyISAM{$collation};");

		title varchar(100) NOT NULL default '',
PRIMARY KEY (gid)
) ENGINE=MyISAM{$collation};");

	



	$db->write_query("INSERT INTO ".TABLE_PREFIX."templategroups (gid,prefix,title) VALUES ('1','calendar','<lang:group_calendar>');");
$db->write_query("INSERT INTO ".TABLE_PREFIX."templategroups (gid,prefix,title) VALUES ('2','editpost','<lang:group_editpost>');");
$db->write_query("INSERT INTO ".TABLE_PREFIX."templategroups (gid,prefix,title) VALUES ('3','forumbit','<lang:group_forumbit>');");

	$db->write_query("INSERT INTO ".TABLE_PREFIX."templategroups (gid,prefix,title) VALUES ('1','calendar','<lang:group_calendar>');");
$db->write_query("INSERT INTO ".TABLE_PREFIX."templategroups (gid,prefix,title) VALUES ('2','editpost','<lang:group_editpost>');");
$db->write_query("INSERT INTO ".TABLE_PREFIX."templategroups (gid,prefix,title) VALUES ('3','forumbit','<lang:group_forumbit>');");

Zeile 1142Zeile 1142
			$index = $ukey;
break;
}

			$index = $ukey;
break;
}

	}

	}

	if($index)
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP KEY username");

	if($index)
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."users DROP KEY username");

Zeile 1154Zeile 1154
		$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages DROP statustime;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages ADD statustime bigint(30) NOT NULL default '0' AFTER status");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages DROP statustime;");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."privatemessages ADD statustime bigint(30) NOT NULL default '0' AFTER status");

	



	$collation = $db->build_create_table_collation();

	$collation = $db->build_create_table_collation();

	



	$db->drop_table("calendars");
$db->drop_table("calendarpermissions");
$db->drop_table("forumsread");
$db->drop_table("adminviews");
$db->drop_table("threadviews");

	$db->drop_table("calendars");
$db->drop_table("calendarpermissions");
$db->drop_table("forumsread");
$db->drop_table("adminviews");
$db->drop_table("threadviews");

	



	$db->write_query("CREATE TABLE ".TABLE_PREFIX."threadviews (
tid int unsigned NOT NULL default '0'
) ENGINE=MyISAM{$collation};");

	$db->write_query("CREATE TABLE ".TABLE_PREFIX."threadviews (
tid int unsigned NOT NULL default '0'
) ENGINE=MyISAM{$collation};");

Zeile 1275Zeile 1275
		$db->insert_query("adminviews", $new_view);
$view_count++;
}

		$db->insert_query("adminviews", $new_view);
$view_count++;
}

	



	$avatardimensions = str_replace('x', '|', my_strtolower($mybb->settings['postmaxavatarsize']));

	$avatardimensions = str_replace('x', '|', my_strtolower($mybb->settings['postmaxavatarsize']));

	



	$db->simple_select("users", "uid", "avatar != '' AND avatardimensions = ''");
while($user = $db->fetch_array($query))
{

	$db->simple_select("users", "uid", "avatar != '' AND avatardimensions = ''");
while($user = $db->fetch_array($query))
{

Zeile 1287Zeile 1287
	$contents = "Done</p>";
$contents .= "<p>Click next to continue with the upgrade process.</p>";
$output->print_contents($contents);

	$contents = "Done</p>";
$contents .= "<p>Click next to continue with the upgrade process.</p>";
$output->print_contents($contents);





	global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";

	global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";





	$output->print_footer("12_redoconfig");
}

function upgrade12_redoconfig()
{
global $db, $output, $orig_config, $mybb;

	$output->print_footer("12_redoconfig");
}

function upgrade12_redoconfig()
{
global $db, $output, $orig_config, $mybb;

	



	$config = $orig_config;

	$config = $orig_config;

	



	$output->print_header("Rewriting config.php");

if(!is_array($config['database']))
{
// Backup our old Config file
@copy(MYBB_ROOT."inc/config.php", MYBB_ROOT."inc/config.backup.php");

	$output->print_header("Rewriting config.php");

if(!is_array($config['database']))
{
// Backup our old Config file
@copy(MYBB_ROOT."inc/config.php", MYBB_ROOT."inc/config.backup.php");

		



		$fh = @fopen(MYBB_ROOT."inc/config.php", "w");
if(!$fh)

		$fh = @fopen(MYBB_ROOT."inc/config.php", "w");
if(!$fh)

		{

		{

			echo "<p><span style=\"color: red; font-weight: bold;\">Unable to open inc/config.php</span><br />Before the upgrade process can continue, you need to changes the permissions of inc/config.php so it is writable.</p>";
$output->print_footer("12_redoconfig");
exit;

			echo "<p><span style=\"color: red; font-weight: bold;\">Unable to open inc/config.php</span><br />Before the upgrade process can continue, you need to changes the permissions of inc/config.php so it is writable.</p>";
$output->print_footer("12_redoconfig");
exit;

		}

		}


if(!$config['memcache_host'])
{
$config['memcache_host'] = "localhost";
}


if(!$config['memcache_host'])
{
$config['memcache_host'] = "localhost";
}

		



		if(!$config['memcache_port'])
{
$config['memcache_port'] = 11211;
}

		if(!$config['memcache_port'])
{
$config['memcache_port'] = 11211;
}

		



		$comment = "";

		$comment = "";

		



		if(!$db->db_encoding || !$config['db_encoding'])
{
$comment = " // ";
}

		if(!$db->db_encoding || !$config['db_encoding'])
{
$comment = " // ";
}

		



		if(!$config['db_encoding'])
{
$config['db_encoding'] = "utf8";
}

		if(!$config['db_encoding'])
{
$config['db_encoding'] = "utf8";
}

		





		$configdata = "<?php
/**
* Database configuration
*

		$configdata = "<?php
/**
* Database configuration
*

 * Please see the MyBB Wiki for advanced

 * Please see the MyBB Docs for advanced

 * database configuration for larger installations

 * database configuration for larger installations

 * http://wiki.mybb.com/

 * http://docs.mybb.com/

 */

\$config['database']['type'] = '{$config['dbtype']}';

 */

\$config['database']['type'] = '{$config['dbtype']}';

Zeile 1405Zeile 1405
 *  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'] = '{$config['super_admins']}';

/**
* Database Encoding


\$config['super_admins'] = '{$config['super_admins']}';

/**
* Database Encoding

 *  If you wish to set an encoding for MyBB uncomment 

 *  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

 *  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

Zeile 1453Zeile 1453
function upgrade12_dbchanges6()
{
global $db, $output;

function upgrade12_dbchanges6()
{
global $db, $output;

	



	$output->print_header("Post IP Conversion");

if(!$_POST['ipspage'])

	$output->print_header("Post IP Conversion");

if(!$_POST['ipspage'])

Zeile 1462Zeile 1462
	}
else
{

	}
else
{

		$ipp = $_POST['ipspage'];

		$ipp = (int)$_POST['ipspage'];

	}

if($_POST['ipstart'])
{

	}

if($_POST['ipstart'])
{

		$startat = $_POST['ipstart'];

		$startat = (int)$_POST['ipstart'];

		$upper = $startat+$ipp;
$lower = $startat;
}

		$upper = $startat+$ipp;
$lower = $startat;
}

Zeile 1480Zeile 1480

$query = $db->simple_select("posts", "COUNT(pid) AS ipcount");
$cnt = $db->fetch_array($query);


$query = $db->simple_select("posts", "COUNT(pid) AS ipcount");
$cnt = $db->fetch_array($query);

	



	if($upper > $cnt['ipcount'])
{
$upper = $cnt['ipcount'];

	if($upper > $cnt['ipcount'])
{
$upper = $cnt['ipcount'];

Zeile 1488Zeile 1488

echo "<p>Converting ip {$lower} to {$upper} ({$cnt['ipcount']} Total)</p>";
flush();


echo "<p>Converting ip {$lower} to {$upper} ({$cnt['ipcount']} Total)</p>";
flush();

	



	$ipaddress = false;

	$ipaddress = false;

	



	$query = $db->simple_select("posts", "ipaddress, longipaddress, pid", "", array('limit_start' => $lower, 'limit' => $ipp));
while($post = $db->fetch_array($query))
{

	$query = $db->simple_select("posts", "ipaddress, longipaddress, pid", "", array('limit_start' => $lower, 'limit' => $ipp));
while($post = $db->fetch_array($query))
{

Zeile 1500Zeile 1500
			$db->update_query("posts", array('longipaddress' => my_ip2long($post['ipaddress'])), "pid = '{$post['pid']}'");
}
$ipaddress = true;

			$db->update_query("posts", array('longipaddress' => my_ip2long($post['ipaddress'])), "pid = '{$post['pid']}'");
}
$ipaddress = true;

	}


	}


	$remaining = $upper-$cnt['ipcount'];
if($remaining && $ipaddress)
{

	$remaining = $upper-$cnt['ipcount'];
if($remaining && $ipaddress)
{

Zeile 1513Zeile 1513
	{
$nextact = "12_dbchanges7";
$contents = "<p>Done</p><p>All post ips have been converted to the new ip format. Click next to continue.</p>";

	{
$nextact = "12_dbchanges7";
$contents = "<p>Done</p><p>All post ips have been converted to the new ip format. Click next to continue.</p>";

	}
$output->print_contents($contents);

global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";


	}
$output->print_contents($contents);

global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";


	$output->print_footer($nextact);
}

function upgrade12_dbchanges7()
{
global $db, $output;

	$output->print_footer($nextact);
}

function upgrade12_dbchanges7()
{
global $db, $output;

	



	$output->print_header("User IP Conversion");

if(!$_POST['ipspage'])
{
$ipp = 5000;
}

	$output->print_header("User IP Conversion");

if(!$_POST['ipspage'])
{
$ipp = 5000;
}

	else
{
$ipp = $_POST['ipspage'];
}

	else
{
$ipp = (int)$_POST['ipspage'];
}


if($_POST['ipstart'])
{


if($_POST['ipstart'])
{

		$startat = $_POST['ipstart'];

		$startat = (int)$_POST['ipstart'];

		$upper = $startat+$ipp;
$lower = $startat;
}

		$upper = $startat+$ipp;
$lower = $startat;
}

Zeile 1547Zeile 1547
	{
$startat = 0;
$upper = $ipp;

	{
$startat = 0;
$upper = $ipp;

		$lower = 1;
}


		$lower = 1;
}


	$query = $db->simple_select("users", "COUNT(uid) AS ipcount");
$cnt = $db->fetch_array($query);

	$query = $db->simple_select("users", "COUNT(uid) AS ipcount");
$cnt = $db->fetch_array($query);

	



	if($upper > $cnt['ipcount'])
{
$upper = $cnt['ipcount'];
}

$contents .= "<p>Converting ip {$lower} to {$upper} ({$cnt['ipcount']} Total)</p>";

	if($upper > $cnt['ipcount'])
{
$upper = $cnt['ipcount'];
}

$contents .= "<p>Converting ip {$lower} to {$upper} ({$cnt['ipcount']} Total)</p>";

	



	$ipaddress = false;
$update_array = array();

	$ipaddress = false;
$update_array = array();

	



	$query = $db->simple_select("users", "regip, lastip, longlastip, longregip, uid", "", array('limit_start' => $lower, 'limit' => $ipp));
while($user = $db->fetch_array($query))
{
// Have we already converted this ip?
if(!$user['longregip'])

	$query = $db->simple_select("users", "regip, lastip, longlastip, longregip, uid", "", array('limit_start' => $lower, 'limit' => $ipp));
while($user = $db->fetch_array($query))
{
// Have we already converted this ip?
if(!$user['longregip'])

		{

		{

			$update_array['longregip'] = intval(my_ip2long($user['regip']));
}

			$update_array['longregip'] = intval(my_ip2long($user['regip']));
}

		



		if(!$user['longlastip'])

		if(!$user['longlastip'])

		{

		{

			$update_array['longlastip'] = intval(my_ip2long($user['lastip']));
}

			$update_array['longlastip'] = intval(my_ip2long($user['lastip']));
}

		



		if(!empty($update_array))
{
$db->update_query("users", $update_array, "uid = '{$user['uid']}'");
}

		if(!empty($update_array))
{
$db->update_query("users", $update_array, "uid = '{$user['uid']}'");
}

		



		$update_array = array();
$ipaddress = true;
}

		$update_array = array();
$ipaddress = true;
}

Zeile 1603Zeile 1603
	global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";


	global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";


	$output->print_footer($nextact);	

	$output->print_footer($nextact);

}

function upgrade12_dbchanges8()

}

function upgrade12_dbchanges8()

Zeile 1618Zeile 1618
	}
else
{

	}
else
{

		$epp = $_POST['eventspage'];

		$epp = (int)$_POST['eventspage'];

	}

if($_POST['eventstart'])
{

	}

if($_POST['eventstart'])
{

		$startat = $_POST['eventstart'];

		$startat = (int)$_POST['eventstart'];

		$upper = $startat+$epp;
$lower = $startat;
}

		$upper = $startat+$epp;
$lower = $startat;
}

Zeile 1636Zeile 1636

$query = $db->simple_select("events", "COUNT(eid) AS eventcount");
$cnt = $db->fetch_array($query);


$query = $db->simple_select("events", "COUNT(eid) AS eventcount");
$cnt = $db->fetch_array($query);

	



	if($upper > $cnt['eventcount'])
{
$upper = $cnt['eventcount'];

	if($upper > $cnt['eventcount'])
{
$upper = $cnt['eventcount'];

	}


	}


	$contents .= "<p>Converting events {$lower} to {$upper} ({$cnt['eventcount']} Total)</p>";

	$contents .= "<p>Converting events {$lower} to {$upper} ({$cnt['eventcount']} Total)</p>";

	



	// Just started - add fields
if(!$db->field_exists("donecon", "events"))
{
// Add temporary column
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events ADD donecon smallint(1) NOT NULL;");

	// Just started - add fields
if(!$db->field_exists("donecon", "events"))
{
// Add temporary column
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events ADD donecon smallint(1) NOT NULL;");

		



		if($db->field_exists('cid', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP cid;");

		if($db->field_exists('cid', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP cid;");

		}


		}


		if($db->field_exists('visible', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP visible;");
}

		if($db->field_exists('visible', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP visible;");
}

		



		if($db->field_exists('dateline', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP dateline;");
}

		if($db->field_exists('dateline', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP dateline;");
}

		



		if($db->field_exists('starttime', "events"))

		if($db->field_exists('starttime', "events"))

		{

		{

			$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP starttime;");
}

			$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP starttime;");
}

		



		if($db->field_exists('endtime', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP endtime;");
}

		if($db->field_exists('endtime', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP endtime;");
}

		



		if($db->field_exists('timezone', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP timezone;");
}

		if($db->field_exists('timezone', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP timezone;");
}

		



		if($db->field_exists('ignoretimezone', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP ignoretimezone;");
}

		if($db->field_exists('ignoretimezone', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP ignoretimezone;");
}

		



		if($db->field_exists('usingtime', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP usingtime;");
}

		if($db->field_exists('usingtime', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP usingtime;");
}

		



		if($db->field_exists('repeats', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP repeats;");

		if($db->field_exists('repeats', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events DROP repeats;");

		}

		}





		// Got structural changes?		

		// Got structural changes?

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."events ADD cid int unsigned NOT NULL default '0' AFTER eid");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."events ADD cid int unsigned NOT NULL default '0' AFTER eid");

		



		if($db->field_exists('author', "events") && !$db->field_exists('uid', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events CHANGE author uid int unsigned NOT NULL default '0'");
}

		if($db->field_exists('author', "events") && !$db->field_exists('uid', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events CHANGE author uid int unsigned NOT NULL default '0'");
}

		



		if($db->field_exists('subject', "events") && !$db->field_exists('name', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events CHANGE subject name varchar(120) NOT NULL default ''");

		if($db->field_exists('subject', "events") && !$db->field_exists('name', "events"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."events CHANGE subject name varchar(120) NOT NULL default ''");

Zeile 1736Zeile 1736
				"dateline" => $starttime
);
$db->update_query("events", $updated_event, "eid='{$event['eid']}'", 1);

				"dateline" => $starttime
);
$db->update_query("events", $updated_event, "eid='{$event['eid']}'", 1);

		}


		}


		$date = true;

		$date = true;

	}
else
{

	}
else
{

		$date = false;
}

		$date = false;
}

	



	$query = $db->simple_select("events", "COUNT(eid) AS remaining", "donecon!=1");

	$query = $db->simple_select("events", "COUNT(eid) AS remaining", "donecon!=1");

	$remaining = $db->fetch_field($query, "remaining");	

	$remaining = $db->fetch_field($query, "remaining");

	if($remaining && $date)
{
$nextact = "12_dbchanges8";

	if($remaining && $date)
{
$nextact = "12_dbchanges8";

Zeile 1767Zeile 1767

global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";


global $footer_extra;
$footer_extra = "<script type=\"text/javascript\">window.onload = function() { var button = $$('.submit_button'); if(button[0]) { button[0].value = 'Automatically Redirecting...'; button[0].disabled = true; button[0].style.color = '#aaa'; button[0].style.borderColor = '#aaa'; document.forms[0].submit(); }}</script>";





	$output->print_footer($nextact);
}

	$output->print_footer($nextact);
}





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

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

	



	$output->print_header("Converting themes");

if(!@is_dir(MYBB_ROOT.'cache/'))
{
@mkdir(MYBB_ROOT.'cache/', 077);

	$output->print_header("Converting themes");

if(!@is_dir(MYBB_ROOT.'cache/'))
{
@mkdir(MYBB_ROOT.'cache/', 077);

		



		// Add in empty index.html!
$fp = @fopen(MYBB_ROOT."cache/index.html", "w");
@fwrite($fp, "");

		// Add in empty index.html!
$fp = @fopen(MYBB_ROOT."cache/index.html", "w");
@fwrite($fp, "");

Zeile 1806Zeile 1806
		$output->print_footer("12_redothemes");
exit;
}

		$output->print_footer("12_redothemes");
exit;
}

	



	$not_writable = false;
if(!@is_dir(MYBB_ROOT.'cache/themes/'))
{
@mkdir(MYBB_ROOT.'cache/themes/', 077);

	$not_writable = false;
if(!@is_dir(MYBB_ROOT.'cache/themes/'))
{
@mkdir(MYBB_ROOT.'cache/themes/', 077);

		



		// Add in empty index.html!
$fp = @fopen(MYBB_ROOT."cache/themes/index.html", "w");
@fwrite($fp, "");

		// Add in empty index.html!
$fp = @fopen(MYBB_ROOT."cache/themes/index.html", "w");
@fwrite($fp, "");

Zeile 1830Zeile 1830
	  	@my_chmod(MYBB_ROOT.'cache/themes/test.write', '0777');
@unlink(MYBB_ROOT.'cache/themes/test.write');
}

	  	@my_chmod(MYBB_ROOT.'cache/themes/test.write', '0777');
@unlink(MYBB_ROOT.'cache/themes/test.write');
}

	



	if($not_writable)
{
echo "<p><span style=\"color: red; font-weight: bold;\">Unable to write to the cache/themes/ directory.</span><br />Before the upgrade process can continue you need to make sure this directory exists and is writable (chmod 777)</p>";
$output->print_footer("12_redothemes");
exit;

	if($not_writable)
{
echo "<p><span style=\"color: red; font-weight: bold;\">Unable to write to the cache/themes/ directory.</span><br />Before the upgrade process can continue you need to make sure this directory exists and is writable (chmod 777)</p>";
$output->print_footer("12_redothemes");
exit;

	}


	}


	if($db->field_exists('themebits', "themes") && !$db->field_exists('properties', "themes"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes CHANGE themebits properties text NOT NULL");
}

	if($db->field_exists('themebits', "themes") && !$db->field_exists('properties', "themes"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes CHANGE themebits properties text NOT NULL");
}

	



	if($db->field_exists('cssbits', "themes"))

	if($db->field_exists('cssbits', "themes"))

	{

	{

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes DROP cssbits");
}

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes DROP cssbits");
}

	



	if($db->field_exists('csscached', "themes"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes DROP csscached");

	if($db->field_exists('csscached', "themes"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes DROP csscached");

	}


	}


	if($db->field_exists('stylesheets', "themes"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes DROP stylesheets");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes ADD stylesheets text NOT NULL AFTER properties");

	if($db->field_exists('stylesheets', "themes"))
{
$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes DROP stylesheets");
}
$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes ADD stylesheets text NOT NULL AFTER properties");

	



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

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

Zeile 1901Zeile 1901
	$master_theme = $db->fetch_array($query);

$master_stylesheets = unserialize($master_theme['stylesheets']);

	$master_theme = $db->fetch_array($query);

$master_stylesheets = unserialize($master_theme['stylesheets']);

	



	if(is_array($master_stylesheets))
{
// Note: 1.4 only ships with one global|global stylesheet

	if(is_array($master_stylesheets))
{
// Note: 1.4 only ships with one global|global stylesheet

Zeile 1915Zeile 1915
					{
continue; // Skip global
}

					{
continue; // Skip global
}

					



					$default_stylesheets[$location][$action][] = $stylesheet;
$default_stylesheets['inherited']["{$location}_{$action}"][$stylesheet] = 1; // This stylesheet is inherited from the master
}
}
}
}

					$default_stylesheets[$location][$action][] = $stylesheet;
$default_stylesheets['inherited']["{$location}_{$action}"][$stylesheet] = 1; // This stylesheet is inherited from the master
}
}
}
}

	



	$query = $db->simple_select("themes");
while($theme = $db->fetch_array($query))
{

	$query = $db->simple_select("themes");
while($theme = $db->fetch_array($query))
{

Zeile 1930Zeile 1930
		{
continue;
}

		{
continue;
}

		



		$theme['css'] .= "\n\n".$theme['extracss'];

		$theme['css'] .= "\n\n".$theme['extracss'];

		



		$theme['css'] = upgrade_css_120_to_140($theme['css']);

		$theme['css'] = upgrade_css_120_to_140($theme['css']);

		





		// Create stylesheets
$cache_file = cache_stylesheet($theme['tid'], "global.css", $theme['css']);


		// Create stylesheets
$cache_file = cache_stylesheet($theme['tid'], "global.css", $theme['css']);


Zeile 1963Zeile 1963
		// Update the theme
$db->update_query("themes", array("stylesheets" => $db->escape_string(serialize($stylesheets))), "tid='{$theme['tid']}'");
}

		// Update the theme
$db->update_query("themes", array("stylesheets" => $db->escape_string(serialize($stylesheets))), "tid='{$theme['tid']}'");
}

	



	if($db->field_exists('css', "themes"))

	if($db->field_exists('css', "themes"))

	{

	{

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes DROP css");

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes DROP css");

	}


	}


	if($db->field_exists('extracss', "themes"))

	if($db->field_exists('extracss', "themes"))

	{

	{

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes DROP extracss");
}

		$db->write_query("ALTER TABLE ".TABLE_PREFIX."themes DROP extracss");
}

	



	// We need to replace this for our themes css to show up
// <link rel="stylesheet" type="text/css" href="{$theme['css_url']}" /> must be present in the old template (it usually is)
$query = $db->simple_select("templates", "tid,template", "title='headerinclude'");
while($template = $db->fetch_array($query))
{
$template['template'] = str_replace('<link rel="stylesheet" type="text/css" href="{$theme[\'css_url\']}" />', '{$stylesheets}', $template['template']);

	// We need to replace this for our themes css to show up
// <link rel="stylesheet" type="text/css" href="{$theme['css_url']}" /> must be present in the old template (it usually is)
$query = $db->simple_select("templates", "tid,template", "title='headerinclude'");
while($template = $db->fetch_array($query))
{
$template['template'] = str_replace('<link rel="stylesheet" type="text/css" href="{$theme[\'css_url\']}" />', '{$stylesheets}', $template['template']);

		



		$db->update_query("templates", array('template' => $db->escape_string($template['template'])), "tid='{$template['tid']}'");
}


		$db->update_query("templates", array('template' => $db->escape_string($template['template'])), "tid='{$template['tid']}'");
}