From 1871f5e2c0e5c667e4b9b11a316f0db64d728693 Mon Sep 17 00:00:00 2001 From: the_systech Date: Mon, 24 Sep 2001 17:26:36 +0000 Subject: Seperated out sql parsing functions into a new file. git-svn-id: file:///svn/phpbb/trunk@1069 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/sql_parse.php | 115 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 phpBB/includes/sql_parse.php (limited to 'phpBB/includes/sql_parse.php') diff --git a/phpBB/includes/sql_parse.php b/phpBB/includes/sql_parse.php new file mode 100644 index 0000000000..cc94437762 --- /dev/null +++ b/phpBB/includes/sql_parse.php @@ -0,0 +1,115 @@ + 0)) + { + if ($lines[$i][0] != "#") + { + $output .= $lines[$i] . "\n"; + } + else + { + $output .= "\n"; + } + // Trading a bit of speed for lower mem. use here. + $lines[$i] = ""; + } + } + + return $output; + +} + +// +// split_sql_file will split an uploaded sql file into single sql statements. +// Note: expects trim() to have already been run on $sql. +// +function split_sql_file($sql, $delimiter) +{ + // Split up our string into "possible" SQL statements. + $tokens = explode($delimiter, $sql); + // try to save memory. + $sql = ""; + $output = array(); + + // we don't actually care about the matches preg gives us. + $matches = array(); + + // this is faster than calling count($oktens) every time thru the loop. + $token_count = count($tokens); + for ($i = 0; $i < $token_count; $i++) + { + // Don't wanna add an empty string as the last thing in the array. + if (($i != ($token_count - 1)) || (strlen($tokens[$i] > 0))) + { + // This is the total number of single quotes in the token. + $total_quotes = preg_match_all("/'/", $tokens[$i], $matches); + // Counts single quotes that are preceded by an odd number of backslashes, + // which means they're escaped quotes. + $escaped_quotes = preg_match_all("/(? -- cgit v1.2.1