Clean up e-mail authentication code.
* Add Special:Confirmemail unlisted page for requesting confirmation emails and as the destination
* There is now a confirmation token separate from the login password, which is cleaner and hopefully a lot less confusing.
* Confirmation token expires after 7 days
* Added support functions for nullable timestamp columns: wfTimestampOrNull and Database::timestampOrNull
* userMailer now returns WikiError objects
* Added convenience functions to User for email management, consolidated some checks
There are changes to the user table, so run update.php
15 files changed: