Great job guys. I've tried to do the same in the past but had no success. The two patches were added to [Only registered and activated users can see links. ]
The WARNING patch is slightly modified. Instead of modifying the function, the place where the returned value was being saved got patched. This was done so that restoring original code would be easier across different versions.