lhc/web/wiklou.git
6 years agoRCFilters: Only show 'no filters' when actually none were found
Moriel Schottlender [Mon, 10 Jul 2017 15:22:18 +0000 (10:22 -0500)]
RCFilters: Only show 'no filters' when actually none were found

Bug: T170161
Change-Id: I50da0d21e84d7e0582437dd43760c93ecb557a56

6 years agoUse <link rel="license"> instead of <link rel="copyright">
Fomafix [Wed, 7 Jun 2017 12:11:08 +0000 (14:11 +0200)]
Use <link rel="license"> instead of <link rel="copyright">

"copyright" is not in the list of the allowed values for the attribut rel:
https://w3c.github.io/html/single-page.html#allowed-keywords-and-their-meanings

Bug: T167284
Change-Id: I09205bb146001d1d1d90e6a0f25d21851f3f697c

6 years agoRename ckb to Kurdish
Amir Sarabadani [Tue, 27 Jun 2017 21:37:42 +0000 (02:07 +0430)]
Rename ckb to Kurdish

Bug: T116761
Change-Id: If5abc7c859c3fbf13e3ebf1be98693ee6fc04d9a

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 8 Jul 2017 19:58:21 +0000 (21:58 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I7e6128d08d6a47a747d1d7732ae7df2beea3acce

6 years agoMerge "statsd: Rename MediawikiStatsdDataFactory to IBufferingStatsdDataFactory"
jenkins-bot [Sat, 8 Jul 2017 03:26:42 +0000 (03:26 +0000)]
Merge "statsd: Rename MediawikiStatsdDataFactory to IBufferingStatsdDataFactory"

6 years agoRCFilters: Only build tag list when experimental views are enabled
Roan Kattouw [Fri, 7 Jul 2017 22:36:13 +0000 (15:36 -0700)]
RCFilters: Only build tag list when experimental views are enabled

Follows-up 7725c755867ac1.

It's a waste otherwise, and buildChangeTagList() has perf issues.

Change-Id: Ifd7f81792fd7b5ee6e41ada756abbf0248f3eb36

6 years agoMerge "Autodiscover parser tests for extensions, deprecate $wgParserTestFiles"
jenkins-bot [Sat, 8 Jul 2017 01:01:15 +0000 (01:01 +0000)]
Merge "Autodiscover parser tests for extensions, deprecate $wgParserTestFiles"

6 years agoMerge "Use Sanitizer::stripAllTags( $x ) instead of html_entity_decode( strip_tags...
jenkins-bot [Sat, 8 Jul 2017 01:01:09 +0000 (01:01 +0000)]
Merge "Use Sanitizer::stripAllTags( $x ) instead of html_entity_decode( strip_tags( $x ) )"

6 years agoAutodiscover parser tests for extensions, deprecate $wgParserTestFiles
Kunal Mehta [Fri, 7 Jul 2017 22:26:21 +0000 (15:26 -0700)]
Autodiscover parser tests for extensions, deprecate $wgParserTestFiles

This implements autodiscovery of extension parser tests that are located
in the tests/parser/ directory. Any *.txt file in that directory tree
will be treated as a parser test.

Core parser tests are now defined in ParserTestRunner::$coreTestFiles,
and $wgParserTestFiles is marked as deprecated.

Bug: T143976
Change-Id: Ia24fd8ef52e6732c698153b17bb679a5f511a2a7

6 years agoMerge "SpecialRecentchanges: Globals for config are bad, m'kay"
jenkins-bot [Sat, 8 Jul 2017 00:31:52 +0000 (00:31 +0000)]
Merge "SpecialRecentchanges: Globals for config are bad, m'kay"

6 years agoMerge "RCFilters: Basic implementation of live updates"
jenkins-bot [Sat, 8 Jul 2017 00:28:22 +0000 (00:28 +0000)]
Merge "RCFilters: Basic implementation of live updates"

6 years agostatsd: Rename MediawikiStatsdDataFactory to IBufferingStatsdDataFactory
Timo Tijhof [Sat, 8 Jul 2017 00:19:39 +0000 (17:19 -0700)]
statsd: Rename MediawikiStatsdDataFactory to IBufferingStatsdDataFactory

Follows-up I2874175647e (7fdc3d09a3b).

* Avoid "MediaWiki" in class names. If unavoidable, always camelcase.
* Use a more descriptive name, matching the implementing the class ("Buffering").
* Use "I" prefix for consistency with other MediaWiki-provided interfaces.
  (Avoid "Interface" suffix, which is foreign to MediaWiki and is only used
  in the StatsdClient namespace, which this interface is not in).

Bug: T166354
Change-Id: I06de59122625f9c23e7c1a1bfa69a7ddabbf379e

6 years agoSpecialRecentchanges: Globals for config are bad, m'kay
James D. Forrester [Fri, 7 Jul 2017 23:01:17 +0000 (16:01 -0700)]
SpecialRecentchanges: Globals for config are bad, m'kay

Change-Id: I9ca7aead42ffee1e891525fc80f3438157f4fb2f

6 years agoRCFilters: Basic implementation of live updates
Roan Kattouw [Fri, 7 Jul 2017 18:15:29 +0000 (11:15 -0700)]
RCFilters: Basic implementation of live updates

Adds a live updates button that refreshes the changes list every 3 seconds.
For now this is pretty dumb in that it re-requests the entire list every time;
the next step would be to make it only load new changes using the &from=
query parameter.

Bug: T167743
Change-Id: Ic2ddea840e5c46f42b32ae4fff91138cacc28ec0

6 years agoUse Sanitizer::stripAllTags( $x ) instead of html_entity_decode( strip_tags( $x ) )
Roan Kattouw [Fri, 7 Jul 2017 23:35:07 +0000 (16:35 -0700)]
Use Sanitizer::stripAllTags( $x ) instead of html_entity_decode( strip_tags( $x ) )

We have a utility function for this, so let's use it.

What I don't understand though is why Sanitizer uses custom PHP implementations
for both tag stripping and entity decoding, instead of the built-in functions.
If there's a security reason for this or the built-ins are inadequate, that's
fine, but then that should be documented (and we should possibly ban usage
of the built-ins).

Change-Id: I2ba2ecd388cb3d9cd2360ecaa236f3d444f0eabf

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 7 Jul 2017 21:35:54 +0000 (23:35 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I43c7687a6be0a4b411287ccd2c3541c9edab5c30

6 years agoMerge "Fix font size / alignment of timestamps in enhanced recent changes"
jenkins-bot [Fri, 7 Jul 2017 19:34:23 +0000 (19:34 +0000)]
Merge "Fix font size / alignment of timestamps in enhanced recent changes"

6 years agoFix font size / alignment of timestamps in enhanced recent changes
Roan Kattouw [Fri, 7 Jul 2017 19:18:38 +0000 (12:18 -0700)]
Fix font size / alignment of timestamps in enhanced recent changes

font-family: monospace; causes the timestamps to have a smaller font size,
but font-family: monospace, monospace; doesn't.

Bug: T170010
Change-Id: I20a4ab12803d43e26ced429fe3b68939a1f2c13e

6 years agoMerge "Adjust Shortpages query with multiple content namespaces"
jenkins-bot [Fri, 7 Jul 2017 18:54:28 +0000 (18:54 +0000)]
Merge "Adjust Shortpages query with multiple content namespaces"

6 years agoMerge "Add Database::unionConditionPermutations()"
jenkins-bot [Fri, 7 Jul 2017 18:37:08 +0000 (18:37 +0000)]
Merge "Add Database::unionConditionPermutations()"

6 years agoMerge "mediawiki.UI: Remove deprecated `.mw-ui-constructive` class"
jenkins-bot [Fri, 7 Jul 2017 18:13:04 +0000 (18:13 +0000)]
Merge "mediawiki.UI: Remove deprecated `.mw-ui-constructive` class"

6 years agoMerge "SpecialNewFiles: Swap from/to date serverside"
jenkins-bot [Fri, 7 Jul 2017 16:16:32 +0000 (16:16 +0000)]
Merge "SpecialNewFiles: Swap from/to date serverside"

6 years agoSpecialNewFiles: Swap from/to date serverside
Matthias Mullie [Wed, 5 Jul 2017 10:12:16 +0000 (12:12 +0200)]
SpecialNewFiles: Swap from/to date serverside

Bug: T168695
Change-Id: I760096138da15a6f3b84a6db68ab5590f5a3e59b

6 years agoDocumentation: Fix return value of IDatabase::insertSelect()
Jesús Martínez Novo [Fri, 7 Jul 2017 10:58:21 +0000 (12:58 +0200)]
Documentation: Fix return value of IDatabase::insertSelect()

Implementation at Database returns bool, not IResultWrapper

Change-Id: Ic560bfcb45f0e9cd1f4e8334e3b5dfc4e682452a

6 years agoDisable VisualEditor welcome dialog when running Selenium tests
Željko Filipin [Wed, 5 Jul 2017 11:52:47 +0000 (13:52 +0200)]
Disable VisualEditor welcome dialog when running Selenium tests

Bug: T164721
Change-Id: I7b5f73c6fbaaa221ac1b689344f9015fb903220f

6 years agoMerge "Create users and pages for Selenium tests using action API"
jenkins-bot [Fri, 7 Jul 2017 05:11:26 +0000 (05:11 +0000)]
Merge "Create users and pages for Selenium tests using action API"

6 years agoCreate users and pages for Selenium tests using action API
Željko Filipin [Mon, 8 May 2017 10:10:18 +0000 (12:10 +0200)]
Create users and pages for Selenium tests using action API

This will make tests slightly more robust.

Bug: T164721
Bug: T167502
Change-Id: I9b2fea77b28af4f7f521490a0105e7d04730bc87

6 years agoMerge "parser: Add unit tests for parser output flags ('showflags' option)"
jenkins-bot [Fri, 7 Jul 2017 03:59:49 +0000 (03:59 +0000)]
Merge "parser: Add unit tests for parser output flags ('showflags' option)"

6 years agoMerge "parser: Add parser tests for 4 and 5 tildes in PST"
jenkins-bot [Fri, 7 Jul 2017 03:57:42 +0000 (03:57 +0000)]
Merge "parser: Add parser tests for 4 and 5 tildes in PST"

6 years agoMerge "Push all DeferredUpdates to POSTSEND queue when running that queue"
jenkins-bot [Fri, 7 Jul 2017 01:23:04 +0000 (01:23 +0000)]
Merge "Push all DeferredUpdates to POSTSEND queue when running that queue"

6 years agoMerge "Avoid high edit stash TTLs when a user signature was used"
jenkins-bot [Fri, 7 Jul 2017 01:21:30 +0000 (01:21 +0000)]
Merge "Avoid high edit stash TTLs when a user signature was used"

6 years agoparser: Add unit tests for parser output flags ('showflags' option)
Timo Tijhof [Fri, 7 Jul 2017 01:06:43 +0000 (18:06 -0700)]
parser: Add unit tests for parser output flags ('showflags' option)

Add logic to ParserTestRunner to allow testing of ParserOutput flags,
and use it in the existing {{REVISIONID}} test, and for the added
flag for user-signature from I77de05849c (T84843).

Change-Id: I96e3d050e17a2d7e3d0478c702ecd53310259f56

6 years agoparser: Add parser tests for 4 and 5 tildes in PST
Timo Tijhof [Fri, 7 Jul 2017 01:02:47 +0000 (18:02 -0700)]
parser: Add parser tests for 4 and 5 tildes in PST

Add logic in ParserTestRunner that sets the same fake timestamp
used by the Parser magic word expansion, also in ParserOptions,
which is used by preSaveTransform().

Change-Id: I5adacffccb1212651c3031ca2fc4c20f717ff24a

6 years agoMerge "Clarify what $params is for ApiBase methods to get Title/WikiPage"
jenkins-bot [Fri, 7 Jul 2017 00:10:45 +0000 (00:10 +0000)]
Merge "Clarify what $params is for ApiBase methods to get Title/WikiPage"

6 years agoMerge "objectcache: Use a separate postgres connection in SqlBagOStuff"
jenkins-bot [Fri, 7 Jul 2017 00:04:46 +0000 (00:04 +0000)]
Merge "objectcache: Use a separate postgres connection in SqlBagOStuff"

6 years agoClarify what $params is for ApiBase methods to get Title/WikiPage
Matthew Flaschen [Fri, 7 Jul 2017 00:01:30 +0000 (20:01 -0400)]
Clarify what $params is for ApiBase methods to get Title/WikiPage

Change-Id: I1bfae270072ba08db967a02a8e30047bc607e3a2

6 years agoAvoid high edit stash TTLs when a user signature was used
Aaron Schulz [Thu, 6 Jul 2017 23:23:32 +0000 (16:23 -0700)]
Avoid high edit stash TTLs when a user signature was used

This adds a new ParserOuput user-signature tracking flag.

Bug: T84843
Change-Id: I77de05849c15e17ee2b9b31b34172f4b6a49a38e

6 years agoobjectcache: Use a separate postgres connection in SqlBagOStuff
Aaron Schulz [Thu, 6 Jul 2017 21:13:01 +0000 (14:13 -0700)]
objectcache: Use a separate postgres connection in SqlBagOStuff

The flags to the driver use new connections for new LBs since
fda4d46fc4f810. This makes it consistent with what we do for
MySQL already.

This should fix warnings about TransactionProfiler in objectcache,
as well as warnings about "Pending writes" in WANObjectCache.

Bug: T167946
Bug: T154424
Change-Id: I0b0d9a7210b6a3270d32df778fcc4b9918d3dcd1

6 years agomediawiki.UI: Remove deprecated `.mw-ui-constructive` class
Volker E [Sat, 27 May 2017 23:44:47 +0000 (01:44 +0200)]
mediawiki.UI: Remove deprecated `.mw-ui-constructive` class

Removing `.mw-ui-constructive` class, which got deprecated in
I095eddfe5ec2f1fbc81939b67ed467484e15092b of v1.27.

Change-Id: I328ad277b82d724b51f07357785693fe54fe69ef

6 years agoPush all DeferredUpdates to POSTSEND queue when running that queue
Aaron Schulz [Tue, 4 Jul 2017 02:18:54 +0000 (19:18 -0700)]
Push all DeferredUpdates to POSTSEND queue when running that queue

This avoids putting updates in the PRESEND queue at a point where they
may never get run later in the request. The peculiarity lead to a
regression in 24842cfac.

Move "enqueue" logic to runUpdate() to simplify execute(). If job
insertion batching is strongly desired for a class, then it can use
MergeableUpdate.

Removed unused "update" field in $executeContext.

Bug: T168723
Change-Id: I40d16f6cd0adc8583797b99d859b76a836d362a8

6 years agoMerge "Fix/hack ErrorPageError to work from non-UI contexts"
jenkins-bot [Thu, 6 Jul 2017 20:28:37 +0000 (20:28 +0000)]
Merge "Fix/hack ErrorPageError to work from non-UI contexts"

6 years agoFix/hack ErrorPageError to work from non-UI contexts
Chad Horohoe [Thu, 6 Jul 2017 19:42:11 +0000 (12:42 -0700)]
Fix/hack ErrorPageError to work from non-UI contexts

Right now, ErrorPageError *assumes* you're never running on the cli
or the API. It's kinda a crappy superclass to use for errors unless
you're 1000% sure you'll never hit that code path. Yay assumptions!

Ideally, all of this report() crap is cleaned up and unified across
the like 1192902117 places we have it spread out, but for now just
detect the scenario and delegate back to MWException, which does the
right thing

Bug: T168337
Change-Id: Ia2f490528e128527a7a5ef1f4f5eea36ec9ee810

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 6 Jul 2017 19:55:30 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I7a5c19be2807aa5556ad6c648c5218991e21a4de

6 years agoMerge "Expose LinkRenderer for LogFormatter instances"
jenkins-bot [Thu, 6 Jul 2017 18:26:07 +0000 (18:26 +0000)]
Merge "Expose LinkRenderer for LogFormatter instances"

6 years agoMerge "Fix error reporting in Special:Undelete"
jenkins-bot [Thu, 6 Jul 2017 17:53:03 +0000 (17:53 +0000)]
Merge "Fix error reporting in Special:Undelete"

6 years agoMerge "Add tracking for resolved conflicts"
jenkins-bot [Thu, 6 Jul 2017 14:31:24 +0000 (14:31 +0000)]
Merge "Add tracking for resolved conflicts"

6 years agoMerge "Add canonical id to header on action=info"
jenkins-bot [Thu, 6 Jul 2017 10:28:16 +0000 (10:28 +0000)]
Merge "Add canonical id to header on action=info"

6 years agoTake screenshot if a Selenium test fails
Željko Filipin [Thu, 6 Jul 2017 08:54:21 +0000 (10:54 +0200)]
Take screenshot if a Selenium test fails

Bug: T164721
Change-Id: I932fccb3fe523b526146df66950ee764bd33bac7

6 years agoMerge "Turn ParserCache into a service, deprecate $parserMemc"
jenkins-bot [Thu, 6 Jul 2017 03:11:51 +0000 (03:11 +0000)]
Merge "Turn ParserCache into a service, deprecate $parserMemc"

6 years agoMerge "DeprecatedGlobal: Support lazy-loading via StubObject"
jenkins-bot [Thu, 6 Jul 2017 03:11:47 +0000 (03:11 +0000)]
Merge "DeprecatedGlobal: Support lazy-loading via StubObject"

6 years agoTurn ParserCache into a service, deprecate $parserMemc
Kunal Mehta [Tue, 30 May 2017 00:10:16 +0000 (17:10 -0700)]
Turn ParserCache into a service, deprecate $parserMemc

ParserCache is already a singleton, making it a good candidate for a
service. $parserMemc is an odd global (it lacks the "wg" prefix) and is
ripe for deprecation.

The following are now deprecated:
* $parserMemc global
* ParserCache::singleton()
* wfGetParserCacheStorage()

A ParserCache::getCacheStorage() method was added for cases where direct
access to the underlying BagOStuff object is necessary.

Usage of $parserMemc will emit deprecation warnings through the
DeprecatedGlobal class mechanism. All usage in core was migrated.

Also take this opportunity to inject the $wgCacheEpoch global value into
ParserCache. This will require an update to the FlaggedRevs extension.

Change-Id: I2ac7afff0d8522214329248c3d1cdccd0f72bbd4

6 years agoDeprecatedGlobal: Support lazy-loading via StubObject
Kunal Mehta [Sun, 11 Jun 2017 01:07:11 +0000 (18:07 -0700)]
DeprecatedGlobal: Support lazy-loading via StubObject

Either a factory function or the class name should be passed in.
Providing the actual value is no longer supported.

And provide tests for DeprecatedGlobal.

Change-Id: I7180cc99c3a01e34f39a9abe54bd1d08137117ed

6 years agoMerge "Linker: Do not localize links to other wikis in comments"
jenkins-bot [Thu, 6 Jul 2017 02:08:02 +0000 (02:08 +0000)]
Merge "Linker: Do not localize links to other wikis in comments"

6 years agoLinker: Do not localize links to other wikis in comments
Matěj Suchánek [Thu, 29 Jun 2017 13:06:24 +0000 (15:06 +0200)]
Linker: Do not localize links to other wikis in comments

The title, although it refers to a foreign page, is considered local
due to Title::isExternal() being false, hence it's namespace prefix
is localized.

We need to use the canonical namespace name instead.

Bug: T169221
Change-Id: I5e5f7d873b9497ca6c8853e7d8170a4f4f07c051

6 years agoMerge "Update mediawiki/mediawiki-codesniffer to 0.8.1"
jenkins-bot [Wed, 5 Jul 2017 21:52:39 +0000 (21:52 +0000)]
Merge "Update mediawiki/mediawiki-codesniffer to 0.8.1"

6 years agoUpdate mediawiki/mediawiki-codesniffer to 0.8.1
Reedy [Wed, 5 Jul 2017 20:57:56 +0000 (21:57 +0100)]
Update mediawiki/mediawiki-codesniffer to 0.8.1

Change-Id: I7ac436521fcba3fa9ae8775fcf589a06ddcadd9e

6 years agoPerform chunked uploads from upload dialog
Matthias Mullie [Wed, 28 Jun 2017 15:24:42 +0000 (17:24 +0200)]
Perform chunked uploads from upload dialog

These should be a little more resilient to network issues.
There is no longer 1 huge chunk that can fail, it'll now
be a bunch of more discreet chunks, and it'll retry once
(by default) if a chunk fails.

Bug: T132611
Change-Id: Ib9cc2c77a27658accf728fb37f8cebc879a467d2

6 years agoAdd mw.api.chunkedUploadToStash
Matthias Mullie [Wed, 28 Jun 2017 15:24:19 +0000 (17:24 +0200)]
Add mw.api.chunkedUploadToStash

Change-Id: I5d181e8a13fc5310ebd0fbb854def42bfb33d6c4

6 years agoMerge "Add mediastatistics-header-3d"
jenkins-bot [Wed, 5 Jul 2017 20:07:47 +0000 (20:07 +0000)]
Merge "Add mediastatistics-header-3d"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 5 Jul 2017 19:54:35 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I5445497e09dea043da64d53925b7df30ac22edee

6 years agoMerge "Added chunked upload support to upload.js"
jenkins-bot [Wed, 5 Jul 2017 19:42:01 +0000 (19:42 +0000)]
Merge "Added chunked upload support to upload.js"

6 years agoMerge "Fix phrase search"
jenkins-bot [Wed, 5 Jul 2017 18:35:16 +0000 (18:35 +0000)]
Merge "Fix phrase search"

6 years agoMerge "Add two new hooks to fix broken CentralAuth unit tests"
jenkins-bot [Wed, 5 Jul 2017 17:54:07 +0000 (17:54 +0000)]
Merge "Add two new hooks to fix broken CentralAuth unit tests"

6 years agoMerge "Pass old user options in PreferencesFormPreSave hook"
jenkins-bot [Wed, 5 Jul 2017 17:23:08 +0000 (17:23 +0000)]
Merge "Pass old user options in PreferencesFormPreSave hook"

6 years agoAdd two new hooks to fix broken CentralAuth unit tests
Max Semenik [Thu, 29 Jun 2017 00:14:18 +0000 (17:14 -0700)]
Add two new hooks to fix broken CentralAuth unit tests

* UnitTestsAfterDatabaseSetup
* UnitTestsBeforeDatabaseTeardown
Bug T168802 necessitates that CentralAuth creates its tables
before any user tests are run, due to its extensive hooking
into everything. This change adds two hooks for that, called
after DB initialization is done and before teardown begins. The
corresponding CentralAuth change is
at I618840fafd22d9b6471eb470ef0414e354aa17f5

Bug: T168802
Change-Id: If7050513719833d4167a24283885d7c10a25856b

6 years agoPass old user options in PreferencesFormPreSave hook
Piotr Miazga [Tue, 4 Jul 2017 18:30:45 +0000 (20:30 +0200)]
Pass old user options in PreferencesFormPreSave hook

Changes:
 - added one argument to PreferencesFormPreSave hook,
   a $oldUserOptions array which contains set of all user
   options before save
 - updated documentation

Bug: T169365
Change-Id: I28003c5898d64031e1efb212cb0bec58ff44b958

6 years agoAdd mediastatistics-header-3d
Matthias Mullie [Wed, 5 Jul 2017 09:09:52 +0000 (11:09 +0200)]
Add mediastatistics-header-3d

Bug: T169681
Change-Id: I8d6b07ebc83ac8f15f07b25bb3688567f2c1430f

6 years agoMerge "Fix Revi's mailmap email address"
jenkins-bot [Tue, 4 Jul 2017 21:07:03 +0000 (21:07 +0000)]
Merge "Fix Revi's mailmap email address"

6 years agoFix Revi's mailmap email address
Yongmin Hong [Mon, 3 Jul 2017 17:42:01 +0000 (02:42 +0900)]
Fix Revi's mailmap email address

I just realized it was using old email address. While it redirects
to the new address, it's better to have it fixed.

Change-Id: I2df2a32f6144acca985d04b4bf58372343d119f6

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 4 Jul 2017 20:03:10 +0000 (22:03 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Id315d69a372c235c67b158549ddc14d57d807b08

6 years agoMerge "Allow install.php to run env-checks with no db"
jenkins-bot [Tue, 4 Jul 2017 19:42:56 +0000 (19:42 +0000)]
Merge "Allow install.php to run env-checks with no db"

6 years agoMerge "Don't ask for password for env-checks in install.php"
jenkins-bot [Tue, 4 Jul 2017 19:42:52 +0000 (19:42 +0000)]
Merge "Don't ask for password for env-checks in install.php"

6 years agoAllow install.php to run env-checks with no db
addshore [Tue, 4 Jul 2017 18:39:42 +0000 (19:39 +0100)]
Allow install.php to run env-checks with no db

Bug: T169668
Change-Id: Ibb05b26cbf2d26c02ee7f26497e16d2c98e97de2

6 years agoDon't ask for password for env-checks in install.php
addshore [Tue, 4 Jul 2017 18:22:23 +0000 (19:22 +0100)]
Don't ask for password for env-checks in install.php

Bug: T169669
Change-Id: I00dbaca0e4532ecc499317ec8f1cb7f9eb872db3

6 years agoDisplay categories on File redirects
Matthias Mullie [Thu, 26 Jan 2017 13:43:19 +0000 (14:43 +0100)]
Display categories on File redirects

This NS_FILE-specific redirect logic was introduced in 2008,
in 3c9536652a3b27ec97cb2e3f046c5e98849c58a4.

mTitle, as referenced to in the comments, no longer exists.
Article also no longer creates redirects in there, that’s now
in WikitextContent::fillParserOutput.
The original commit message describes that this was introduced
to be able to display redirects to foreign file repos. A lot
has changed in how that works since 2008, too :)

Back to the present: for redirects to foreign repos,
`$this->mPage->getFile()->getRedirected()` seems to always return
`null` (a placeholder object is created when the thing doesn’t
exist), so this this foreign repo-specific bit of code is bypassed
anyway. For local redirects, Article::view seems to be working just
fine.

By using Article::view, Categories used on file redirect pages
will now actually be displayed too.

And we can get rid of the otherwise no longer used Article::viewRedirect.

Bug: T29857
Change-Id: Icb02f3af32d10870f58d945cb06a84b3ba1305d3

6 years agoMerge "Skin: Use WANObjectCache for sitenotice caching"
jenkins-bot [Tue, 4 Jul 2017 02:29:57 +0000 (02:29 +0000)]
Merge "Skin: Use WANObjectCache for sitenotice caching"

6 years agoRemove ParserOptions::legacyOptions() and cleanup related code
Brad Jorsch [Wed, 21 Jun 2017 16:21:45 +0000 (12:21 -0400)]
Remove ParserOptions::legacyOptions() and cleanup related code

ParserOptions::legacyOptions() has been sitting around since 1.17.
Originally it seems to have been intended as a way to avoid a mass cache
invalidation (similar to optionsHashPre30() from I7fb9ffca9). That code
was mostly removed in 1.23, but legacyOptions() was left behind because
it was also being used in a few places as "all cache-varying options"
(despite it not being documented for that purpose) where we'd rather
have any key than no key at all.

This patch creates an actual ParserOptions::allCacheVaryingOptions()
method for those use cases and deprecates the long-obsolete
legacyOptions().

It also makes more explicit the use of the "all cache-varying options"
fallback in ParserCache::getKey(), and doesn't bother trying to use that
fallback in ParserCache::get() where it no longer makes sense.

Change-Id: Ife1e54744155136a570210c03fe907f18f8e8ece

6 years agoRCFilters: Fix parameter name for "namespace"
Catrope [Mon, 3 Jul 2017 23:29:15 +0000 (23:29 +0000)]
RCFilters: Fix parameter name for "namespace"

Bug: T169579
Change-Id: I3e4c22ab28ccc65275246a777172bdc2fe611a9e

6 years agoSkin: Use WANObjectCache for sitenotice caching
Timo Tijhof [Sat, 1 Jul 2017 04:19:31 +0000 (21:19 -0700)]
Skin: Use WANObjectCache for sitenotice caching

* Move the md5() hash to the cache key, this makes it much safer
  after a change happens by avoiding write competitions between different
  servers and db slaves. It also allows an undo to re-use the existing
  cache if it still exists.

  In addition, it enables idiomatic use of getWithSetCallback given
  that get and set are now logically separated.

* Avoid fragile re-use of variable names. Previously it read the
  original $notice value at multiple points but also setting $notice
  to $parsed after a certain point. Consistently use $parsed only.

(Ref T115890.)

Change-Id: I5488cc894ff1544e6c20b7d51a7a2adfc292c4ec

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 3 Jul 2017 20:03:03 +0000 (22:03 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I1a872a41132ae96bcd018094649e5310fef41146

6 years agoMerge "Remove empty lines at begin of function, if, foreach, switch"
jenkins-bot [Mon, 3 Jul 2017 19:19:27 +0000 (19:19 +0000)]
Merge "Remove empty lines at begin of function, if, foreach, switch"

6 years agoMerge "Move wgBreakFrames client code to mediawiki.page.startup"
jenkins-bot [Mon, 3 Jul 2017 19:13:15 +0000 (19:13 +0000)]
Merge "Move wgBreakFrames client code to mediawiki.page.startup"

6 years agoRCFilters: Reverse the sorting on tags
Moriel Schottlender [Mon, 3 Jul 2017 17:19:48 +0000 (10:19 -0700)]
RCFilters: Reverse the sorting on tags

We want the results to show most used tags on top and least
on bottom, so use a reverse sort.

Bug: T166914
Change-Id: I1473070ac9293626bde5e95dad79c7e0ca954f70

6 years agoAvoid double HTML encoding
Fomafix [Mon, 3 Jul 2017 07:13:09 +0000 (09:13 +0200)]
Avoid double HTML encoding

Html:element() already makes an HTML encoding. The additional
htmlspecialchars is not necessary.

Change-Id: If0530c3d3cb0d3cc61e849a1c84ae0d68c242517

6 years agoFix phrase search
David Causse [Thu, 29 Jun 2017 08:29:13 +0000 (10:29 +0200)]
Fix phrase search

Partially revert I61dc536 that broke phrase search support.

Fix phrase search by making explicit that there are two
kind of legalSearchChars() usecases :

- the chars allowed to be part of the search query (including special
  syntax chars such as " and *). Used by SearchDatabase::filter() to
  cleanup the whole query string (the default).

- the chars allowed to be part of a search term (excluding special
  syntax chars) Used by search engine implementaions when parsing with
  a regex.

For future reference:
Originally this distinction was made "explicit" by calling directly
SearchEngine::legalSearchChars() during the parsing stage. This was
broken by Iaabc10c by enabling inheritance.
This patch adds a new optional param to legalSearchChars to make this
more explicit.

Also remove the function I introduced in I61dc536 (I wrongly assumed
that the disctinction made between legalSearchChars usecases was due
to a difference in behavior between indexing and searching).

Added more tests to prevent this from happening in the future.

Bug: T167798
Change-Id: Ibdc796bb2881a2ed8194099d8c9f491980010f0f

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 2 Jul 2017 19:55:08 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ic4006ba2d837d0e47d94591742d418ad517e4d26

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 1 Jul 2017 19:55:08 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ic282c8a9b73144ad7351da0bde0706bc0d1c66a8

6 years agoRemove empty lines at begin of function, if, foreach, switch
Umherirrender [Sat, 1 Jul 2017 08:32:08 +0000 (10:32 +0200)]
Remove empty lines at begin of function, if, foreach, switch

Organize phpcs.xml a bit

Change-Id: Ifb767729b481b4b686e6d6444cf48b1f580cc478

6 years agoMerge "resourceloader: Minor documentation and coding style improvements"
jenkins-bot [Sat, 1 Jul 2017 00:46:16 +0000 (00:46 +0000)]
Merge "resourceloader: Minor documentation and coding style improvements"

6 years agoresourceloader: Minor documentation and coding style improvements
Timo Tijhof [Sat, 1 Jul 2017 00:31:56 +0000 (17:31 -0700)]
resourceloader: Minor documentation and coding style improvements

Based on current non-voting codesniffer warnings.

Change-Id: I34cbc31eda3eaa519a71fe2c04122859f2f15914

6 years agoPush lazy jobs when exceptions are handled by MWExceptionHandler
Aaron Schulz [Wed, 24 May 2017 19:01:31 +0000 (12:01 -0700)]
Push lazy jobs when exceptions are handled by MWExceptionHandler

Remove the exit(1), which does not seem to be needed by any callers.
Doing so means that post-send updates can still happen, such as the
pushing of lazy jobs.

Better avoid showing exceptions in doPostOutputShutdown(), given
that an error may have already been shown. By the post-send part,
it's to late to show errors anyway.

Bug: T100085
Change-Id: Ib1c75323f222a0e02603d6415626a4b233e8e1c7

6 years agoMerge "Always log exceptions in rollbackMasterChangesAndLog()"
jenkins-bot [Fri, 30 Jun 2017 23:33:34 +0000 (23:33 +0000)]
Merge "Always log exceptions in rollbackMasterChangesAndLog()"

6 years agoAlways log exceptions in rollbackMasterChangesAndLog()
Aaron Schulz [Fri, 30 Jun 2017 22:01:33 +0000 (15:01 -0700)]
Always log exceptions in rollbackMasterChangesAndLog()

MWExceptionHandler::rollbackMasterChangesAndLog() only logged exceptions
if there were already master changes. This is extremely problematic when
debugging, especially in situations like DeferredUpdates where they were
silently being swallowed.

This makes it log exceptions in all paths, erring on the side of logging
the same exception twice (theoretically it's possible I suppose) instead
of not at all.

Also make the method able to handle DBError exceptions, which most of
the callers seemed to be assuming. ApiMain was handling this explicitly.

Bug: T168347
Change-Id: I8739051f824a455ba669344184c3b11ac95cb561

6 years agoMerge "RCFilters: Trim spaces in saved query names"
jenkins-bot [Fri, 30 Jun 2017 22:20:48 +0000 (22:20 +0000)]
Merge "RCFilters: Trim spaces in saved query names"

6 years agoMerge "RCFilters: Change tooltip messages for view buttons"
jenkins-bot [Fri, 30 Jun 2017 22:20:15 +0000 (22:20 +0000)]
Merge "RCFilters: Change tooltip messages for view buttons"

6 years agoRCFilters: Change tooltip messages for view buttons
Moriel Schottlender [Thu, 29 Jun 2017 23:38:27 +0000 (16:38 -0700)]
RCFilters: Change tooltip messages for view buttons

Bug: T167384
Change-Id: I30ec6b8931539ccaad8d2d1a609d117f2a13767d

6 years agoMerge "Allow search suggestions in skins operating in mobile mode"
jenkins-bot [Fri, 30 Jun 2017 22:05:59 +0000 (22:05 +0000)]
Merge "Allow search suggestions in skins operating in mobile mode"

6 years agoMerge "resourceloader: Allow mobile target by default on SkinModule"
jenkins-bot [Fri, 30 Jun 2017 21:59:33 +0000 (21:59 +0000)]
Merge "resourceloader: Allow mobile target by default on SkinModule"

6 years agoAllow search suggestions in skins operating in mobile mode
jdlrobson [Fri, 30 Jun 2017 21:22:56 +0000 (14:22 -0700)]
Allow search suggestions in skins operating in mobile mode

MobileFrontend silently removes this skin from the page. This is
now made explicit and the module can be safely loaded in a mobile
environment.

This is used by both Timeless which although does not work
perfectly on a mobile device it should be easy to fix with additional
work.

Change-Id: Iedea2872d14430db452cec7e758f20d854778414
Depends-On: Ic36e9792f9217f3fd37bbd1f5c66d894301363f0

6 years agoresourceloader: Allow mobile target by default on SkinModule
jdlrobson [Fri, 30 Jun 2017 19:27:04 +0000 (12:27 -0700)]
resourceloader: Allow mobile target by default on SkinModule

If a skin is using this class, it's likely to be pretty new.
The targets system was mostly created for older code.

Let's make this the default so skins don't need to do anything
additional to work on mobile.

This simple change makes the Timeless skin work on mobile
when MobileFrontend is installed: ?useformat=mobile&useskin=timeless
It looks beautiful :)

Change-Id: I2ab8a1a634bdc0b5b2084d227c7388b5382e93e8