Add periods to some move-related error messages

Change-Id: I0c90f9e2b8904702520c69276880b21597abb2ef
Deprecate MWFunction::newObj() in favor of ObjectFactory

Change-Id: Iaa803311409cf7b649f64f69bafe2935a418d31c
Make allowing site-wide styles on restricted special pages a config option

This mostly reverts commit 614d7e5c274d927f99bfc52ac3a1e6c7e5902408.

Many wikis use MediaWiki:Common.css and associated pages to create a
custom "theme" for their wiki, which would no longer load on login
or preference pages, creating an inconsistent UI.

This re-adds the difference in module origin for different types
(styles, scripts, etc.), and now OutputPage::disallowUserJs()
checks the value of the "AllowSiteCSSOnRestrictedPages" config setting
to determine whether to allow site-wide CSS styles or not.

By default this feature is disabled to be secure by default.

Bug: 71621
Change-Id: I1bf4dd1845b6952c3985e179fbea48181ffb8907
hhvm: Detect json-c parser

Add detection for a json-c powered json_decode() implementation. Default
loose parsing behavior was previously attributed to HHVM, but additional
investigation has found that this is actually a "feature" of json-c.
HHVM optionally links with json-c for distributions that wish to avoid
being encumbered by the "shall be used for Good, not Evil" clause of the
JSON.org parser's license. The test case implementation stays the same,
but a feature flag style check is added to determine if the parser being
used is lenient or not.

Bug: 72778
Change-Id: Ieb8dddd2e324c90f45f2fc27ac13ab5fff733302
Localisation updates from https://translatewiki.net.

Change-Id: I5ac5f394a10a1e5c560435522128209591864471
Merge "Make allowing site-wide styles on restricted special pages a config option"
Removed incomplete/unused DatabaseType interface

Change-Id: I95b64f0a74f0203092464c4900fef2ac97e3ba35
Merge "Deprecate MWFunction::newObj() in favor of ObjectFactory"
Merge "hhvm: Detect json-c parser"
Merge "Removed incomplete/unused DatabaseType interface"
Refactor content fetch condition in ApiQueryRevisionsBase

Use a member variable to make the ifs easier to maintain.

Change-Id: I535740094708c563298a8b8d34027519d3900758
Hide HHVM tag on Special:{Contributions,RecentChanges,...}

The coming weeks will see HHVM rolled out to progressively more users, which
will make the HHVM change tag even more ubiquitous than it is today. A small
but significant number of users have said that they find the tag irritating or
confusing, so let's temporarily hide it from the interface. (We only need this
until the migration is complete, because after that we can just go back and
delete the tag from the database.)

With this patch, the HHVM tag is not shown in change lists, but you can still
filter on it.

This could be implemented as a proper feature, configurable by adding items to
a $wgHiddenChangeTags array. I decided against doing that because I'm uneasy
about its application beyond this particular case.

My plan is to cherry-pick this change to the production branches (if it gets
merged) and leave it in master until the tag is expunged. This will happen long
before the 1.25 branch date of April 15, 2015.

Bug: 73181
Change-Id: Iec9befeba4fe77df0ddd4f056d82b3d4e2dd2199
Merge "Refactor content fetch condition in ApiQueryRevisionsBase"
Merge "Hide HHVM tag on Special:{Contributions,RecentChanges,...}"
Copy wl_notificationtimestamp when copying watchlist entries on move

When a page is moved, the new title is automatically added to the
watchlists of every user watching the old title. But we also need to
copy the wl_notificationtimestamp over, otherwise edits from before the
move aren't highlighted in the page history and such.

Bug: 73219
Change-Id: I657475c28944539daec14f838d3af4c2962a4b93
Remove documentation hinting LinkHolderArray::replace() should return value

Return value not used in any code in our repo

Removes FIXME too

Change-Id: Ia2ec35099f0b54ea39c2f6b9371e94c3034bddb0
Move Cdb classes into includes/libs/cdb/

Change-Id: I2c4fa605acf5e0cf1fdd4821fe6bcdd690b02759
API: Make `usernames` a local variable

Instead of having a single-purpose instance variable, keep the array
local. This also allows reusing `prepareUsername` for other parameters.

Change-Id: Iea7c3c1f24a371a665ebdbeeb3e827262246f1b3
Improve doPrepareInternal error messages

Bug: 73229
Change-Id: Iee6c478d02c3d6f8d5f7d516c799d9bd53b0272f
Merge "Move Cdb classes into includes/libs/cdb/"