This switches 2 special page modules to be defined via skinStyles.
This allows skins to skin these pages as they wish rather than
relying on the defaults.
This is very important for Minerva, which provides a distinctly
different look and feel.
Bug: T205581
Change-Id: I429ab712099ede0fb3cbd64ca3fd1840a1615652
Make IDatabase::lastDoneWrites() reflect creation and changes to
the cloned temporary unit test tables but not other temporary tables.
This effects the LB method hasOrMadeRecentMasterChanges(). Other tables
are assumpted to really just be there for temporary calculations rather
acting as test-only ephemeral versions of permanent tables. Treating
writes to the "fake permanent" temp tables more like real permanent
tables means that the tests better align with production.
At the moment, temporary tables still have to use DB_MASTER, given
the assertIsWritableMaster() check in query(). This restriction
can be lifted at some point, when RDBMs compatibility is robust.
Bug: T218388
Change-Id: I4c0d629da254ac2aaf31aae35bd2efc7bc064ac6
This should reduce pressure on certain medium-large sized memcached
slabs. Pre-1.5 memcached versions have a harder time pruning expired
entries in time to avoid evictions, so it will be most useful that
scenario.
Bug: T203786
Change-Id: Ic357dbfcd9abd525b02e8d631d1344db3745d24c
I'm also replacing a loop with an array_pad() call. When the count given
to array_pad() is negative, the padding is done to the left instead of
the right. This is exactly what the loop did before.
I'm also adding the missing limit to the explode() call.
Change-Id: I6737fcf6b60b822269b855f1405607be7fc23754
Looks like some parts of the code try to publish log event when
$newId is 0 or null. This cause ChangeTags::addTags to throw
an exception as at least one of rc_id, rev_id, or log_id must be
specified.
When ChangeTags::addTags() fails (because both $rev_id and $log_id
are not present), just ignore the exception and continue with
the execution.
Also, if one of those is set to 0, we need to pass null instead
(do not insert 0's in to DB as both log_id and rev_id are foreign
keys).
Additionally log all places where ManualLogEntry::publish() is
called with incorrect arguments so later we can fix all occurencie
and remove that try{}catch around ChangeTags::addTags() call.
Bug: T218940
Change-Id: I495f79f2b7a7ef1503d229a689babdc12deb353c
When this exception handler was introduced in change Ifbc1db4b82 (commit
9636d44448), MediaWiki still supported PHP 5.3.2, where finally was not
available. It was added in PHP 5.5, though, which we’ve required for a
while now, so we can simplify this a bit.
Change-Id: I7c967fb713de7495739e18ff6c6058a630129fda