** Also supports blocking user from editing whole namespace
* Replace ugly ipboptions parsing code in Title.php with a simple message
Requires schema change (I showed it to Tim Starling).
* Adds database field to ipblocks table, ipb_allow_usertalk, storing whether or not the user can edit their own talk page. Defaults to 0 to coincide with the default value of $wgBlockAllowsUTEdit.
* Recommended to update all current blocks to have a allow_usertalk value of whatever the current setting is
* Retasks $wgBlockAllowsUTEdit to be the default value of the field in the blocking screen - unless a sysop changes the checkbox, will use whatever that variable is set to.
* Switch from running fix_magic_quotes() on $_COOKIE and $_GET/$_POST to running it on $this->cookies and $this->data. Should keep us from interfering with other programs that might do the same (and/or trying to start up a second WebRequest object). This partially fixes bug 11558.
* Todo: Do similar things with $_SERVER/$_ENV and switch to a lazy-load style, rather than on every new WebRequest.
This won't actually work -- it checks the InitialiseSettings.php conf array for $wgGroupPermissions, but we don't set $wgGroupPermissions individually for every wiki. We use a system of several override variables which get applied in CommonSettings.php onto the default template.
* Moved all of the debugging/logic to WebResponse so it can be properly used elsewhere.
* A bit of cleanup so cookies set by $wgUser->setCookie() use $wgCookiePath as they should.
* Bug 14887: $wgEnablePersistentCookies has been added to allow for disabling of persistent cookies.
* Added 'noconvertlink' toogle that can be set per user preferences, also added 'convertlink=no|yes' on GET requests whether have the link titles being converted or not
patches by PhiLiP
* Add UserGetReservedNames hook to allow extensions to define reserved names without loading messages at setup
* Don't try to notify nonexistent, non-IP users by inserting a username into the user_newtalk.user_ip field. It doesn't work.
This seems a bit odd; the name is certainly confusing -- getGroupsWithPermissions() would be clearer, but I'm not really sure I see why it's given an arbitrary-length list here (vs a simpler single check which can simply be run multiple times).
* Made User::getDefaultOption() static
* Do not breaks wikis whitout any changes
* fixed E_NOTICE: undefined variable SpecialRecentchanges::$par in SpecialRecentchanges::setup()
Regressions caused by this:
"Use an anonymous user to get the parser options and the parser cache key, thus wikitext rendering is not depending of some sepcific user options such as lang, ..."
User-specific options such as stub threshold were still applying in the parser, but not taken into account in the parser hash key. As a result, the caches were corrupt, saving different options into the anonymous-default options cache.
* Respect the language given with parser options
* Replace parameters before expanding its own templates/functions, like $wgOut->addWikiMsg() does
* (bug 14404) Force content language when parsing the text to pass to LinksUpdate
And some tweaks at save time:
* Use an anonymous user to get the parser options and the parser cache key, thus wikitext rendering is not depending of some sepcific user options such as lang, ...
* Same for the refresh link job
* Made the PasswordReset and Maintenance extensions, and maintenance/changePassword.php work with CentralAuth, by calling User::setPassword() instead of updating the database directly. They work now even if you use an object cache.
* Don't automatically log in as the user in question when CentralAuthUser::setPassword() is called, it's kind of uncool when an administrator is setting the password of another user.
* Fix bug 14330 by setting the local passwords on demerge