* Use fragments of English when naming things, instead of a jumble of words vaguely related to the topic
* Use verbs in function names that are related to what the functions do
* Move all functions into an object, to avoid prefixes that look like part of a nonsensical sentence
* Fixed a bug whereby the "move" controls would not be unlocked if the expiry times differed. Refactored the relevant code.
* When the user types something into the "other time" box, automatically select "other time" from the drop-down list.
In ProtectionForm:
* Use the new protect.js interface
* Use accessor instead of Title member variable mRestrictionsExpiry
* Added an "existing expiry" option to the expiry drop-down list, instead of putting the ISO 8601 time in the "other" box
* Formatting
* Fixed convoluted expiry time data flow, documented
* s/List/Selection, for variables containing a value that the user has selected from a list
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.
* Use proper XML functions
* Make the title/subtitle of input form consistent with move/delete/filedelete/filerevert forms
* Rename the former subtitle message to the new title message for all languages
* Rename the former title message to the new legend message for all languages
* Kill whitespaces
* 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.
Also added proper read-only checks to several special pages.
Have removed read-only checks from the general user permission framework
since it doesn't belong there; user authorization is independent from
the database's read-only state, and the way we check and present error
conditions is necessarily different. Further, as a detail it was formatting
the actual message incorrectly as an inline message when historically it's a
big block message with tables and images and stuff.
* WARNING: This revision requires a schema change, which is included in maintenance/archives/patch-protected_titles.sql, and can be applied in the normal manner (update.php).
There are issues with putting robots stuff into the current protection system, so we're backing this out to prevent another backwards-compatibility disaster when it's done in a more reliable way. :)
** ProtectionForm: move 'watch this page' checkbox between reason field and submit button like in all other forms too
** SpecialMovepage.php: right shift checkboxes a bit like in all other forms too, move hardcoded colons to message file for better localization