* remove require_once() throughout whole code, yet left in few places
* move global functions in HttpUtils, ProxyTools, Credits to class methods
* php5 only: __autoload() now used, combined with class->file map and require()
* move initialization of $wgValidSkinNames to Skin::getSkinNames()
* few more changes that will surely break stuff.
* Proper handling of LIST_OR in makeList()
LinkBatch.php:
* Added isEmpty() and getSize() functions.
Query.php:
* Implemented double-redirects query (disabled until caching is done)
* Implemented backlinks query.
* Rewrote page info generator to allow both titles and pageIds to be specified.
* Security check for read-access.
* Output filtering prevents exposure of the internal data.
* Added transactional consistency (not sure its needed here)
* Ended the role of $wgLinkCache in link updates. Instead, links (and related entities) are registered in the ParserOutput object during a parse. The LinksUpdate constructor now takes a ParserOutput object as a parameter. $wgLinkCache is still used, but only as a cache of article IDs.
* Because the link list is now saved and restored in the parser cache, meta tag keywords now work on parser cache hits. Some refactoring took place in this area.
* Rendering of the HTML for category links has moved from Parser to OutputPage.
* Did some general pottering around in Article.php, such as allowing an Article object to be created with a specified revision ID, thereby optionally removing the dependence on $wgRequest. Not used at the current time.
* A few documentation tweaks.
- treat NULL properly in watchlist lookup for notification sending
- consolidate a lot of ugly code that fiddles in those tables
- use user_newtalk consistently in enotif mode; watchlist for email notifications, user_newtalk for on-screen message and status check
- clean up handling of other peoples' user_talk pages when in the talk-only limited enotif: only your own will get sent, not other people watching your page
- and others watching your page _will_ work in watchable enotif mode
- add a watch on page + talk page consistently for the auto-add of the user talk page, not just half the page
- don't unwatch the user talk page on view! that's just wacky
- removed UserTalkUpdate, now redundant
- have User::setNewTalk() apply immediately
- clear newtalk from User::clearNotification() and User::clearAllNotifications()
NOTE: Enabling this may break existing wikis, and still doesn't
work for all Unicode characters due to MySQL limitations.
The $wgDBmysql5 option will run 'SET NAMES utf8' on connection to the
server so it knows we're speaking UTF-8 to it; switching it on/off
can cause interpretation of non-blob columns to change depending
on the charset options set on the server.