fixed timestamp validation for api

wfTimestamp returns false on failure.

Renamed variable to output original input on failure and not the false

Change-Id: I39d31f35dae88b8a6e50ebee76a3be8722603ef3
Merge "Some fixes for Ia2782d64 (2f60cd2)"
Merge "Normalise inline comment markers to "//" in WikiPage.php"
Add "modifyExtensionField" utility function

As calling $updater->modifyField will do the action immediately (not queued),
this may be undesired.

So this is a shortcut/utility function like addExtensionField/addExtensionTable etc,
instead of the developer calling addExtensionUpdate( array() ) themselves.

Change-Id: Ie94f2b42679062c6e106ae560faab26818a9b15c
Use ResultWrapper::numRows() instead of DatabaseBase::numRows()

Change-Id: I87f059aaff72bf06ebc72ad3a7904cca8e11fab9
(bug 41368) Added category information to InfoAction.

Added a Category information section to InfoAction that
only shows for NS_CATEGORY pages. It lists the number
of pages, subcategories, and files in the category.

Change-Id: Ic8965ffc7e4f9abb1f46d773839bdf5c2f06b72e
Remove orphan call to wfProfileOut()

Also added spaces on line 247 per coding conventions.

Change-Id: Ib63167d4371ac71ce7580fafefdb0eabc2e0b590
Localisation updates from http://translatewiki.net.

Change-Id: I142cbcecec86d15539f29709c776a4dbdbf35367
Miscellaneous profiling fixes

Change-Id: I8d8ce0bc0383e4feb4ed38fd96b2dd516dcb742e
(bug 43684) Don't bother creating a new context in SpecialPageFactory::getUsablePages

Change-Id: I1f854a8c03b5ca917c02c63a5b7da9435252921d
Introduce $wgEnableCanonicalServerLink

(bug 43466) If enabled, send a rel=canonical link on every page
indicating the correct server to use. I tested all three callers:
Article, ImagePage and the variant feature in getHeadLinksArray().

Change-Id: I59b7c1d5589825ea390967036190218d5ce2db88
Added $wgMaxBacklinksInvalidate to avoid massive html cache invalidation.

Change-Id: I4fadded0e351883a907d307d64af31cdc6164240
Merge "Remove orphan call to wfProfileOut()"
Remove docs for hook LoggableUserIPData

Hook does not exist (anymore). Some background in bug 32925.

Change-Id: I830abd60f559cdd276458447f8f4c772b2d136b1
Revert "Also delete the page information cache when invalidating cache of a non-existing page"

Breaks LiquidThreads per bug 43693 and worsens bug 37209.

This reverts commit b3ff701cba6578ff0994ef3b42efcb1ba4eac9cd
Merge "Revert "Also delete the page information cache when invalidating cache of a non-existing page""
(bug 42064) Make EditFilterMergedContent more generic.

This is part a the solution to bug 42064: it modifies the EditFilterMergedContent hook
to allow it to be triggered by code outside the EditPage. This is useful when extensions
such as Wikibase implement their own editing mechanism for non-textual content.

Allowing EditFilterMergedContent to be used on non-textual content ensures that
any filters will also be applied to that content.

Note that EditFilterMergedContent was introduced in 1.21 which hasn't been released yet,
so modifying the hooks definition should not be a problem. The only extension that appears
to use the EditFilterMergedContent hook is Translate. I'll supply a patch.

To completely fix bug 42064, I will soon submit two changes to two extensions:

* In the Wikibase extension, trigger the EditFilterMergedContent when changing data
entities.

* In AbuseFilter, make use of the EditFilterMergedContent hook, so filters will also be
applied to non-textual content.

The the dicsussion on bugzilla for the rationale of this architecture.

Change-Id: I99a19c93e99860a91d7f898b0a3fbb72b69baab8
Allow preferences that need not be rendered in Special:Preferences

Extensions can use their own interface for user preferences, with the
help of the action=options API.

For example, Universal Language Selector has a different UI to
allow anonymous and logged in users to set language related preferences.

Validation for the preference values is up to the extensions.

Change-Id: I18a5ffb5cc202c59ba76b86cfb63e49010cc1881
(minor) Make ORMTable handle failed queries nicely.

Database::select will return false if a query fails and the DB object
is set to "ignore errors" mode. ORMTable now detect this and throw
a DBQueryError, overriding the ignore errors mode.

This change also adds a dummy implementation for ORMTable to ORMTableTest,
so tests can be run on the base implementation.

Change-Id: I5d87295626c0800c38f807d19becb312ba7cc956
Disable protection in case there aren't any restriction types

This change disables the protection form and hides the protect
links in case there aren't any restriction types avialable.
Having no restriction types available let to a PHP notice and an
uggly, broken form. This became necessary as there are cases
in which no restriction types are avialable (caused by extensions)
eg. https://gerrit.wikimedia.org/r/34662

Change-Id: I0e5d3cfb299808ca14ead6baec0a18091acaa2b2