* Moved the FlaggedRevs class to its own file
* Removed $wgFlaggedArticle, store an instance inside the Article object instead. Also store a reference in the Title object, since some hooks only have a Title available.
* Modified all hooks which were previously calling $wgFlaggedArticle directly to go via an instance loader function.
* Merged hook functions for ArticleViewHeader and DiffViewHeader
* Changed the way FlaggedRevs sets the right image version in ImagePage, to avoid a function call on startup
* Some coding style changes, such as consistent variable case, consistent indenting style, meaningful variable names, etc.
* Fixed typo in updateAutoPromote.php
* Removed the $wgFlaggedRevsVisible feature, this doesn't seem to be in keeping with our mission so I couldn't see the point in spending a lot of time fixing its bugs. Revert if necessary.
* Use Xml::encodeJsVar() to transfer data from PHP to JS, don't DIY
* Use OutputPage::addHeadItem() instead of an infinite-lifetime variable to ensure that only one copy of the header item is added. OutputPage objects may come and go.
Doxygen documentation update:
* Changed alls @addtogroup to @ingroup. @addtogroup adds the comment to the group description, but doesn't add the file, class, function, ... to the group like @ingroup does. See for example http://svn.wikimedia.org/doc/group__SpecialPage.html where it's impossible to see related files, classes, ... that should belong to that group.
* Added @file to file description, it seems that it should be explicitely decalred for file descriptions, otherwise doxygen will think that the comment document the first class, variabled, function, ... that is in that file.
* Removed some empty comments
* Removed some ?>
Added following groups:
* ExternalStorage
* JobQueue
* MaintenanceLanguage
One more thing: there are still a lot of warnings when generating the doc.
* Used the new functions in the relevant places throughout the core. Where this was not possible, used wfMsgNoTrans() to avoid double-parsing.
* Calling wfEscapeWikiText() on a title before passing it to a message is unnecessary and causes bugs. The best idea is to let the message do its own escaping. Removed wfEscapeWikiText() from the caller of addedwatchtext, removedwatchtext, deletedtext, protect-text, nosuchusershort and movepage-moved. Updated all message files to use <nowiki>$1</nowiki> where appropriate in these messages.
* Removed unnecessary empty message handling from semiprotectedpagewarning
* Removed nonsense warning about the output of wfMsg() not being safe for inclusion in HTML.
* Changed wfShellExec() to use passthru/ob_get_contents instead of exec(). This avoids corruption of whitespace in the response.
* Added $wgValidateAllHtml feature, to optionally validate HTML on output.
* Fixed missing newline in cascadeprotected in MessagesEn.php
* Belatedly updated addedwatchtext to take account of the new "monobook" skin. No unwatch link in the sidebar anymore.
*Allow blocking of users to hide names
*Implement revision deletion for images/deleted files/deleted revs
*Log deletion set off for now
*Add 'hidden' file dir
*Dissallow merging via undelete (which was inefficient and hard to reverse)
*Use restore points and diffs to special:undelete
*Add a special page to merge pages
*Get changeslist to use tables to avoid ugly formatting
*Add logs into RC for rebuildrecentchanges.php
*Add private logs
*List private logs at specialpages
*Tweak/add some deletion and merge messages
* Made it work with the anon-only confirmation form.
* Fixed data flow issue (removed reference to $wgRequest in DifferenceEngine.php)
* Made it actually purge rather than just skip the cache one time
* DifferenceEngine::loadRevisionData() wasn't updating $mNewid when loading the newer revision, which doesn't make too much sense if it ends up left as 0 (which is impossible)
Use JS to detect old Gecko versions known to have bogus implementation of overflow: auto for vertical sizing <div>s in table cells and change it to overflow: visible for an ugly but more-or-less-legible fallback behavior.
Use .diff-lineno class instead of hardcoding a <strong> and an alignment. Leaving default alignment does the right thing in both LTR and RTL; forcing left was unnecessary.
Also swapping alignment for the +/- marker column to improve look on RTL.
* move the addition of common/diffs.css from showDiffPage() to showDiff() which catches most 'legit' cases
* hack it in to a couple of uses where getDiff() is used and manually spit out
* hack around the hacked-up custom diff table in Oversight... that should be refactored in the base class
Diff style rules have been broken out to common/diff.css,
and the dupes removed from the default skin files.
Skins can still override the default rules.
Improvements over r22192, now known to work in:
* Firefox 2.0.0.3
* Opera 9.10 and 9.20
* Safari 2.0.4
* Konqueror 3.5.6
* MSIE/Win 7.0 (wide cells may produce vertical scrollbars as well)
* MSIE/Win 6.0 (wide cells are cropped instead of scrolling)
* MSIE/Mac 5.2.3 (wide words break instead of scrolling)
* iCab 3.0.3 (some cells provoke unnecessary horizontal scrollbar)
I've cleaned up the diff table formatting a bit, moving some attributes
from the HTML to the style sheet and consolidating the duplicated styles
into a common/diff.css file which is conditionally loaded for diff views.
Individual skins or site/user CSS can still override that style if they wish.
Opera-based browsers (incomplete, does not fix KHTML or MSIE)
This adds a <div> inside the <td> for diff content cells, and declares
the style for these <div>s to have overflow: auto.
In Gecko (tested Firefox 2.0) and Opera (tested 9.10 and over) this does
two things:
* The table layout treats the cells as the requested width instead of bloating
out to the widest line of content, so the table stays visible on screen
* The individual cells that are too long get horizontal scroll bars
Unfortunately this doesn't have the hoped-for effects in other tested browsers:
* MSIE 7
* Safari 2
* Konqueror 3.5
* iCab 3
But neither has it any ill effects, so... it's a start.
There's probably some other way to force the layout algorithm to behave
that I haven't quite stumbled on yet... Might have better luck with the
fixed table layout option, though that seems less friendly to the little
+ and - columns.
The C++ diff plugins will have to be updated to support this scheme, but
no harm will be done if they're not (just they won't do anything new).