aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/update_to_RC3.php
blob: c4cd74f2bc3dce123f89db056f4eb26f00cf2d9d (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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<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 " . TOPICS_TABLE . "  
			ADD COLUMN topic_first_post_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, 
			ADD INDEX (topic_first_post_id)";
		break;

	case 'postgresql':
		$sql[] = "ALTER TABLE " . TOPICS_TABLE . " 
			ADD COLUMN topic_first_post_id int4";
		$sql[] = "CREATE INDEX topic_first_post_id_" . $table_prefix . "topics_index 
			ON " . TOPICS_TABLE . " (topic_first_post_id)";
		break;

	case 'mssql-odbc':
	case 'mssql':
		$sql[] = "ALTER TABLE " . TOPICS_TABLE . " ADD 
			topic_first_post_id int NOT NULL, 
			CONSTRAINT [DF_" . $table_prefix . "topics_topic_first_post_id] DEFAULT (0) FOR [topic_first_post_id]";
		$sql[] = "CREATE INDEX [IX_" . $table_prefix . "topics] 
			ON [" . TOPICS_TABLE . "]([topic_first_post_id]) ON [PRIMARY]";
		break;

	case 'msaccess':
		$sql[] = "ALTER TABLE " . TOPICS_TABLE . " ADD 
			topic_first_post_id int NOT NULL";
		$sql[] = "CREATE INDEX topic_first_post_id 
			ON " . TOPICS_TABLE . " (topic_first_post_id)";
		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
{

	$sql = "SELECT themes_id 
		FROM " . THEMES_TABLE . " 
		WHERE template_name = 'subSilver'";
	if( !($result = $db->sql_query($sql)) )
	{
		die("Couldn't obtain subSilver id");
	}

	if( $row = $db->sql_fetchrow($result) )
	{
		$theme_id = $row['themes_id'];

		$sql = "UPDATE " . THEMES_TABLE . " 
			SET head_stylesheet = '', body_background = '', body_bgcolor = 'E5E5E5', body_text = '000000', body_link = '006699', body_vlink = '5493B4', body_alink = '', body_hlink = 'DD6900', tr_color1 = 'EFEFEF', tr_color2 = 'DEE3E7', tr_color3 = 'D1D7DC', tr_class1 = '', tr_class2 = '', tr_class3 = '', th_color1 = '98AAB1', th_color2 = '006699', th_color3 = 'FFFFFF', th_class1 = 'cellpic1.gif', th_class2 = 'cellpic3.gif', th_class3 = 'cellpic2.jpg', td_color1 = 'FAFAFA', td_color2 = 'FFFFFF', td_color3 = '', td_class1 = 'row1', td_class2 = 'row2', td_class3 = '', fontface1 = 'Verdana, Arial, Helvetica, sans-serif', fontface2 = 'Trebuchet MS', fontface3 = 'Courier, \'Courier New\', sans-serif', fontsize1 = 10, fontsize2 = 11, fontsize3 = 12, fontcolor1 = '444444', fontcolor2 = '006600', fontcolor3 = 'FFA34F', span_class1 = '', span_class2 = '', span_class3 = ''";
		if ( !($result = $db->sql_query($sql)) )
		{
			die("Couldn't update subSilver theme");
		}

		$sql = "INSERT INTO " . THEMES_NAME_TABLE . " (themes_id, tr_color1_name, tr_color2_name, tr_color3_name, tr_class1_name, tr_class2_name, tr_class3_name, th_color1_name, th_color2_name, th_color3_name, th_class1_name, th_class2_name, th_class3_name, td_color1_name, td_color2_name, td_color3_name, td_class1_name, td_class2_name, td_class3_name, fontface1_name, fontface2_name, fontface3_name, fontsize1_name, fontsize2_name, fontsize3_name, fontcolor1_name, fontcolor2_name, fontcolor3_name, span_class1_name, span_class2_name, span_class3_name) 
			VALUES ($theme_id, 'The lightest row colour', 'The medium row color', 'The darkest row colour', '', '', '', 'Border round the whole page', 'Outer table border', 'Inner table border', 'Silver gradient picture', 'Blue gradient picture', 'Fade-out gradient on index', 'Background for quote boxes', 'All white areas', '', 'Background for topic posts', '2nd background for topic posts', '', 'Main fonts', 'Additional topic title font', 'Form fonts', 'Smallest font size', 'Medium font size', 'Normal font size (post body etc)', 'Quote & copyright text', 'Code text colour', 'Main table header text colour', '', '', '')";
		if ( !($result = $db->sql_query($sql)) )
		{
			echo "WARNING >> Couldn't insert subSilver name info";
		}
	}

	$sql = "SELECT post_id, topic_id  
		FROM " . POSTS_TABLE . " 
		GROUP BY topic_id ASC
		ORDER BY post_id ASC";
	if ( !($result = $db->sql_query($sql)) )
	{
		die("Couldn't obtain first post id list");
	}

	if ( $row = $db->sql_fetchrow($result) )
	{
		do
		{
			$post_id = $row['post_id'];
			$topic_id = $row['topic_id'];

			$sql = "UPDATE " . TOPICS_TABLE . " 
				SET topic_first_post_id = $post_id 
				WHERE topic_id = $topic_id";
			if ( !$db->sql_query($sql) )
			{
				die("Couldn't update topic first post id in topic :: $topic_id");
			}
		}
		while ( $row = $db->sql_fetchrow($result) );
	}
	
	echo "\n<br /><br />\nCOMPLETE! Please delete this file before continuing!<br />\n";
}

?>
</body>
</html>