diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php index f64bddceee..9c825a72b0 100755 --- a/phpBB/install/install_install.php +++ b/phpBB/install/install_install.php @@ -981,6 +981,11 @@ class install_install extends module { $sql_query = preg_replace('/^\);$/m', ') DEFAULT CHARACTER SET latin1;', $sql_query); } + else + { + // versions older than 4.1.2 never had a good, working varbinary. TINYBLOB is just as good. + $sql_query = str_replace(array("varbinary(255) DEFAULT ''", 'varbinary(255) DEFAULT 0x90D8'), "TINYBLOB DEFAULT ''", $sql_query); + } break; @@ -1011,9 +1016,25 @@ class install_install extends module // Ok tables have been built, let's fill in the basic information $sql_query = file_get_contents('schemas/schema_data.sql'); - // Deal with any special comments + // Deal with any special comments and with MySQL < 4.1.2 switch ($dbms) { + case 'mysql': + case 'mysql4': + if (version_compare(mysql_get_server_info(), '4.1.2', '<')) + { + $bitfield = new bitfield(); + $bitfield->set(0); + $bitfield->set(3); + $bitfield->set(8); + $bitfield->set(9); + $bitfield->set(11); + $bitfield->set(12); + + $sql_query = str_replace("INSERT INTO phpbb_styles_template (template_name, template_copyright, template_path) VALUES ('subSilver', '© phpBB Group', 'subSilver');", "INSERT INTO phpbb_styles_template (template_name, template_copyright, template_path, bbcode_bitfield) VALUES ('subSilver', '© phpBB Group', 'subSilver', '" . $bitfield->data . "');", $sql_query); + } + break; + case 'mssql': case 'mssql_odbc': $sql_query = preg_replace('#\# MSSQL IDENTITY (phpbb_[a-z_]+) (ON|OFF) \##s', 'SET IDENTITY_INSERT \1 \2;', $sql_query);