aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/admin/admin_db_utilities.php
diff options
context:
space:
mode:
authornatec <natec@users.sourceforge.net>2001-09-23 00:31:56 +0000
committernatec <natec@users.sourceforge.net>2001-09-23 00:31:56 +0000
commit2ea142d935044676b8323ffe36d7472fe77a9241 (patch)
tree72ee94c3c4da58fd0962f2978b295bfa864206ec /phpBB/admin/admin_db_utilities.php
parentfa76b507956300719968c1f4d0178a0b6059b61a (diff)
downloadforums-2ea142d935044676b8323ffe36d7472fe77a9241.tar
forums-2ea142d935044676b8323ffe36d7472fe77a9241.tar.gz
forums-2ea142d935044676b8323ffe36d7472fe77a9241.tar.bz2
forums-2ea142d935044676b8323ffe36d7472fe77a9241.tar.xz
forums-2ea142d935044676b8323ffe36d7472fe77a9241.zip
Improved the performance of remove_remarks() by an order of magnitude.
git-svn-id: file:///svn/phpbb/trunk@1063 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/admin/admin_db_utilities.php')
-rw-r--r--phpBB/admin/admin_db_utilities.php26
1 files changed, 14 insertions, 12 deletions
diff --git a/phpBB/admin/admin_db_utilities.php b/phpBB/admin/admin_db_utilities.php
index 6fb633dbe0..9133242531 100644
--- a/phpBB/admin/admin_db_utilities.php
+++ b/phpBB/admin/admin_db_utilities.php
@@ -659,25 +659,27 @@ function output_table_content($content)
//
function remove_remarks($sql)
{
- $i = 0;
+ $lines = explode("\n", $sql);
+ $linecount = count($lines);
+ $output = "";
- while($i < strlen($sql))
+ for ($i = 0; $i < $linecount; $i++)
{
- if( $sql[$i] == "#" && ( $sql[$i-1] == "\n" || $i==0 ) )
+ if (($i != ($linecount - 1)) || (strlen($lines[$i]) > 0))
{
- $j = 1;
-
- while( $sql[$i + $j] != "\n" )
+ if ($lines[$i][0] != "#")
+ {
+ $output .= $lines[$i] . "\n";
+ }
+ else
{
- $j++;
+ $output .= "\n";
}
- $sql = substr($sql,0,$i) . substr($sql,$i+$j);
}
- $i++;
}
-
- return($sql);
-
+
+ return $output;
+
}
//