diff --git a/html/ops/bbcode_convert.php b/html/ops/bbcode_convert.php index c8a2ff4e0a..c1679090e0 100644 --- a/html/ops/bbcode_convert.php +++ b/html/ops/bbcode_convert.php @@ -59,6 +59,8 @@ function formatting_as_bb($text){ $in[]="
";$out[]="[pre]";
     $in[]="
";$out[]="[/pre]"; + $in[]="
";$out[]="\n"; + $in[]="
";$out[]="\n"; $in[]="
";$out[]="\n"; $in[]=">";$out[]=">"; $in[]="<";$out[]="<"; diff --git a/html/ops/bbcode_convert_response1.php b/html/ops/bbcode_convert_response1.php new file mode 100644 index 0000000000..9c5d891068 --- /dev/null +++ b/html/ops/bbcode_convert_response1.php @@ -0,0 +1,122 @@ +^"]+)\"([^>]*)>@si'; + $replacement = '[img]$2[/img]'; + $text = preg_replace($pattern, $replacement, $text); + + $pattern = "@]*)>@si"; + $replacement = '[img]$2[/img]'; + $text = preg_replace($pattern, $replacement, $text); + + return $text; +} + +function link_as_bb($text){ + /* This function depends on sanitized HTML */ + // Build some regex (should be a *lot* faster) + $pattern = '@]+)\">@si'; // Gives us the URL in $1... + $replacement = '[url=$1]'; // Turns that URL into a hyperlink + $text = preg_replace($pattern, $replacement, $text); + $pattern = "@@si"; // Gives us the URL in $1... + $replacement = '[url=$1]'; // Turns that URL into a hyperlink + $text = preg_replace($pattern, $replacement, $text); + + $pattern = "@@si"; + $replacement = '[/url]'; + $text = preg_replace($pattern, $replacement, $text); + return $text; +} + +function formatting_as_bb($text){ + /* This function depends on sanitized HTML */ + $in[]="";$out[]="[b]"; + $in[]="";$out[]="[/b]"; + + $in[]="";$out[]="[i]"; + $in[]="";$out[]="[/i]"; + + $in[]="";$out[]="[u]"; + $in[]="";$out[]="[/u]"; + + $in[]="";$out[]="[b]"; + $in[]="";$out[]="[/b]"; + + $in[]="";$out[]="[/list]"; + + $in[]="
    ";$out[]="[list=1]"; + $in[]="
";$out[]="[/list]"; + + $in[]="
";$out[]="[pre]";
+    $in[]="
";$out[]="[/pre]"; + + $in[]="
";$out[]="\n"; + $in[]="
";$out[]="\n"; + $in[]="
";$out[]="\n"; + $in[]=">";$out[]=">"; + $in[]="<";$out[]="<"; + $in[]="&";$out[]="&"; + + return str_replace($in, $out, $text); +} + +function fix_text($text) { + $text = sanitize_html($text); + $text = image_as_bb($text); + $text = link_as_bb($text); + $text = formatting_as_bb($text); + return $text; +} + +function fix_profile($profile) { + $text = fix_text($profile->response1); + if ($text != $profile->response1) { + $query = "update profile set response1 = '".mysql_escape_string($text)."' where userid=".$profile->userid; + //echo "$profile->response1\n\n"; + //echo "$profile->thread $query\n\n"; + $retval = mysql_query($query); + if (!$retval) { + echo mysql_error(); + exit(); + } + } +} + +function fix_profiles() { + $start_id = 0; //Set this to something else if you like + $profiles = mysql_query("select * from profile where userid>$start_id order by userid"); + echo mysql_error(); + $i=0; + while ($profile = mysql_fetch_object($profiles)){ + $i++; + if ($i%100 == 0) { //For every 100 profiles + echo $profile->userid.". "; flush(); // print out where we are + //usleep(200000); + } + + if ($profile->userid > $start_id){ + fix_profile($profile); + } + } +} + +// use this to patch problem cases; hand-edit +function fix_fix() { + $profiles = mysql_query("select * from profile where id=99"); + $profile = mysql_fetch_object($profiles); + fix_profile($profile); +} + +fix_profiles(); +//fix_fix(); + +?> diff --git a/html/ops/bbcode_convert_response2.php b/html/ops/bbcode_convert_response2.php new file mode 100644 index 0000000000..032ea00dd6 --- /dev/null +++ b/html/ops/bbcode_convert_response2.php @@ -0,0 +1,122 @@ +^"]+)\"([^>]*)>@si'; + $replacement = '[img]$2[/img]'; + $text = preg_replace($pattern, $replacement, $text); + + $pattern = "@]*)>@si"; + $replacement = '[img]$2[/img]'; + $text = preg_replace($pattern, $replacement, $text); + + return $text; +} + +function link_as_bb($text){ + /* This function depends on sanitized HTML */ + // Build some regex (should be a *lot* faster) + $pattern = '@]+)\">@si'; // Gives us the URL in $1... + $replacement = '[url=$1]'; // Turns that URL into a hyperlink + $text = preg_replace($pattern, $replacement, $text); + $pattern = "@@si"; // Gives us the URL in $1... + $replacement = '[url=$1]'; // Turns that URL into a hyperlink + $text = preg_replace($pattern, $replacement, $text); + + $pattern = "@@si"; + $replacement = '[/url]'; + $text = preg_replace($pattern, $replacement, $text); + return $text; +} + +function formatting_as_bb($text){ + /* This function depends on sanitized HTML */ + $in[]="";$out[]="[b]"; + $in[]="";$out[]="[/b]"; + + $in[]="";$out[]="[i]"; + $in[]="";$out[]="[/i]"; + + $in[]="";$out[]="[u]"; + $in[]="";$out[]="[/u]"; + + $in[]="";$out[]="[b]"; + $in[]="";$out[]="[/b]"; + + $in[]="";$out[]="[/list]"; + + $in[]="
    ";$out[]="[list=1]"; + $in[]="
";$out[]="[/list]"; + + $in[]="
";$out[]="[pre]";
+    $in[]="
";$out[]="[/pre]"; + + $in[]="
";$out[]="\n"; + $in[]="
";$out[]="\n"; + $in[]="
";$out[]="\n"; + $in[]=">";$out[]=">"; + $in[]="<";$out[]="<"; + $in[]="&";$out[]="&"; + + return str_replace($in, $out, $text); +} + +function fix_text($text) { + $text = sanitize_html($text); + $text = image_as_bb($text); + $text = link_as_bb($text); + $text = formatting_as_bb($text); + return $text; +} + +function fix_profile($profile) { + $text = fix_text($profile->response2); + if ($text != $profile->response2) { + $query = "update profile set response2 = '".mysql_escape_string($text)."' where userid=".$profile->userid; + //echo "$profile->response2\n\n"; + //echo "$profile->thread $query\n\n"; + $retval = mysql_query($query); + if (!$retval) { + echo mysql_error(); + exit(); + } + } +} + +function fix_profiles() { + $start_id = 0; //Set this to something else if you like + $profiles = mysql_query("select * from profile where userid>$start_id order by userid"); + echo mysql_error(); + $i=0; + while ($profile = mysql_fetch_object($profiles)){ + $i++; + if ($i%100 == 0) { //For every 100 profiles + echo $profile->userid.". "; flush(); // print out where we are + //usleep(200000); + } + + if ($profile->userid > $start_id){ + fix_profile($profile); + } + } +} + +// use this to patch problem cases; hand-edit +function fix_fix() { + $profiles = mysql_query("select * from profile where id=99"); + $profile = mysql_fetch_object($profiles); + fix_profile($profile); +} + +fix_profiles(); +//fix_fix(); + +?> diff --git a/html/ops/bbcode_convert_signature.php b/html/ops/bbcode_convert_signature.php new file mode 100644 index 0000000000..40caddbcd9 --- /dev/null +++ b/html/ops/bbcode_convert_signature.php @@ -0,0 +1,122 @@ +^"]+)\"([^>]*)>@si'; + $replacement = '[img]$2[/img]'; + $text = preg_replace($pattern, $replacement, $text); + + $pattern = "@]*)>@si"; + $replacement = '[img]$2[/img]'; + $text = preg_replace($pattern, $replacement, $text); + + return $text; +} + +function link_as_bb($text){ + /* This function depends on sanitized HTML */ + // Build some regex (should be a *lot* faster) + $pattern = '@]+)\">@si'; // Gives us the URL in $1... + $replacement = '[url=$1]'; // Turns that URL into a hyperlink + $text = preg_replace($pattern, $replacement, $text); + $pattern = "@@si"; // Gives us the URL in $1... + $replacement = '[url=$1]'; // Turns that URL into a hyperlink + $text = preg_replace($pattern, $replacement, $text); + + $pattern = "@@si"; + $replacement = '[/url]'; + $text = preg_replace($pattern, $replacement, $text); + return $text; +} + +function formatting_as_bb($text){ + /* This function depends on sanitized HTML */ + $in[]="";$out[]="[b]"; + $in[]="";$out[]="[/b]"; + + $in[]="";$out[]="[i]"; + $in[]="";$out[]="[/i]"; + + $in[]="";$out[]="[u]"; + $in[]="";$out[]="[/u]"; + + $in[]="";$out[]="[b]"; + $in[]="";$out[]="[/b]"; + + $in[]="
    ";$out[]="[list]"; + $in[]="
";$out[]="[/list]"; + + $in[]="
    ";$out[]="[list=1]"; + $in[]="
";$out[]="[/list]"; + + $in[]="
";$out[]="[pre]";
+    $in[]="
";$out[]="[/pre]"; + + $in[]="
";$out[]="\n"; + $in[]="
";$out[]="\n"; + $in[]="
";$out[]="\n"; + $in[]=">";$out[]=">"; + $in[]="<";$out[]="<"; + $in[]="&";$out[]="&"; + + return str_replace($in, $out, $text); +} + +function fix_text($text) { + $text = sanitize_html($text); + $text = image_as_bb($text); + $text = link_as_bb($text); + $text = formatting_as_bb($text); + return $text; +} + +function fix_forum_preferences($forum_preferences) { + $text = fix_text($forum_preferences->signature); + if ($text != $forum_preferences->signature) { + $query = "update forum_preferences set signature = '".mysql_escape_string($text)."' where userid=".$forum_preferences->userid; + //echo "$forum_preferences->signature\n\n"; + //echo "$forum_preferences->thread $query\n\n"; + $retval = mysql_query($query); + if (!$retval) { + echo mysql_error(); + exit(); + } + } +} + +function fix_forum_preferencess() { + $start_id = 0; //Set this to something else if you like + $forum_preferencess = mysql_query("select * from forum_preferences where userid>$start_id order by userid"); + echo mysql_error(); + $i=0; + while ($forum_preferences = mysql_fetch_object($forum_preferencess)){ + $i++; + if ($i%100 == 0) { //For every 100 forum_preferencess + echo $forum_preferences->userid.". "; flush(); // print out where we are + //usleep(200000); + } + + if ($forum_preferences->userid > $start_id){ + fix_forum_preferences($forum_preferences); + } + } +} + +// use this to patch problem cases; hand-edit +function fix_fix() { + $forum_preferencess = mysql_query("select * from forum_preferences where id=99"); + $forum_preferences = mysql_fetch_object($forum_preferencess); + fix_forum_preferences($forum_preferences); +} + +fix_forum_preferencess(); +//fix_fix(); + +?>