* Use Linker::linkKnown() for links to revisions, we know that the page exists and other classes might be false since they might be old revisions
* Escape the result of Language::userTimeAndDate(), just in case
* Rewrote some code to do early return instead of nested if()'s
* Define variables only when they will actually be used
Change-Id: Ie1f16029020f980abba35d6322b89c95326f107b
Fix for I1d391e72 (3695486) and Idb00a337 (8a73db8) plus two changes of wfMsgHtml('diff') that were already there.
Change-Id: Ie52e1060058f4d1935c991a7d0e1f651069d4ed5
* Changed LogFormatter to support displaying redacting log items if the context user can see them. The default mode is still "show only public items".
* Fixed static calls to non-static getRestrictedElement() function.
* Cleaned up LogFormatter that build up vars only to then throw them away and replace them with rev-deleted placeholders.
In RevDel_LogItem:
* Use LogFormatter instead of raw LogPage::actionText call as such calls are broken and just displayed things like the string "move" (the log action name) instead of "x moved a to b: reason" and such. Fixes r96546.
* Updated callers that have a context or may use another user than $wgUser
* Revision::getUser(), Revision::getUserText(), Revision::getComment() and Revision::getText() also have a User as parameter, but it will be used only when Revision::FOR_THIS_USER is passed in the first parameter
* Fixed comment of getChanges and made it public
* Removed getLogMessage and expandMessageArray, now unused
LogFormatter:
* Cache parsed parameters locally, since this function is going to be called few times for every log entry
DefaultSettings:
* Could not find any use of suppress/file log
LogPage:
* Removed old formatting code, now unused
WikiPage:
* Converted (suppress|delete)/delete logs to new format
Added DeleteLogFormatter, handles part of suppression log as well.
Updated messages.
This also addresses bug 18578.
* Also preferably pass a Language object instead of a Skin one or boolean indicating whether it's for content. No other calls to these methods in core or extensions.
* Fixed bug in revdelete where all list Items where assumed to be of the same type (no longer holds since r87804). This was causing "Undefined property: stdClass::$rev_timestamp" errors for deleted revs.
* Cleaned up RevisionDeleter::getRelationType()
* Minor cleanups to SpecialRevisionDelete
* Also updated classes in includes/revisiondelete that were using the $skin member of Special:RevisionDelete
* Handle action=revisiondelete (or rather action=historysubmit&revisiondelete=1) with an Action object that sets the RequestContext object of the SpecialPage object, and in this case get the target Title object through the context instead of $wgTitle
- saved Special:RevisionDelete links from before page deletion still work as-is after deletion
- old log entries for rev-delete adjustments no longer magically switch to linking to Special:RevisionDelete with archive & ar_timestamp (they remain the same, as the links continue to work)
If you call Special:RevisionDelete using the older-style &type=archive links (using ar_timestamp as id) it will still save the same form to log for now; this may be fixed later for cases where the ar_rev_id is available.
Requires FakeResultWrapper fixes from r87803.