Last modified: 2011-07-12 18:47:45 UTC
Created attachment 8770 [details] Patch includes/specials/SpecialPasswordReset.php This check is currently done in userCanExecute, but that function performs other unrelated checks and throws an exception when any occurs. SpecialPageFactory would call userCanExecute before listing the page, but PasswordReset is (rightfully) not "restricted". Even if SpecialPageFactory was modified to call userCanExecute in all cases, the current implementation in PasswordReset (and possibly other special pages) will throw an exception. Therefore, I have implemented the fix by copying the appropriate checks into an isListed override with return false used instead of exceptions. Patch attached.
r91985 with some changes. Thanks!