aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/update_to_RC1.php
blob: 96830b5241aa14a75f7ae2749575d598a72eaec6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<html>
<body>
<?php

$phpbb_root_path = "./";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$sql = array();

switch(SQL_LAYER)
{
	case 'mysql':
	case 'mysql4':
		$sql[] = "ALTER TABLE " . USERS_TABLE . " 
			ADD COLUMN user_session_time int(11) DEFAULT '0' NOT NULL, 
			ADD COLUMN user_session_page smallint(5) DEFAULT '0' NOT NULL, 
			ADD INDEX (user_session_time)";
		$sql[] = "ALTER TABLE " . SEARCH_TABLE . " 
			MODIFY search_id int(11) NOT NULL";
		$sql[] = "ALTER TABLE " . TOPICS_TABLE . " 
			MODIFY topic_moved_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL";
		$sql[] = "UPDATE " . THEMES_TABLE . " 
			SET head_stylesheet = 'subSilver.css' 
			WHERE template_name = 'subSilver'";
		break;

	case 'postgresql':
		$sql[] = "ALTER TABLE " . USERS_TABLE . " 
			ADD COLUMN user_session_time int4";
		$sql[] = "ALTER TABLE " . USERS_TABLE . " 
			ADD COLUMN user_session_page int2";
		$sql[] = "ALTER TABLE " . USERS_TABLE . " 
			ALTER COLUMN user_session_time SET DEFAULT '0'";
		$sql[] = "ALTER TABLE " . USERS_TABLE . " 
			ALTER COLUMN user_session_page SET DEFAULT '0'";
		$sql[] = "CREATE INDEX user_session_time_" . $table_prefix . "users_index 
			ON " . USERS_TABLE . " (user_session_time)";
		$sql[] = "UPDATE " . THEMES_TABLE . " 
			SET head_stylesheet = 'subSilver.css' 
			WHERE template_name = 'subSilver'";
		break;

	case 'mssql-odbc':
	case 'mssql':
		$sql[] = "ALTER TABLE " . USERS_TABLE . " ADD 
			user_session_time int NOT NULL, 
			user_session_page smallint NOT NULL, 
			CONSTRAINT [DF_" . $table_prefix . "users_user_session_time] DEFAULT (0) FOR [user_session_time],
			CONSTRAINT [DF_" . $table_prefix . "users_user_session_page] DEFAULT (0) FOR [user_session_page]";
		$sql[] = "CREATE INDEX [IX_" . $table_prefix . "users] 
			ON [" . USERS_TABLE . "]([user_session_time]) ON [PRIMARY]";
		$sql[] = "UPDATE " . THEMES_TABLE . " 
			SET head_stylesheet = 'subSilver.css' 
			WHERE template_name = 'subSilver'";
		break;

	case 'msaccess':
		$sql[] = "ALTER TABLE " . USERS_TABLE . " ADD 
			user_session_time int NOT NULL, 
			user_session_page smallint NOT NULL";
		$sql[] = "CREATE INDEX user_session_time 
			ON " . USERS_TABLE . " (user_session_time)";
		$sql[] = "UPDATE " . THEMES_TABLE . " 
			SET head_stylesheet = 'subSilver.css' 
			WHERE template_name = 'subSilver'";
		break;

	default:
		die("No DB LAYER found!");
		break;
}

	$errored = false;
	for($i = 0; $i < count($sql); $i++)
	{
		echo "Running >>> " . $sql[$i];

		$result = $db->sql_query($sql[$i]);

		if( !$result )
		{
			$errored = true;
			$error = $db->sql_error();
			echo " :: <b>FAILED</b> <u>( " . $error['message'] . " )</u><br /><br />\n\n";
		}
		else
		{
			echo " :: <b>COMPLETED</b><br /><br />\n\n";
		}
	}

	if( $errored )
	{
		echo "\n<br /><br />Errors occured! Please check and correct issues as required<br />\n";
	}
	else
	{
		echo "\n<br /><br />\nCOMPLETE! Please delete this file before continuing!<br />\n";
	}

?>
</body>
</html>