diff options
Diffstat (limited to 'phpBB/includes/functions_install.php')
| -rw-r--r-- | phpBB/includes/functions_install.php | 42 | 
1 files changed, 37 insertions, 5 deletions
| diff --git a/phpBB/includes/functions_install.php b/phpBB/includes/functions_install.php index 50af8fe019..80f2bf940d 100644 --- a/phpBB/includes/functions_install.php +++ b/phpBB/includes/functions_install.php @@ -49,6 +49,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false, $only_20  			'SCHEMA'		=> 'firebird',  			'MODULE'		=> 'interbase',  			'DELIM'			=> ';;', +			'COMMENTS'		=> 'remove_remarks',  			'DRIVER'		=> 'firebird',  			'AVAILABLE'		=> true,  			'2.0.x'			=> false, @@ -58,6 +59,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false, $only_20  			'SCHEMA'		=> 'mysql_41',  			'MODULE'		=> 'mysqli',  			'DELIM'			=> ';', +			'COMMENTS'		=> 'remove_remarks',  			'DRIVER'		=> 'mysqli',  			'AVAILABLE'		=> true,  			'2.0.x'			=> true, @@ -67,6 +69,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false, $only_20  			'SCHEMA'		=> 'mysql',  			'MODULE'		=> 'mysql',  			'DELIM'			=> ';', +			'COMMENTS'		=> 'remove_remarks',  			'DRIVER'		=> 'mysql',  			'AVAILABLE'		=> true,  			'2.0.x'			=> true, @@ -76,6 +79,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false, $only_20  			'SCHEMA'		=> 'mssql',  			'MODULE'		=> 'mssql',  			'DELIM'			=> 'GO', +			'COMMENTS'		=> 'remove_comments',  			'DRIVER'		=> 'mssql',  			'AVAILABLE'		=> true,  			'2.0.x'			=> true, @@ -85,6 +89,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false, $only_20  			'SCHEMA'		=> 'mssql',  			'MODULE'		=> 'odbc',  			'DELIM'			=> 'GO', +			'COMMENTS'		=> 'remove_comments',  			'DRIVER'		=> 'mssql_odbc',  			'AVAILABLE'		=> true,  			'2.0.x'			=> true, @@ -94,6 +99,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false, $only_20  			'SCHEMA'		=> 'mssql',  			'MODULE'		=> 'sqlsrv',  			'DELIM'			=> 'GO', +			'COMMENTS'		=> 'remove_comments',  			'DRIVER'		=> 'mssqlnative',  			'AVAILABLE'		=> true,  			'2.0.x'			=> false, @@ -103,6 +109,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false, $only_20  			'SCHEMA'		=> 'oracle',  			'MODULE'		=> 'oci8',  			'DELIM'			=> '/', +			'COMMENTS'		=> 'remove_comments',  			'DRIVER'		=> 'oracle',  			'AVAILABLE'		=> true,  			'2.0.x'			=> false, @@ -112,6 +119,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false, $only_20  			'SCHEMA'		=> 'postgres',  			'MODULE'		=> 'pgsql',  			'DELIM'			=> ';', +			'COMMENTS'		=> 'remove_comments',  			'DRIVER'		=> 'postgres',  			'AVAILABLE'		=> true,  			'2.0.x'			=> true, @@ -121,6 +129,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false, $only_20  			'SCHEMA'		=> 'sqlite',  			'MODULE'		=> 'sqlite',  			'DELIM'			=> ';', +			'COMMENTS'		=> 'remove_remarks',  			'DRIVER'		=> 'sqlite',  			'AVAILABLE'		=> true,  			'2.0.x'			=> false, @@ -464,16 +473,39 @@ function connect_check_db($error_connect, &$error, $dbms_details, $table_prefix,  /**  * Removes comments from schema files +* +* @deprecated		Use phpbb_remove_comments() instead.  */ -function remove_comments($sql) +function remove_remarks(&$sql)  { -	// Remove /* */ comments (http://ostermiller.org/findcomment.html) -	$sql = preg_replace('#/\*(.|[\r\n])*?\*/#', "\n", $sql); -  	// Remove # style comments  	$sql = preg_replace('/\n{2,}/', "\n", preg_replace('/^#.*$/m', "\n", $sql)); -	return $sql; +	// Return by reference +} + +/** +* Removes "/* style" as well as "# style" comments from $input. +* +* @param string $input		Input string +* +* @return string			Input string with comments removed +*/ +function phpbb_remove_comments($input) +{ +	if (!function_exists('remove_comments')) +	{ +		global $phpbb_root_path, $phpEx; +		require($phpbb_root_path . 'includes/functions_admin.' . $phpEx); +	} + +	// Remove /* */ comments +	remove_comments($input); + +	// Remove # style comments +	remove_remarks($input); + +	return $input;  }  /** | 
