Badwords, with the current method, aren't as easy as they could be. To simplify them:
In shout.php
Change line 70
FROM: $text = preg_replace($badwords[$i], '[:)]', $text);
TO: $text = preg_replace('/' . $badwords[$i] . '/i', '[:)]', $text);
In config.inc.php
Change line 77 - 80
FROM: "/fuck/",
"/crack/",
"/hack/",
"/shit/"
TO: "fuck",
"crack",
"hack",
"shit"
This change would also make the 'badwords' case-insensitive. (So capitals won't avoid them)
Futher, the function preg_replace() can accept an array as the first parameter, even if the second one is a string. To take advantage of this:
in shout.php
Replace line 69 - 71
WITH: $text = preg_replace('/' . $badwords . '/i', '[:)]', $text);
(Yes, replace 3 lines with just one)
Logged In: YES
user_id=1740995
Originator: YES
Sorry, both 'improvements' can't be used together.
So, leave the second ( replacing 3 lines with 1), if you're going to use the first.