diff --git a/docs/upgrades/upgrade_5.2.6-5.3.0.pl b/docs/upgrades/upgrade_5.2.6-5.3.0.pl
index 09353c1ce..ee71235cb 100644
--- a/docs/upgrades/upgrade_5.2.6-5.3.0.pl
+++ b/docs/upgrades/upgrade_5.2.6-5.3.0.pl
@@ -19,7 +19,7 @@ GetOptions(
print "\tUpdating config file.\n" unless ($quiet);
-my $pathToConfig = '../../etc/'.$configFile;
+my $pathToConfig = '../../etc/'.$configFile; print"debug:$pathToConfig\n";
my $conf = Parse::PlainConfig->new('DELIM' => '=', 'FILE' => $pathToConfig);
my $macros = $conf->get("macros");
$macros->{RootTab} = "RootTab";
@@ -41,8 +41,19 @@ foreach my $i ($wobjects) {
}
}
$conf->set("wobjects"=>$wobjects);
-$conf->write;
+$conf->set("searchAndReplace"=>{ ":)" => "
",
+ ":-)" => "
",
+ ":(" => "
",
+ ":-(" => "
",
+ ";)" => "
",
+ ";-)" => "
",
+ ":D" => "
",
+ ":p" => "
",
+ ":O" => "
",
+ "WebGUI" => "WebGUI"});
+$conf->write;
+exit;
print "\tRemoving unneeded files.\n" unless ($quiet);
diff --git a/etc/WebGUI.conf.original b/etc/WebGUI.conf.original
index 931e02fe1..23350a116 100644
--- a/etc/WebGUI.conf.original
+++ b/etc/WebGUI.conf.original
@@ -69,4 +69,16 @@ macros = a => a_account, \
URLEncode => URLEncode, \
User => User
+searchAndReplace = \
+ :) => "
", \
+ :-) => "
", \
+ :( => "
", \
+ :-( => "
", \
+ ;) => "
", \
+ ;-) => "
", \
+ :D => "
", \
+ :p => "
", \
+ :O => "
", \
+ \
+ WebGUI => "WebGUI"
diff --git a/lib/WebGUI/Discussion.pm b/lib/WebGUI/Discussion.pm
index 6a1a4b2dd..0da08132e 100644
--- a/lib/WebGUI/Discussion.pm
+++ b/lib/WebGUI/Discussion.pm
@@ -211,6 +211,7 @@ sub formatHeader {
sub formatMessage {
my $output;
$output = WebGUI::HTML::filter($_[0],$_[1]);
+ $output = WebGUI::HTML::searchAndReplace($output);
unless ($output =~ /\
/ig) {
$output =~ s/\n/\
/g;
}
diff --git a/lib/WebGUI/HTML.pm b/lib/WebGUI/HTML.pm
index d5583f479..928a5f57a 100644
--- a/lib/WebGUI/HTML.pm
+++ b/lib/WebGUI/HTML.pm
@@ -32,6 +32,7 @@ A package for manipulating and massaging HTML.
use WebGUI::HTML;
$html = WebGUI::HTML::cleanSegment($html);
$html = WebGUI::HTML::filter($html);
+ $html = WebGUI::HTML::searchAndReplace($html);
=head1 METHODS
@@ -127,6 +128,31 @@ sub filter {
}
}
+#-------------------------------------------------------------------
+
+=head2 searchAndReplace ( html )
+
+Replaces all occurrences of strings specified in the config file.
+
+=over
+
+=item html
+
+The HTML segment you want to have search and replaced.
+
+=back
+
+=cut
+
+sub searchAndReplace {
+ my $content = shift;
+ foreach my $search (keys %{$session{config}{searchAndReplace}}) {
+ my $replace = $session{config}{searchAndReplace}{$search};
+ $content =~ s/\Q$search/$replace/g;
+ }
+ return $content;
+}
+
1;