* 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
Renamed member vars to fooBar style, use $this->rawText more consistently.
Separated matching parts of goResult() out.
More redundant bits purged.
Switching some messages to wikitext.
Death to <font> tags!
[ 961069 ] BUG and FIX: search doesn't work with some UTF-8 chars
Moves the strtolower() on the input search terms into Language::stripForSearch()
where the correct version already exists for LanguageUtf8.
length. UTF-8 version ensures that only whole characters are included.
Fix for: [ 1001502 ] Search preview splits up multi-byte UTF-8 characters
Todo: [ 855680 ] Broken UTF-8 cutoff breaks display in some browsers
* DB_WRITE now called DB_MASTER, DB_READ now called DB_SLAVE
* Converted to use SQL wrapper functions instead of direct SQL in various places
* Experimental method for preserving the chronological order of events when slave servers are used. Untested.
* Fixes to the new post-parse existence test feature
* Some.. other stuff