* Add @addtogroup tags to various classes, to try and group conceptually-related classes together.
* Add brief descriptions to various Special pages, thanks to Phil Boswell.
* Moving some docs to be right above the classes they represent, so that they are picked up.
* removing some unused global declarations.
* removing or commenting out or adding comments for unused local vars.
* Adding one or two local var declarations.
* Declaring $matches array passed to preg_match() / preg_match_all() as array() before using [not required, just have a slight preference for the explicitness].
* remove one or two pass-by-reference function declarations where the value is not modified.
* Adding some braces to if-else blocks.
* In Parser.php, stripstrate is now an object rather than an array as per r17820, so we no longer need ask for a reference to it (as in "$x =& $this->mStripState;"), and in fact it's probably just simpler to get rid of $x altogether.
* Moving some preg regexes from "" quoting to '' quoting to stop static analyzer whinging about bad escape sequences.
... up to "LinksUpdate.php" in the includes/ directory.
search in different variants (if needed).
Minor bug fixes for LanguageConverter: do no convert
roman numbers and text between <code></code> into
variants (e.g. cyrillic).
* 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.
* Use getDbkey(), not getTitle(), when constructing new titles
* Don't bother checking for existence of a user page on go; with the
namespace prefix it's pretty clear what's meant, and the inconsistent
behavior would be more confusing than illuminating.
'Go' button, if an IP address is entered the search engine first checks if an
article by that name exists, otherwise it goes to the user contributions list
of that search engine ( this would catch en.wp.org/wiki/127.0.0.1 ), also,
entering a valid username with the current namespace-3 + : prefix will go to
the users page, regardless of whether it contains any text or not.
* It hard-codes the English string "user", and doesn't allow localized user namespaces.
* Title::makeTitle doesn't perform validity checks as it's meant mainly for data pulled from the database which has been
previously screened. Use Title::makeTitleSafe().
* The ereg_replace is a bit odd. Trimming of stray whitespace from the search term should be done at the top end in
SpecialSearch.php, not down there.
* Removed 'fuzzy title search', it's not been maintained and generally produces unexpected and unwanted results
* Separated search guts (in SearchEngine) from display/control (in SpecialSearch)
* Extracted MySQL3 and MySQL4 variants to subclasses
* Added PHPUnit tests for MySQL3 and MySQL4 search engines, which try to use temporary tables to fiddle in (if configured)
* comments n stuff