lhc/web/wiklou.git
9 years agoMerge "Doxyfile: Suppress warnings for invalid @codingStandardsIgnoreStart"
jenkins-bot [Thu, 2 Apr 2015 22:29:09 +0000 (22:29 +0000)]
Merge "Doxyfile: Suppress warnings for invalid @codingStandardsIgnoreStart"

9 years agoMerge "mwdocgen: Exclude node_modules from Doxygen"
jenkins-bot [Thu, 2 Apr 2015 22:29:05 +0000 (22:29 +0000)]
Merge "mwdocgen: Exclude node_modules from Doxygen"

9 years agoMerge "DefaultSettings: Fix doxygen warning for missing @endcond"
jenkins-bot [Thu, 2 Apr 2015 22:29:02 +0000 (22:29 +0000)]
Merge "DefaultSettings: Fix doxygen warning for missing @endcond"

9 years agoMerge "Use structured logging/MWLoggerFactory for TransactionProfiler"
jenkins-bot [Thu, 2 Apr 2015 21:20:54 +0000 (21:20 +0000)]
Merge "Use structured logging/MWLoggerFactory for TransactionProfiler"

9 years agoMerge "Don't trigger MessageBlobStore during tests"
jenkins-bot [Thu, 2 Apr 2015 21:16:37 +0000 (21:16 +0000)]
Merge "Don't trigger MessageBlobStore during tests"

9 years agoLogFormatter: Indent code to fix Doxygen parse error
Timo Tijhof [Tue, 31 Mar 2015 23:48:04 +0000 (00:48 +0100)]
LogFormatter: Indent code to fix Doxygen parse error

This file was not being indexed due to a parse error.

> /includes/logging/LogFormatter.php:844:
>   warning: Reached end of file while still inside a (nested) comment.
>   Nesting level 2 (probable line reference: 48, 26)

Change-Id: Ie34ae644d06e705991b934d4389e8c41bb7f77a7

9 years agoMerge "Added read-only checks around User::saveSettings where they belong"
jenkins-bot [Thu, 2 Apr 2015 18:34:50 +0000 (18:34 +0000)]
Merge "Added read-only checks around User::saveSettings where they belong"

9 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Thu, 2 Apr 2015 18:32:41 +0000 (18:32 +0000)]
Merge "Localisation updates from https://translatewiki.net."

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 2 Apr 2015 18:28:33 +0000 (20:28 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Iabff7129bf55c58ec92f46dd34457093409087f2

9 years agoMerge "Simplify profiler output class selection"
jenkins-bot [Thu, 2 Apr 2015 18:22:44 +0000 (18:22 +0000)]
Merge "Simplify profiler output class selection"

9 years agoAdded read-only checks around User::saveSettings where they belong
Aaron Schulz [Mon, 30 Mar 2015 19:00:07 +0000 (12:00 -0700)]
Added read-only checks around User::saveSettings where they belong

* Ideally saveSettings() would not just silently do nothing in
  read-only mode as not all callers expect that behavior. This
  change is just the first step.

Change-Id: Ieeaf531dac3027ddba89c60159b98f9c04de78d3

9 years agoSimplify profiler output class selection
Ori Livneh [Thu, 2 Apr 2015 17:46:57 +0000 (10:46 -0700)]
Simplify profiler output class selection

Instead of maintaining a mapping of short names to class names ('db' =>
'ProfilerOutputDb', etc.), let us adopt the convention of using the full
class name to indicate the output type. We can maintain backward-compatibility
by using simple string manipulation to transform short names to the full class
names.

Change-Id: I976e0da2873d88b9892fb41823cfe3af0a2d3974

9 years agoMinor cleanups
Max Semenik [Wed, 1 Apr 2015 00:13:47 +0000 (17:13 -0700)]
Minor cleanups

* Declare undeclared variables
* Kill unused variables
* Fix comments including PHPDoc

Change-Id: I60015f6b6740aa9088bda3745f4dc4e65e29fcb1

9 years agoDon't require database access in ApiMainTest
Kunal Mehta [Sun, 29 Mar 2015 08:41:38 +0000 (01:41 -0700)]
Don't require database access in ApiMainTest

It's still slow though because ApiTestCase does expensive things in
setUp(), but nothing in these tests need database access anymore.

Change-Id: Iaf431cc62fe23154c42967e6391c533fe1c5346e

9 years agoMerge "Remove redundant NS_MAIN from translations"
jenkins-bot [Thu, 2 Apr 2015 15:30:07 +0000 (15:30 +0000)]
Merge "Remove redundant NS_MAIN from translations"

9 years agoMerge "Change labels of paging links in Category page"
jenkins-bot [Thu, 2 Apr 2015 14:17:54 +0000 (14:17 +0000)]
Merge "Change labels of paging links in Category page"

9 years agoMerge "Message: Clean up unit tests and improve code coverage"
jenkins-bot [Thu, 2 Apr 2015 13:25:28 +0000 (13:25 +0000)]
Merge "Message: Clean up unit tests and improve code coverage"

9 years agoMessage: Clean up unit tests and improve code coverage
Timo Tijhof [Thu, 2 Apr 2015 07:01:38 +0000 (08:01 +0100)]
Message: Clean up unit tests and improve code coverage

* Remove unnecessary use of ReflectionClass. It was testing
  internal properties that aren't part of the API. Using the
  getters instead.

* Remove need for func_get_args that was making the test more
  complex and the data provider hard to read. Simply maintain
  it as array of expected params and array of variadic arguments.

* Rename tests to more closely match tested methods.

* Rename data providers to provide*, and make them static.

* Reorder tests to more closely match logical order of the class.

* Improve line coverage from 31% to 67%.

Also:
* Remove testParams (dupes testConstructorParams).
* Add tests for RawMessage class.
* Add tests for transformation and parsing.
* Add tests for wfMessage().
* Add tests for Message::newFrom*.
* Add tests for "$*" replacement.
* Add tests for __toString.

Change-Id: I2b183a66f9e9f51bd800088e174b1ae4d3284d8d

9 years agoUser: Add unit tests for getId, isAnon and isLoggedIn
Timo Tijhof [Thu, 2 Apr 2015 01:15:50 +0000 (02:15 +0100)]
User: Add unit tests for getId, isAnon and isLoggedIn

Change-Id: Ie007d9da47df871f99ca19c4d7364f46f71c255b

9 years agoFollow-up to Icf644ad34: Introduce ProfilerOutputStats
Ori Livneh [Thu, 2 Apr 2015 04:09:20 +0000 (21:09 -0700)]
Follow-up to Icf644ad34: Introduce ProfilerOutputStats

Change-Id: Ib3585303b75899c4cd7c9c88fb3473b441e52c23

9 years agoIntroduce ProfilerOutputStats
Ori Livneh [Wed, 1 Apr 2015 23:30:16 +0000 (16:30 -0700)]
Introduce ProfilerOutputStats

* Associate Profiler objects with a request context by adding a $context
  property with a getter and a setter.
* Introduce ProfilerOutputStats, which writes profiling data to the stats
  buffer associated with the current request context.
* Make it the Profiler class's responsibility to enforce $wgProfilerLimit.
* Deprecate $wgProfilerLimit in favor of the (more aptly named, IMO)
  $wgProfiler['threshold'] config setting.
* Tidy up Profiler instance creation code in Profiler::instance().
* Add Profiler::getOutputs, which returns an array of ProfilerOutput instances
  which are configured for the current profiler and whose canUse() method
  returns true.
* Make ProfilerStub not log by creating a stub ProfilerStub::logData() method
  which does not call the parent. Previously the parent class checked if $this
  was an instance of ProfilerStub and returned early if so.

Task: T90623
Task: T85641
Change-Id: Icf644ad3435c1f30d0a49957a97b481808a3153d

9 years agoMake WebRequest objects time-aware
Ori Livneh [Wed, 1 Apr 2015 23:16:09 +0000 (16:16 -0700)]
Make WebRequest objects time-aware

* Deprecate $wgRequestTime in favor of $_SERVER['REQUEST_TIME_FLOAT'], which is
  more accurate. Because $_SERVER['REQUEST_TIME_FLOAT'] is only set for PHP
  5.4+, set it to microtime( true ) in WebStart.php for back-compatibility.
* Add a 'requestTime' property to WebRequest objects, set to
  $_SERVER['REQUEST_TIME_FLOAT'] for WebRequest or the instance creation time
  for FauxRequest instances.
* Use that to provide WebRequest::getElapsedTime(), which gets the time since
  the request was initiated.
* In wfLogProfilingData(), get the user and request objects from the context
  object rather than from global scope.

Opportunistic clean-up: move the magic quotes check to WebStart.php and make
the error message more helpful.

Change-Id: I7e07e22eaf16b5141b80ad9f843285c542a127b7

9 years agoMerge "tests: Clean up file headers"
jenkins-bot [Wed, 1 Apr 2015 22:27:33 +0000 (22:27 +0000)]
Merge "tests: Clean up file headers"

9 years agoMerge "installer: Use wfLoadExtension/Skin in LocalSettingsGenerator"
jenkins-bot [Wed, 1 Apr 2015 22:27:27 +0000 (22:27 +0000)]
Merge "installer: Use wfLoadExtension/Skin in LocalSettingsGenerator"

9 years agoMerge "Sync up with Parsoid parserTests."
jenkins-bot [Wed, 1 Apr 2015 20:48:50 +0000 (20:48 +0000)]
Merge "Sync up with Parsoid parserTests."

9 years agoMerge "ResourceLoaderImageModule: Remove stupid TODO"
jenkins-bot [Wed, 1 Apr 2015 20:18:28 +0000 (20:18 +0000)]
Merge "ResourceLoaderImageModule: Remove stupid TODO"

9 years agoSync up with Parsoid parserTests.
Subramanya Sastry [Wed, 1 Apr 2015 20:07:44 +0000 (15:07 -0500)]
Sync up with Parsoid parserTests.

This now aligns with Parsoid commit ea9c04956577c35ec15609a966bf5a4d5541ab45

Change-Id: I310a0c652eb41a9845cfaa3c90262762b6ee4cc8

9 years agoMerge "Make all QUnit tests pass for languages other than English"
jenkins-bot [Wed, 1 Apr 2015 19:46:19 +0000 (19:46 +0000)]
Merge "Make all QUnit tests pass for languages other than English"

9 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Wed, 1 Apr 2015 19:37:35 +0000 (19:37 +0000)]
Merge "Localisation updates from https://translatewiki.net."

9 years agoResourceLoaderImageModule: Remove stupid TODO
Bartosz Dziewoński [Wed, 1 Apr 2015 19:35:43 +0000 (21:35 +0200)]
ResourceLoaderImageModule: Remove stupid TODO

Change-Id: I36ade1713b593504a34b1ec92bc4d9e536aa262a

9 years agoMake all QUnit tests pass for languages other than English
Schnark [Tue, 24 Mar 2015 10:33:47 +0000 (10:33 +0000)]
Make all QUnit tests pass for languages other than English

Some tablesorter tests were failing for a content language different from
English, and the test for two functions from mw.language for a different
UI language.
This patch provides a mocked environment for all these tests, simulating
English language.

Bug: T59776
Change-Id: Ibfc83c34a896dc5fb5e892fb0ffd60e618880781

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 1 Apr 2015 19:31:59 +0000 (21:31 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I32d1c7cf05c4981322f4111c8d997f08b79b05bf

9 years agoResourceLoaderImageModule: Remove bogus CSSJanus call
Bartosz Dziewoński [Mon, 30 Mar 2015 17:27:31 +0000 (19:27 +0200)]
ResourceLoaderImageModule: Remove bogus CSSJanus call

We explicitly do not want to use CSSJanus flipping here, as
ResourceLoaderImage has a separate and more sophisticated mechanism
for choosing the right image for given language. This was a no-op,
since there were no flippable paths in the output at this point.

Change-Id: Ieff5f21653504a28afe3d4c110a52d8b06fc6a07

9 years agoMerge "Use "string|false" as @return instead of "string|bool" where appropiate"
jenkins-bot [Wed, 1 Apr 2015 19:05:30 +0000 (19:05 +0000)]
Merge "Use "string|false" as @return instead of "string|bool" where appropiate"

9 years agoResources.php: Remove duplicate copy of 'oojs-ui.styles' module
Bartosz Dziewoński [Wed, 1 Apr 2015 17:45:26 +0000 (19:45 +0200)]
Resources.php: Remove duplicate copy of 'oojs-ui.styles' module

derp

Change-Id: Id7cd440888818e387f5cae68a5a63d73d3e11876

9 years agoMerge "SECURITY: Don't allow entities in XMP with HHVM"
jenkins-bot [Wed, 1 Apr 2015 17:40:17 +0000 (17:40 +0000)]
Merge "SECURITY: Don't allow entities in XMP with HHVM"

9 years agoMerge "SECURITY: Don't allow directly calling Xml::isWellFormed"
jenkins-bot [Wed, 1 Apr 2015 17:40:13 +0000 (17:40 +0000)]
Merge "SECURITY: Don't allow directly calling Xml::isWellFormed"

9 years agoMerge "SECURITY: Always expand xml entities when checking SVG's"
jenkins-bot [Wed, 1 Apr 2015 17:40:10 +0000 (17:40 +0000)]
Merge "SECURITY: Always expand xml entities when checking SVG's"

9 years agoMerge "SECURITY: Escape > in Html::expandAttributes"
jenkins-bot [Wed, 1 Apr 2015 17:32:01 +0000 (17:32 +0000)]
Merge "SECURITY: Escape > in Html::expandAttributes"

9 years agoMerge "SECURITY: Don't execute another user's CSS or JS on preview"
jenkins-bot [Wed, 1 Apr 2015 17:31:57 +0000 (17:31 +0000)]
Merge "SECURITY: Don't execute another user's CSS or JS on preview"

9 years agoMerge "SECURITY: Set maximal password length for DoS"
jenkins-bot [Wed, 1 Apr 2015 17:31:54 +0000 (17:31 +0000)]
Merge "SECURITY: Set maximal password length for DoS"

9 years agoMerge "OutputPage: Tiny tweak to jQuery.ready inline script"
jenkins-bot [Wed, 1 Apr 2015 17:18:23 +0000 (17:18 +0000)]
Merge "OutputPage: Tiny tweak to jQuery.ready inline script"

9 years agoOutputPage: Tiny tweak to jQuery.ready inline script
Ori Livneh [Wed, 1 Apr 2015 08:48:29 +0000 (01:48 -0700)]
OutputPage: Tiny tweak to jQuery.ready inline script

Changing 'window.jQuery && jQuery.ready()' to 'if ( window.jQuery )
jQuery.ready()' means no *<![CDATA[*/ /*]]>* is required (because we
got rid of the ampersands). It's also more readable and more consistent
with if(window.mw).

Change-Id: I28262efb978c085e732b40f9dc5ddb1bda5c4376

9 years agoSECURITY: Don't allow entities in XMP with HHVM
csteipp [Thu, 12 Mar 2015 22:49:22 +0000 (15:49 -0700)]
SECURITY: Don't allow entities in XMP with HHVM

Test for, and refuse to parse, XMP chunks with a doctype declaration
when parsing XMP under HHVM.

Bug: T85848
Change-Id: Iea4feb077ee85a35509a920153daaa9321ee69f3

9 years agoSECURITY: Don't allow directly calling Xml::isWellFormed
csteipp [Fri, 13 Mar 2015 23:52:18 +0000 (16:52 -0700)]
SECURITY: Don't allow directly calling Xml::isWellFormed

Changing Xml::isWellFormed to private. In WMF hosted repos, there are
no callers to isWellFormed directly.

Bug: T85848
Change-Id: I104427989b89c386de571b8e60642095331a1132

9 years agoSECURITY: Always expand xml entities when checking SVG's
csteipp [Wed, 4 Feb 2015 01:45:05 +0000 (17:45 -0800)]
SECURITY: Always expand xml entities when checking SVG's

XmlTypeCheck's use of xml_parse for filtering SVG's sometimes left xml
entities unexpanded, which can lead to false-negatives when the
callback was used for filtering. Update XmlTypeCheck to use XMLReader
instead, tell the library to fully expand entities, and rely on the
library to error out if it encounters XML that is likely to cause a DoS
if parsed.

Bug: T88310
Change-Id: I77c77a2d6d22f549e7ef969811f7edd77a45dbba

9 years agoSECURITY: Escape > in Html::expandAttributes
csteipp [Thu, 19 Feb 2015 23:05:40 +0000 (15:05 -0800)]
SECURITY: Escape > in Html::expandAttributes

Escape > characters in attributes, so we don't confuse post-processing,
like LanguageConverter.

Bug: T73394
Change-Id: I768e2a12c7b6ba635e6c8571676b8c776b16bf72

9 years agoSECURITY: Don't execute another user's CSS or JS on preview
Brad Jorsch [Mon, 5 Jan 2015 21:31:26 +0000 (16:31 -0500)]
SECURITY: Don't execute another user's CSS or JS on preview

Someone could theoretically try to hide malicious code in their user
common.js and then trick an admin into previewing it by asking for help.

Bug: T85855
Change-Id: I5a7a75306695859df5d848f6105b81bea0098f0a

9 years agoSECURITY: Set maximal password length for DoS
Tyler Romeo [Fri, 26 Dec 2014 16:29:15 +0000 (11:29 -0500)]
SECURITY: Set maximal password length for DoS

Prevent DoS attacks caused by the amount of time
it takes to hash long passwords by setting a limit
on password length.

Slightly restructures the behavior of User::checkPasswordValidity
in order to accommodate for the difference between
passwords the user should be able to log in with and
passwords they should not.

Bug: T64685
Change-Id: I24f33474c6f934fb8d94bb054dc23093abfebd5e

9 years agoSECURITY: Fix animate blacklist
csteipp [Wed, 14 Jan 2015 00:48:01 +0000 (16:48 -0800)]
SECURITY: Fix animate blacklist

The blacklist should prevent animating any element's xlink:href to a
javascript url.

Bug: T86711
Change-Id: Ia9e9192165fdfe1701f22605eee0b0e5c9137d5a

9 years agoSECURITY: Don't allow embedded application/xml in SVG's
csteipp [Tue, 13 Jan 2015 01:00:45 +0000 (17:00 -0800)]
SECURITY: Don't allow embedded application/xml in SVG's

Fix for iSEC-WMF1214-11 and issue reported by Cure 53, which got
around our blacklist on embedded href targets. Use a whitelist instead.

Bug: T85850
Change-Id: I17b7ed65935b818695a83fd901fcaf90fffecf28

9 years agoSECURITY: Make SVG @import checking case insensitive
Tyler Romeo [Tue, 30 Dec 2014 20:24:04 +0000 (15:24 -0500)]
SECURITY: Make SVG @import checking case insensitive

@import in embedded CSS is case-insensitive, meaning
an attacker can put "@iMpOrT" and it should still
work.

This uses stripos instead of strpos to make the check
case insensitive.

Bug: T85349
Change-Id: I31db9d81f46460af2d8d3f161ba46c2ab7a170d1

9 years agoMerge "API: Reduce volume of "continue format is changing" warning"
jenkins-bot [Wed, 1 Apr 2015 14:49:25 +0000 (14:49 +0000)]
Merge "API: Reduce volume of "continue format is changing" warning"

9 years agoMerge "New hook: OpportunisticLinksUpdate"
jenkins-bot [Wed, 1 Apr 2015 14:41:02 +0000 (14:41 +0000)]
Merge "New hook: OpportunisticLinksUpdate"

9 years agoAPI: Reduce volume of "continue format is changing" warning
Brad Jorsch [Wed, 1 Apr 2015 12:23:20 +0000 (08:23 -0400)]
API: Reduce volume of "continue format is changing" warning

It's excessively difficult to determine if the logs of people hitting
this warning are really going to be affected by the change or if they're
making queries where it won't actually matter.

Since 1.26 is coming soon, and with it the decision as to whether to
pull the switch on I984e6358, let's retarget the warnings to those cases
where it's possible it would actually break someone's code.

Change-Id: I91f170fd7d4c791ca8f5d3592c888700f4d5aa97

9 years agoMerge "Special:LinkSearch: display links to pages in content language"
jenkins-bot [Wed, 1 Apr 2015 12:08:05 +0000 (12:08 +0000)]
Merge "Special:LinkSearch: display links to pages in content language"

9 years agoNew hook: OpportunisticLinksUpdate
daniel [Wed, 18 Mar 2015 17:21:25 +0000 (18:21 +0100)]
New hook: OpportunisticLinksUpdate

Change-Id: I8b9238cd6b0010ad91fae24d4eb1e7cd0c201931

9 years agoUse "string|false" as @return instead of "string|bool" where appropiate
Timo Tijhof [Wed, 1 Apr 2015 08:48:30 +0000 (09:48 +0100)]
Use "string|false" as @return instead of "string|bool" where appropiate

This makes sure static analyzers don't warn for supposedly unsafe
code accessing variables as strings when they could be boolean after
having only checked against false.

https://github.com/scrutinizer-ci/php-analyzer/issues/605

Change-Id: Idb676de7587f1eccb46c12de0131bea4489a0785

9 years agoRemove redundant NS_MAIN from translations
Niklas Laxström [Wed, 1 Apr 2015 08:17:10 +0000 (10:17 +0200)]
Remove redundant NS_MAIN from translations

Change-Id: Ia01549310909281e48260950f97a8f6fa12ae230

9 years agoinstaller: Use wfLoadExtension/Skin in LocalSettingsGenerator
Kunal Mehta [Wed, 1 Apr 2015 07:07:44 +0000 (00:07 -0700)]
installer: Use wfLoadExtension/Skin in LocalSettingsGenerator

Bug: T87791
Change-Id: I37cede7396d9677466ec68289702a3a73f1a1f8a

9 years agoinstaller: Reduce some code duplication in LocalSettingsGenerator
Kunal Mehta [Wed, 1 Apr 2015 07:01:41 +0000 (00:01 -0700)]
installer: Reduce some code duplication in LocalSettingsGenerator

Change-Id: Ie3c2e56ac4d20d6d547e89a4d6c6331f4222409b

9 years agoSpecial:LinkSearch: display links to pages in content language
ayush_garg [Tue, 31 Mar 2015 10:51:36 +0000 (16:21 +0530)]
Special:LinkSearch: display links to pages in content language

Bug: T66064
Change-Id: Ib2af28bec7b9c6ec01c5628be07e1280cbbd2f83

9 years agoDoxyfile: Suppress warnings for invalid @codingStandardsIgnoreStart
Timo Tijhof [Wed, 1 Apr 2015 00:09:29 +0000 (01:09 +0100)]
Doxyfile: Suppress warnings for invalid @codingStandardsIgnoreStart

This phpcs annotation is not relevant for Doxygen.

> Preprocessor_DOM.php:24: warning: Found unknown command `\codingStandardsIgnoreStart'
> Preprocessor_Hash.php:760: warning: Found unknown command `\codingStandardsIgnoreStart'

Change-Id: I91ea668486a87fff0193a3cccb97f96943d4bf33

9 years agoMerge "Made InfoAction::invalidateCache() use READ_LATEST"
jenkins-bot [Wed, 1 Apr 2015 00:19:04 +0000 (00:19 +0000)]
Merge "Made InfoAction::invalidateCache() use READ_LATEST"

9 years agoMade InfoAction::invalidateCache() use READ_LATEST
Aaron Schulz [Mon, 30 Mar 2015 22:50:39 +0000 (15:50 -0700)]
Made InfoAction::invalidateCache() use READ_LATEST

Change-Id: I794c443b9d65d924366eff9baaf4460ce196a967

9 years agomwdocgen: Exclude node_modules from Doxygen
Timo Tijhof [Tue, 31 Mar 2015 23:44:53 +0000 (00:44 +0100)]
mwdocgen: Exclude node_modules from Doxygen

So that local runs don't take forever and won't recurse into unrelated
php files in some npm package.

Change-Id: Ic8068fa048075584c9334d0c21fb4efd87eade02

9 years agoDefaultSettings: Fix doxygen warning for missing @endcond
Timo Tijhof [Tue, 31 Mar 2015 23:40:55 +0000 (00:40 +0100)]
DefaultSettings: Fix doxygen warning for missing @endcond

Follows-up r67733 which fixed this, but it got lost in the meantime.

> /includes/DefaultSettings.php:46:
>  warning: Conditional section with label file_level_code does not have
>  a corresponding @endcond command within this file.

Change-Id: If7cfe278c50e1639ef2662ba87c85426a964c22f

9 years agoAdded slave/master fallback logic in Revision
Aaron Schulz [Thu, 26 Mar 2015 00:29:31 +0000 (17:29 -0700)]
Added slave/master fallback logic in Revision

* This is a more specific form of the logic removed in 3c2bc32ae1.
  It does not suffer the problem of causing constant master DB
  queries due to a bad template reference or such.
* It will use the master if writes from the current thread
  are pending or were recently committed. This deals with the
  common problem of code that needs to read things it just wrote,
  such as diffs on rollback or edit hooks.
* This commit reverts 8624e261f by making the hack obsolete.

Bug: T93866
Bug: T94407
Change-Id: Ib9ecb75e1236e767bdc86d124d5e22a03ae0fb5f

9 years agotests: Clean up file headers
Timo Tijhof [Tue, 31 Mar 2015 22:52:31 +0000 (23:52 +0100)]
tests: Clean up file headers

* Remove redundant @licence/@license from test suite files.
  They already have full licence headers. And @licence raises a
  warning in Doxygen.

* Fix weird messes of comments inside comments and other things.

Change-Id: I38da8ca76330f72b8dc22b0ecf1ea69d5ea55ede

9 years agoMerge "mw.track: Add test suite"
jenkins-bot [Tue, 31 Mar 2015 22:38:38 +0000 (22:38 +0000)]
Merge "mw.track: Add test suite"

9 years agomw.track: Add test suite
Timo Tijhof [Fri, 27 Mar 2015 23:54:45 +0000 (23:54 +0000)]
mw.track: Add test suite

Change-Id: I3ad2c0b5b993e3a0c67b420ff1768131e8f3b3b6

9 years agoresourceloader: Simplify getHashMtime() to merely a timestamp
Timo Tijhof [Tue, 31 Mar 2015 18:17:11 +0000 (19:17 +0100)]
resourceloader: Simplify getHashMtime() to merely a timestamp

Similar to what getDefinitionMtime() does already. No need to
repeat the hash. No need for an array that needs serialising and
unserialising internally.

Change the hash key to avoid using old cache values.

Also moved the comment about hashes being included in the key to
this method. getDefinitionMtime() is a later method that performs
the same logic but doesn't need the entire story again.

Follows-up 044713c4d3bdda32.

Change-Id: Idd83de5ac27138a2dbf2ec49d81ea9188bd6ad57

9 years agoMerge "ResourceLoaderImage: Some cleanup, typo fixes and tweaks"
jenkins-bot [Tue, 31 Mar 2015 19:06:41 +0000 (19:06 +0000)]
Merge "ResourceLoaderImage: Some cleanup, typo fixes and tweaks"

9 years agoMerge "ResourceLoaderImage: Throw exception if files don't exist"
jenkins-bot [Tue, 31 Mar 2015 19:06:39 +0000 (19:06 +0000)]
Merge "ResourceLoaderImage: Throw exception if files don't exist"

9 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Tue, 31 Mar 2015 18:55:19 +0000 (18:55 +0000)]
Merge "Localisation updates from https://translatewiki.net."

9 years agoMerge "Fix capitaliation of UtfNormal namespace"
jenkins-bot [Tue, 31 Mar 2015 18:52:30 +0000 (18:52 +0000)]
Merge "Fix capitaliation of UtfNormal namespace"

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 31 Mar 2015 18:51:49 +0000 (20:51 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I96ad4039d7c301dd444197040a6de86b6221ccea

9 years agoMerge "Add SpecialLog::getLogTypesOnUser()"
jenkins-bot [Tue, 31 Mar 2015 18:51:41 +0000 (18:51 +0000)]
Merge "Add SpecialLog::getLogTypesOnUser()"

9 years agoMerge "resourceloader: De-duplicate $files in ResourceLoaderFileModule::getModifiedTi...
jenkins-bot [Tue, 31 Mar 2015 18:42:12 +0000 (18:42 +0000)]
Merge "resourceloader: De-duplicate $files in ResourceLoaderFileModule::getModifiedTime()"

9 years agoFix capitaliation of UtfNormal namespace
Kunal Mehta [Tue, 31 Mar 2015 18:41:43 +0000 (11:41 -0700)]
Fix capitaliation of UtfNormal namespace

Change-Id: I18f68da0e36ef148a8235516f2ed72b4b3190208

9 years agoresourceloader: De-duplicate $files in ResourceLoaderFileModule::getModifiedTime()
Timo Tijhof [Tue, 31 Mar 2015 18:01:15 +0000 (19:01 +0100)]
resourceloader: De-duplicate $files in ResourceLoaderFileModule::getModifiedTime()

lessc::allParsedFiles() always includes the main file we already
know about. As such needlessly causing it to be queried multiple
times.

Change-Id: Icd2c11d93d6491664fcf58a18bfe6e2932689774

9 years agoprofiler: Consolidate duplicate branches in ProfilerOutputText
Timo Tijhof [Tue, 31 Mar 2015 18:23:58 +0000 (19:23 +0100)]
profiler: Consolidate duplicate branches in ProfilerOutputText

Follows-up 3ca6ab103166c.

Change-Id: I342c68990301a303425c83847406dcf3b308bd27

9 years agoMerge "Made text profiling actually work with load.php"
jenkins-bot [Tue, 31 Mar 2015 18:08:19 +0000 (18:08 +0000)]
Merge "Made text profiling actually work with load.php"

9 years agoMerge "Fixed {{REVISION(TIMESTAMP|USER|SIZE)}} on new revisions"
jenkins-bot [Tue, 31 Mar 2015 18:00:30 +0000 (18:00 +0000)]
Merge "Fixed {{REVISION(TIMESTAMP|USER|SIZE)}} on new revisions"

9 years agoMade text profiling actually work with load.php
Aaron Schulz [Tue, 31 Mar 2015 07:44:08 +0000 (00:44 -0700)]
Made text profiling actually work with load.php

Change-Id: I8d28ad8669e8c2f5d7025fe67fb75d0551975e07

9 years agoRely less on file stat cache in FileDependency
Aaron Schulz [Tue, 31 Mar 2015 08:15:57 +0000 (01:15 -0700)]
Rely less on file stat cache in FileDependency

Change-Id: Ica16ddb7db00a56a16332c4dbb9a04e7b40a1844

9 years agoresourceloader: Cut down on file stat time in safeFilemtime()
Aaron Schulz [Tue, 31 Mar 2015 07:59:40 +0000 (00:59 -0700)]
resourceloader: Cut down on file stat time in safeFilemtime()

* If stat cache is not enabled, this used to do two queries.

Change-Id: Icfed675b27f952ec13b9d0af3e345b1486ea7c8f

9 years agoMerge "Use HTMLForm for Special:FileDuplicateSearch"
jenkins-bot [Tue, 31 Mar 2015 06:47:02 +0000 (06:47 +0000)]
Merge "Use HTMLForm for Special:FileDuplicateSearch"

9 years agoexception: Log fatal errors to a new 'fatal' log group
Kunal Mehta [Sun, 29 Mar 2015 09:14:08 +0000 (02:14 -0700)]
exception: Log fatal errors to a new 'fatal' log group

'error' is currently disabled in Wikimedia production, but we still need
to log stack traces for fatals.

Bug: T89169
Change-Id: Id0255651f228037152b87022f5eb696c1050b9ec

9 years agoFixed {{REVISION(TIMESTAMP|USER|SIZE)}} on new revisions
Aaron Schulz [Tue, 31 Mar 2015 04:00:13 +0000 (21:00 -0700)]
Fixed {{REVISION(TIMESTAMP|USER|SIZE)}} on new revisions

* This makes use of the injected new revision object used elsewhere
  in Parser to solve this problem.

Bug: T94407
Change-Id: I7881583cf7cb2bc799c89ffaa2a344a2d4ca3a4e

9 years agoMerge "registration: Have wfLoadExtension() (and similar) use the queue"
jenkins-bot [Tue, 31 Mar 2015 00:55:05 +0000 (00:55 +0000)]
Merge "registration: Have wfLoadExtension() (and similar) use the queue"

9 years agoMerge "registration: Use array_merge() rather than array plus when merging"
jenkins-bot [Tue, 31 Mar 2015 00:53:17 +0000 (00:53 +0000)]
Merge "registration: Use array_merge() rather than array plus when merging"

9 years agoMerge "Adding mobile target to mediawiki.template.mustache"
jenkins-bot [Tue, 31 Mar 2015 00:51:20 +0000 (00:51 +0000)]
Merge "Adding mobile target to mediawiki.template.mustache"

9 years agoMerge "Use wikimedia/utfnormal library, add backwards-compatability layer"
jenkins-bot [Tue, 31 Mar 2015 00:51:16 +0000 (00:51 +0000)]
Merge "Use wikimedia/utfnormal library, add backwards-compatability layer"

9 years agoMerge "Category view modified to use column width"
jenkins-bot [Tue, 31 Mar 2015 00:51:08 +0000 (00:51 +0000)]
Merge "Category view modified to use column width"

9 years agoregistration: Have wfLoadExtension() (and similar) use the queue
Kunal Mehta [Mon, 30 Mar 2015 21:35:45 +0000 (14:35 -0700)]
registration: Have wfLoadExtension() (and similar) use the queue

Right now wfLoadExtension() and related functions explicitly load
extensions immediately, bypassing the queue. This was done to be
extremely backwards-compatible with the old require_once style of
loading which does the same.

However, for a future configuration database to work, we need to be able
to reliably load extensions after configuration (LocalSettings.php) is
loaded, which is currently at the top of Setup.php. Rather than doing
this later, we should do this now to make sure the registration system
will be able to handle it.

In Wikimedia production, excentions are currently being loaded with
direct calls to:
  ExtensionRegistry::getInstance()->queue(...);
so we know that this should work, but that is not a nice API for sysadmins
and developers to be entering into LocalSettings.php.

If for some reason an extension really needs to be loaded immediately,
they can still call:
  ExtensionRegistry::getInstance()->loadFromQueue();
But that should be the exception, not the norm.

Change-Id: I72672e5c9541ede02d09f548c39ef6c8df0ec78a

9 years agoregistration: Use array_merge() rather than array plus when merging
Roan Kattouw [Tue, 31 Mar 2015 00:39:36 +0000 (17:39 -0700)]
registration: Use array_merge() rather than array plus when merging

Because plus doesn't deal with numerical keys well. We do need old values
to win, because LocalSettings.php runs before extension.json files.

Change-Id: I56318fe586776940f7e28ca038dad49d24f24f2e

9 years agoAdding mobile target to mediawiki.template.mustache
kaldari [Tue, 31 Mar 2015 00:10:49 +0000 (17:10 -0700)]
Adding mobile target to mediawiki.template.mustache

Otherwise we can't use the mustache compiler from MobileFrontend.

Change-Id: I36ac5478493af32673f2849c122efc24336b7f51

9 years agoMerge "EditPage: Remove remnants of pre-1.16 live preview"
jenkins-bot [Mon, 30 Mar 2015 20:42:21 +0000 (20:42 +0000)]
Merge "EditPage: Remove remnants of pre-1.16 live preview"

9 years agoMerge "Let extensions add entries to Special:DeletedContributions"
jenkins-bot [Mon, 30 Mar 2015 20:26:00 +0000 (20:26 +0000)]
Merge "Let extensions add entries to Special:DeletedContributions"