Updated calls to current Smarty API (register_function()/register_modifier()/register_block() -> registerPlugin(); assign_by_ref() -> assignByRef()).
Fixed file includes in templates with quotes.
Removed SmartyValidate.class.php includes.
Still work in progress as some errors still appear!
Removed unused and/or commented code.
Replaced calls to deprecated each() with array_shift() (not completely done yet, still some more to fix!).
Replaced call to deprecated create_function() with real callback function.
Please visit his website http://www.aadmm.org/fp-patch/ and read patch-description.txt to learn more about the details of the patch.
I adapted the patch slighty: It now does not just add a __construct() function to the existing class-named one, instead it replaces it completely. Therefore, some parent::__construct() calls had to be changed, too.