jenkins-bot [Thu, 15 Sep 2016 04:26:27 +0000 (04:26 +0000)]
Merge "Avoid MWException and wf* log methods in DatabaseBase"
Aaron Schulz [Thu, 15 Sep 2016 01:37:35 +0000 (18:37 -0700)]
Avoid MWException and wf* log methods in DatabaseBase
Change-Id: Idc418ae1088f87d6416e2552976d94f7d1e8f5db
Aaron Schulz [Wed, 14 Sep 2016 10:11:41 +0000 (03:11 -0700)]
Move various DB helper classes to /libs/rdbms
Change-Id: I0724f1acce4f6c43b1f0983fa119e628e7c53ba5
Aaron Schulz [Wed, 14 Sep 2016 09:40:29 +0000 (02:40 -0700)]
Move LoadBalancer to /libs/rdbms
Change-Id: Ic87f1cc84ba44be20f345944406e1d8a34be1c96
Aaron Schulz [Thu, 15 Sep 2016 02:04:21 +0000 (19:04 -0700)]
Change DatabaseBase => IDatabase in /db where possible
Change-Id: Ia0a049cd4294c5a39aa9ed228d4eb5b15736ea1f
jenkins-bot [Thu, 15 Sep 2016 02:24:05 +0000 (02:24 +0000)]
Merge "Change $wiki => $domain in LoadBalancer"
jenkins-bot [Thu, 15 Sep 2016 02:19:03 +0000 (02:19 +0000)]
Merge "Exception cleanups for LoadBalancer"
Aaron Schulz [Thu, 15 Sep 2016 02:13:41 +0000 (19:13 -0700)]
Change $wiki => $domain in LoadBalancer
Change-Id: I97f96383c501e9b3262c11d143795b82ae36aca5
Timo Tijhof [Wed, 14 Sep 2016 22:51:05 +0000 (15:51 -0700)]
phpunit: Simplify mock object syntax in includes/db/ tests
* Omit redundant `expects( $this->any() )`.
* Use willReturn() instead of `will( $this->returnValue() )`.
Change-Id: If90ac651748af8a78a720992240e40ba53cec79c
Aaron Schulz [Wed, 14 Sep 2016 09:28:18 +0000 (02:28 -0700)]
Exception cleanups for LoadBalancer
* Make the error message itself be dumb/raw.
* Make the exception exposer show the same GUI message.
* Remove overzelous wgLang check in MWExceptionRenderer.
Change-Id: Ifffff3b3cc785ea3080e4975efe33b3c2cf304d6
jenkins-bot [Thu, 15 Sep 2016 00:46:03 +0000 (00:46 +0000)]
Merge "Move DBConnRef and ChronologyProtector to /libs/rdbms"
jenkins-bot [Thu, 15 Sep 2016 00:43:34 +0000 (00:43 +0000)]
Merge "Move TransactionProfiler to /libs/rdbms"
jenkins-bot [Thu, 15 Sep 2016 00:31:04 +0000 (00:31 +0000)]
Merge "Make WikiPage::getRevision() make use of Revision::newKnownCurrent()"
Aaron Schulz [Wed, 14 Sep 2016 09:21:18 +0000 (02:21 -0700)]
Move DBConnRef and ChronologyProtector to /libs/rdbms
Change-Id: If2c4b314a5c39311328843f534d91bf90823e179
jenkins-bot [Thu, 15 Sep 2016 00:15:15 +0000 (00:15 +0000)]
Merge "More DB related class cleanups to prepare files for /libs"
jenkins-bot [Thu, 15 Sep 2016 00:09:16 +0000 (00:09 +0000)]
Merge "Re-add parser tests to the ParserTests group"
jenkins-bot [Thu, 15 Sep 2016 00:09:12 +0000 (00:09 +0000)]
Merge "Fix broken select() call in rebuildFileCache.php"
Aaron Schulz [Wed, 14 Sep 2016 07:22:35 +0000 (00:22 -0700)]
More DB related class cleanups to prepare files for /libs
* Cleaned up some related logging bits.
* Avoid some wf* methods in LoadBalancer.
Change-Id: I5da97174441c086e61ffc120889c068e241ebfd2
Aaron Schulz [Wed, 14 Sep 2016 23:57:54 +0000 (16:57 -0700)]
Make WikiPage::getRevision() make use of Revision::newKnownCurrent()
Change-Id: Id06319b31bc523a5d514930c3d609af4d991453b
jenkins-bot [Wed, 14 Sep 2016 23:54:00 +0000 (23:54 +0000)]
Merge "Move IDatabase/ILoadBalancer to /libs/rdbms"
jenkins-bot [Wed, 14 Sep 2016 23:42:43 +0000 (23:42 +0000)]
Merge "mediawiki.Upload.BookletLayout: Fix typo in comment"
Tim Starling [Wed, 14 Sep 2016 23:37:06 +0000 (09:37 +1000)]
Re-add parser tests to the ParserTests group
It was omitted due to the new way in which parser test TestCase objects
are constructed. Should fix Jenkins double-execution of parser tests.
Change-Id: I8131c3b13f2e08f784bce46fee16051c14761304
Aaron Schulz [Wed, 14 Sep 2016 07:19:30 +0000 (00:19 -0700)]
Move IDatabase/ILoadBalancer to /libs/rdbms
Change-Id: I71f980b1024dc2fbca9cafbad2c9daebb6f28c9b
Aaron Schulz [Wed, 14 Sep 2016 16:16:06 +0000 (09:16 -0700)]
Make SiteStatsUpdate implement MergeableUpdate
Change-Id: I53c9bf133f0707f2fa203ddd1a7fcb65be8b1329
Timo Tijhof [Wed, 14 Sep 2016 22:58:44 +0000 (15:58 -0700)]
mediawiki.Upload.BookletLayout: Fix typo in comment
Follows-up
33041b752d.
Change-Id: I50747f140d6c0a42385aa94c8827f8ff7354628d
Timo Tijhof [Wed, 14 Sep 2016 21:14:31 +0000 (14:14 -0700)]
resourceloader: Fix WikiModule preload to support localised titles
Follows-up
6f8dc27ca2 and
dbd11e04aa. You'd expect a bug in preloading
to fallback to fetching it on-demand but due to a title format mismatch
the preload method did use the same title format for the cache key, but
not the same title format for discovering the results. As such, it set
the right cache key to an empty array.
* Make relevant methods testable and mockable.
* Add regression test.
* Change call to array_interect_key to use the same format as
fetchTitleInfo(): Normalised title keys from Title::getPrefixedText.
Previously, the intersect used the declared titles from getPages() which
are not localised - causing an empty array to be returned from the
intersect on wikis where the namespace name is localised.
Bug: T145673
Change-Id: Ibe788157724d73c727b9e2127b6828db32ca9420
Aaron Schulz [Wed, 14 Sep 2016 19:37:36 +0000 (12:37 -0700)]
Fix broken select() call in rebuildFileCache.php
A few other small cleanups
Change-Id: Ie62cf93feb5a57f629a893c7ea298ed902b52789
L10n-bot [Wed, 14 Sep 2016 20:07:35 +0000 (20:07 +0000)]
Merge "Localisation updates from https://translatewiki.net."
Translation updater bot [Wed, 14 Sep 2016 20:00:21 +0000 (22:00 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Iee268ac310eb4a09e6df11ca71a9a71a7d8b19e5
jenkins-bot [Wed, 14 Sep 2016 20:00:17 +0000 (20:00 +0000)]
Merge "Move DBError to /libs/rdbms/exception"
jenkins-bot [Wed, 14 Sep 2016 19:21:08 +0000 (19:21 +0000)]
Merge "Add MWExceptionRenderer class and decouple DBError"
jenkins-bot [Wed, 14 Sep 2016 19:18:32 +0000 (19:18 +0000)]
Merge "Reduce WikiPage::getContentModel() queries via caching"
jenkins-bot [Wed, 14 Sep 2016 19:14:40 +0000 (19:14 +0000)]
Merge "Add caching to Title::loadRestrictions()"
Aaron Schulz [Wed, 14 Sep 2016 18:55:33 +0000 (11:55 -0700)]
Move DBError to /libs/rdbms/exception
Change-Id: I2ad40db66a68f03fb34a63278a652e0505195076
Aaron Schulz [Wed, 14 Sep 2016 03:57:54 +0000 (20:57 -0700)]
Add MWExceptionRenderer class and decouple DBError
* This handles the work of showing exceptions so that
MWException does not have too.
* Simplify the DBError classes to regular Exception
classes. Lots of pointless prettification has been
removed, but DBConnectionError still gets the usual
special treatment of a fallback page and Google form.
* Remove hacky file cache fallback code that probably
did not work.
* Make MWExceptionHandler::report() wrap
MWExceptionExposer::output().
* Make MWException::runHooks() wrap
MWExceptionExposer::runHooks().
Change-Id: I5dfdc84e94ddac65417226cf7c84513ebb9f9faa
Kunal Mehta [Wed, 14 Sep 2016 18:12:14 +0000 (11:12 -0700)]
ParserOptions: Remove setters for magic links options
This will allow clients to assume that the global configuration state
($wgEnableMagicLinks) is the same as the state in ParserOptions, fixing
some consistency issues in wfEscapeWikiText() and Scribunto. The
abstraction for the ParserOptions getters is still useful because it
keeps the global state out of the Parser.
Change-Id: Ic2c447443963eb336c786cacf9dfd041a2df3b77
jenkins-bot [Wed, 14 Sep 2016 16:36:59 +0000 (16:36 +0000)]
Merge "API: Deprecate use of ApiPurge via GET"
jenkins-bot [Wed, 14 Sep 2016 15:58:36 +0000 (15:58 +0000)]
Merge "API: Expose $wgEnableMagicLinks in meta=siteinfo"
jenkins-bot [Wed, 14 Sep 2016 15:33:07 +0000 (15:33 +0000)]
Merge "Fix login API for users with @ in their usernames"
Brad Jorsch [Wed, 14 Sep 2016 15:04:33 +0000 (11:04 -0400)]
API: Deprecate use of ApiPurge via GET
This emits a warning and logs feature usage, and also pretends that POST
is required in the help and paraminfo output.
Bug: T145649
Change-Id: Ied8d47a947662158fddab383c764bf70c5ab0112
Aaron Schulz [Wed, 14 Sep 2016 12:18:57 +0000 (05:18 -0700)]
Move TransactionProfiler to /libs/rdbms
Change-Id: I13173facc9f101bca69e3bf3e85f292f8468e855
jenkins-bot [Wed, 14 Sep 2016 11:08:17 +0000 (11:08 +0000)]
Merge "Move LoadMonitor classes to libs/rdbms/loadmonitor"
Aaron Schulz [Wed, 14 Sep 2016 07:10:11 +0000 (00:10 -0700)]
Move LoadMonitor classes to libs/rdbms/loadmonitor
Change-Id: Ib18108f24ff8b9d05dc324bad132f597b3e2ddef
jenkins-bot [Wed, 14 Sep 2016 10:43:40 +0000 (10:43 +0000)]
Merge "Replace some MWExceptions with natives ones in /db"
jenkins-bot [Wed, 14 Sep 2016 10:39:43 +0000 (10:39 +0000)]
Merge "Special:ChangeContentModel: Run EditFilterMergedContent hook"
Aaron Schulz [Wed, 14 Sep 2016 10:21:53 +0000 (03:21 -0700)]
Reduce CategoryMembershipChangeJob lock timeout
Bug: T133801
Change-Id: Ic5db3983a8b67b9138b602188a52d60dd95fcb59
Aaron Schulz [Wed, 14 Sep 2016 02:38:19 +0000 (19:38 -0700)]
Replace some MWExceptions with natives ones in /db
Change-Id: I94532d09216926d401e94c61acd60fdc6241a2a0
jenkins-bot [Wed, 14 Sep 2016 08:41:04 +0000 (08:41 +0000)]
Merge "refreshLinks: Add --namespace option"
Kunal Mehta [Tue, 13 Sep 2016 01:13:45 +0000 (18:13 -0700)]
refreshLinks: Add --namespace option
This allows limiting refreshing data to pages in a single namespace.
Change-Id: I309058df98b638beb32adb1d663455a0c4aa1cec
Aaron Schulz [Wed, 14 Sep 2016 06:52:05 +0000 (23:52 -0700)]
Set cpPosTime cookie for the non-redirect case as well
This is useful if the ChronologyProtector store cannot sync
among datacenters and waitForReplication() is DC-local.
It only applies if the user stays on the domain, however.
Change-Id: I800cade7b87a0f02d6a429e70924c54189a4a7af
Aaron Schulz [Wed, 14 Sep 2016 05:49:10 +0000 (22:49 -0700)]
Use cpPosTime cookie for same-domain redirects on DB change
This follows-up
a3dacac90f to show the URL parameter in less cases.
Change-Id: Ibe015352962fb3ee14d5aa322f0e748ef4cba5c1
Aaron Schulz [Wed, 14 Sep 2016 01:18:37 +0000 (18:18 -0700)]
Add ILoadBalancer interface
Remove redundant LoadBalancer docs (those without @since).
Change-Id: I981177b6854cfdbea4a51b6db7e365dac0da258a
jenkins-bot [Wed, 14 Sep 2016 02:34:10 +0000 (02:34 +0000)]
Merge "Convert LoadBalancer/Database class logging to PSR"
Aaron Schulz [Mon, 12 Sep 2016 22:10:16 +0000 (15:10 -0700)]
Convert LoadBalancer/Database class logging to PSR
Reorder DatabaseBase constructor/factory to the top.
Change-Id: I2ffff950b9170d6ff15dcd46b64dd366f1e441a8
jenkins-bot [Wed, 14 Sep 2016 01:48:39 +0000 (01:48 +0000)]
Merge "Partially reverting I8e684f06 to restore some legacy behavior"
Gergő Tisza [Tue, 13 Sep 2016 23:25:49 +0000 (23:25 +0000)]
Fix login API for users with @ in their usernames
An @ in the username caused the password to be treated as a bot password,
but apparently some real usernames still contain it. Try both logins
instead. Security considerations are the same as for the other bot
password syntax: the length check makes sure we do not provide any
information on a timing side channel about the password unless it is
extremely long.
Change-Id: I58f42544a08c3208c41f54cfae932632d9c5affa
jenkins-bot [Wed, 14 Sep 2016 01:45:02 +0000 (01:45 +0000)]
Merge "Move PECL memcached class to /libs"
Kaldari [Wed, 14 Sep 2016 01:24:55 +0000 (18:24 -0700)]
Partially reverting I8e684f06 to restore some legacy behavior
Apparently some calls to getDateCond() expect it to not set an offset.
Also, removing some of the new tests that no longer work since they
don't pass all the required parameters. (Before I8e684f06, the year
and month were both required parameters.)
Bug: T145597
Change-Id: I3a90b3da48e49ec9723b7100a7d92146154f74e3
jenkins-bot [Wed, 14 Sep 2016 01:05:58 +0000 (01:05 +0000)]
Merge "Various dependency injection cleanups to LoadBalancer"
Kunal Mehta [Wed, 14 Sep 2016 00:22:44 +0000 (17:22 -0700)]
ParserTests: Make sure WikiPage::doEditContent() succeeds
If a parser test tries to create a page with invalid content (rejected
by Content::prepareSave() or Content::isValid()), throw an exception
instead of silently failing.
Change-Id: I89642604216699f27884120b3c297a0b277c47a6
jenkins-bot [Wed, 14 Sep 2016 00:22:15 +0000 (00:22 +0000)]
Merge "Make sure emails from RecentChange::save() are for comitted rows"
Kunal Mehta [Tue, 13 Sep 2016 08:10:35 +0000 (01:10 -0700)]
Special:ChangeContentModel: Run EditFilterMergedContent hook
This will allow tools like AbuseFilter to filter changes made through
the special page, and matches the EditPage behavior that already runs
this hook.
Bug: T145489
Change-Id: I3204e3a228af2cdd4e2ab4e8c760cc126a8e1947
Aaron Schulz [Sun, 11 Sep 2016 21:57:09 +0000 (14:57 -0700)]
Various dependency injection cleanups to LoadBalancer
* Inject wfWikiID() and MWExceptionHandler into LoadBalancer.
* Factor out LBFactory duplication into baseLoadBalancerParams().
* Remove $wgDBtype hack. Presumably, sites with others DBs would
not have multiple servers configured if does not work anyway.
* Make use of injected TransactionProfiler rather than calling
Profiler::instance()->getTransactionProfiler().
* Avoid use of trivial wfSplitWikiID() function.
* Make DBConnRef enforce its arguments more strongly and
optimize getWiki() to avoid causing a connection attempt.
* Avoid deprecated method call in LBFactory::destroyInstance().
Change-Id: If134b62d4f48cd68cb48ccbe149e72f12aa26819
Kunal Mehta [Tue, 13 Sep 2016 22:19:24 +0000 (15:19 -0700)]
API: Expose $wgEnableMagicLinks in meta=siteinfo
So Parsoid can use it.
Bug: T145590
Change-Id: Id792e07dc6fffec6d02b34168220b3a4e24b222b
jenkins-bot [Tue, 13 Sep 2016 22:26:26 +0000 (22:26 +0000)]
Merge "Remove pointless double exception logging from JobRunner"
jenkins-bot [Tue, 13 Sep 2016 21:58:58 +0000 (21:58 +0000)]
Merge "momentjs: Hack around bug in node/browser compat wrapper in locale files"
Chad Horohoe [Tue, 13 Sep 2016 21:07:32 +0000 (14:07 -0700)]
Avoid warnings when unable to parse the URL given to us
Change-Id: I56f1f36a3a54c6c23579f011d65dc75f30cb6dcf
Translation updater bot [Tue, 13 Sep 2016 20:14:01 +0000 (22:14 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I1c1a5601f4e102c7c8ac32908c91f5f3cff25eaa
James D. Forrester [Tue, 13 Sep 2016 18:48:04 +0000 (11:48 -0700)]
Update OOjs UI to v0.17.9
Release notes:
https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.17.9
Change-Id: Ibe5ba723888646f48ab4be9b88bc7a16ee0ae054
jenkins-bot [Tue, 13 Sep 2016 16:06:00 +0000 (16:06 +0000)]
Merge "Fix some PhpStorm warnings in AuthManager"
Paladox [Sun, 11 Sep 2016 17:26:36 +0000 (18:26 +0100)]
Remove jquery.arrowSteps module
It was unused by any other extension
https://github.com/search?q=user%3Awikimedia+jquery.arrowSteps&ref=searchresults&type=Code&utf8=%E2%9C%93
and only used for UploadWizard so it was merged into there with
I054674c7025ad37a8592ca82ce7ce0efd41d393f
Depends-On: I054674c7025ad37a8592ca82ce7ce0efd41d393f
Bug: T144974
Change-Id: Id9b6af1f1774bc33ceb024126030eefdc43beba0
Kunal Mehta [Tue, 13 Sep 2016 10:44:08 +0000 (03:44 -0700)]
ChangeTags: Rename "extension" to "software"
Most end users don't care about whether a tag comes from MediaWiki core
or an extension. Since we now have tags that are added by core, let's
rename all of the "extension" terminology to the more generic
"software".
Not renamed in this patch is the i18n message "tags-source-extension",
which will be done in a separate patch to coordinate with TWN, and the
"source" output of the API, to avoid a breaking change.
Change-Id: Ic7b32b3e4bef0c0153a7cf302eef4aa07c52c9f2
jenkins-bot [Tue, 13 Sep 2016 11:42:44 +0000 (11:42 +0000)]
Merge "Add a change tag for edits that change the content model of a page"
jenkins-bot [Tue, 13 Sep 2016 11:41:59 +0000 (11:41 +0000)]
Merge "ChangeTags: Skip caching if some hooks aren't registered"
Kunal Mehta [Tue, 13 Sep 2016 07:10:08 +0000 (00:10 -0700)]
Add a change tag for edits that change the content model of a page
And adjust the 'tags-source-extension' message to indicate that tags are
not just defined by extensions, but the software in general. The
extension related functions will be renamed in a follow-up patchset.
Bug: T145344
Change-Id: Id4391bc100287b8e469636949eaf7845bbd1d67c
Kunal Mehta [Tue, 13 Sep 2016 09:18:08 +0000 (02:18 -0700)]
Fix typo in "editpage-invalidcontentmodel-text" message
Bug: T145491
Change-Id: I1814a84d49f6cf837f18a1e6e5b3db9602e1f55c
jenkins-bot [Tue, 13 Sep 2016 08:05:18 +0000 (08:05 +0000)]
Merge "Add day to date filter for ReverseChronologicalPager"
Kunal Mehta [Tue, 13 Sep 2016 06:32:06 +0000 (23:32 -0700)]
ChangeTags: Skip caching if some hooks aren't registered
There is caching around the ChangeTagsListActive and ListDefinedTags
hooks that can be skipped if no callers are registered for them.
Change-Id: I0c8fccc358f80536fff7ad0bda1cab09181bca41
jenkins-bot [Tue, 13 Sep 2016 06:40:52 +0000 (06:40 +0000)]
Merge "Avoid page_touched update for HTTP GET action=purge requests"
jenkins-bot [Tue, 13 Sep 2016 05:43:09 +0000 (05:43 +0000)]
Merge "Make DeferredUpdates call setTransactionTicket() on all DataUpdate tasks"
jenkins-bot [Tue, 13 Sep 2016 05:31:47 +0000 (05:31 +0000)]
Merge "Parser: Allow disabling magic link functionality"
jenkins-bot [Tue, 13 Sep 2016 05:30:13 +0000 (05:30 +0000)]
Merge "SkinTemplate: Improve remote content handling in content navigation URLs"
Aaron Schulz [Sun, 11 Sep 2016 18:49:42 +0000 (11:49 -0700)]
Avoid page_touched update for HTTP GET action=purge requests
This will still clear the local DC parser cache and the CDN cache
in all DCs. Therefore, the next page views served by the local
DC will reflect the refreshed content, as will further GET/HEAD
requests by the client that issued the purge using GET/HEAD.
If the problem was imply a stale CDN cache entry, then all
DCs will be up-to-date. If the problem is stale parser cache,
then a proper POST purge request is required to refresh all DCs.
Bug: T92357
Change-Id: I9af12ca8cfff73298f404fd3e2dd4f546621c546
jenkins-bot [Tue, 13 Sep 2016 05:23:28 +0000 (05:23 +0000)]
Merge "Add WikiPage::isLocal()"
jenkins-bot [Tue, 13 Sep 2016 05:21:04 +0000 (05:21 +0000)]
Merge "LocalIdLookup: Use DBAccessObjectUtils"
jenkins-bot [Tue, 13 Sep 2016 05:16:30 +0000 (05:16 +0000)]
Merge "CentralIdLookup: Fix documentation of self::$instances"
jenkins-bot [Tue, 13 Sep 2016 05:12:13 +0000 (05:12 +0000)]
Merge "session: Fix phpdoc in Token::toStringAtTimestamp()"
jenkins-bot [Tue, 13 Sep 2016 05:06:23 +0000 (05:06 +0000)]
Merge "WikiPage: Use Title::isKnown() in hasViewableContent()"
Kunal Mehta [Tue, 13 Sep 2016 04:43:56 +0000 (21:43 -0700)]
SkinTemplate: Improve remote content handling in content navigation URLs
Use Title::isKnown() to determine whether to display the "view" view link
instead of checking $isForeignFile, since that includes all remote
content. This allows us to remove the GlobalUserPage hook that made the
tab look as if it existed.
Change-Id: Ibee7b64511fba8c2934da3c7a3bdd52090dcb58c
jenkins-bot [Tue, 13 Sep 2016 05:02:22 +0000 (05:02 +0000)]
Merge "Use late static binding in Article::newFromID()"
Kunal Mehta [Fri, 9 Sep 2016 07:28:49 +0000 (00:28 -0700)]
Parser: Allow disabling magic link functionality
The magic link functionality is "old backwards-compatibility baggage"
that we probably want to get rid of eventually. The first step to doing
so would be making it configurable and allowing it to be turned off on
wikis that don't use it.
This adds each of the 3 magic link types as individual parser options,
which can be controlled by the $wgEnableMagicLinks setting.
Additionally, wfEscapeWikiText() was updated to only escape enabled
magic link types.
Bug: T47942
Change-Id: If63965f31d17da4b864510146e0018da1cae188c
jenkins-bot [Tue, 13 Sep 2016 04:58:02 +0000 (04:58 +0000)]
Merge "MapCacheLRU: Support null values in getWithSetCallback()"
Kunal Mehta [Tue, 13 Sep 2016 04:32:53 +0000 (21:32 -0700)]
Add WikiPage::isLocal()
WikiFilePage has a isLocal() function which indicates whether the file
is local or not. To better support other remote content, add this method
to the base WikiPage class. It only returns true currently, since all
content represented by WikiPage is local.
Change-Id: Ia39c405af4d131d919a57512e72a112bd65cc461
Aaron Schulz [Tue, 13 Sep 2016 04:48:51 +0000 (21:48 -0700)]
Make DeferredUpdates call setTransactionTicket() on all DataUpdate tasks
This assues that things like LinksUpdate/LinksDeletionUpdate will
have a proper ticket for commitAndWaitForReplication()
Change-Id: I8234510efb706394c39c4027ddf54ace76983aa9
Kunal Mehta [Tue, 13 Sep 2016 04:29:41 +0000 (21:29 -0700)]
LocalIdLookup: Use DBAccessObjectUtils
This simplies some code that was re-implementing
DBAccessObjectUtils::getDBOptions().
Change-Id: Ib446f43149abdf23f07f209ccd9698923f0a2c22
Kunal Mehta [Tue, 13 Sep 2016 04:29:09 +0000 (21:29 -0700)]
CentralIdLookup: Fix documentation of self::$instances
Change-Id: I9fd86c174832e130647e74f4fdeb9fdc7c90702e
Kunal Mehta [Tue, 13 Sep 2016 04:27:50 +0000 (21:27 -0700)]
session: Fix phpdoc in Token::toStringAtTimestamp()
Change-Id: I35664eb9e89ffb945eb35bf3af58e1efdea0a8ff
Kunal Mehta [Tue, 13 Sep 2016 04:27:25 +0000 (21:27 -0700)]
WikiPage: Use Title::isKnown() in hasViewableContent()
The current implementation of hasViewableContent() is basically the same
as Title::isKnown(), except that it switched the order of
isAlwaysKnown() and exists(). (Also it used WikiPage::exists() instead
of Title::exists(), but they're functionality equivalent).
This will make refactoring Title::isAlwaysKnown() easier in the future
as there is one less caller.
Change-Id: I698f08fb0f3e6c3bc702ec7d523d7eda063e18ca
Kunal Mehta [Tue, 13 Sep 2016 04:24:50 +0000 (21:24 -0700)]
Use late static binding in Article::newFromID()
Address the FIXME and remove subclass implementations by using late
static binding.
Change-Id: I4f1793c87dfe08f768a283128d14ee2226a9e275
Kunal Mehta [Tue, 13 Sep 2016 04:23:09 +0000 (21:23 -0700)]
MapCacheLRU: Support null values in getWithSetCallback()
The rest of this class supports having a key with a null value by using
array_key_exists() instead of isset(). So Use $this->has() in
getWithSetCallback() so a null value is still identified as set.
Change-Id: Ida74a6f7e284e98f9a7d76d97312ebe2ee343f10