I will never use any version of SMF or any other third party forum software ever again. SMF in particular is written by deranged maniacs. Spaghetti doesn't even begin to describe it. The number of features and the amount of indirection is crippling. The style is wtf. Here's an actual line of code:
$context['icon'] = isset($_REQUEST['icon']) ? preg_replace('~[\./\\\\*\':"<>]~', '', $_REQUEST['icon']) : 'xx';
We've got ternary operator and regex on one line with no comments in sight. What does this line do? Who knows. preg_replace is used 164 times in the code base and has been the source of tons of bugs and vulnerabilities because it is unreadable without consulting your regex hieroglyphics guide. And most of the time it's there to support some totally useless feature that just ads to the attack surface.
The only way forward for forum software is to write my own.