lhc/web/wiklou.git
9 years agoAdd FollowSymLinks option to /images .htaccess rule
kaldari [Mon, 1 Dec 2014 21:42:54 +0000 (13:42 -0800)]
Add FollowSymLinks option to /images .htaccess rule

This makes sure that thumbnails load properly. Apparently
(in OSX at least), if you don't have FollowSymLinks or
SymLinksIfOwnerMatch on, loading thumbnails gives a 500
error with the existing rewrite rules in place.

Bug: 62289
Change-Id: Icc812fcf9a0b821d2ad84359e5c1d8fb8e9c78a0

9 years agoMerge "resourceloader: Make timestamp handling more consistent"
jenkins-bot [Fri, 5 Dec 2014 22:21:11 +0000 (22:21 +0000)]
Merge "resourceloader: Make timestamp handling more consistent"

9 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Fri, 5 Dec 2014 21:53:58 +0000 (21:53 +0000)]
Merge "Localisation updates from https://translatewiki.net."

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 5 Dec 2014 21:49:04 +0000 (22:49 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ie09f63ee1738a54217bf1f02dc2ba0a954e3f5d3

9 years agophpcs: The abstract declaration must precede the visibility
umherirrender [Fri, 5 Dec 2014 21:31:59 +0000 (22:31 +0100)]
phpcs: The abstract declaration must precede the visibility

Change-Id: I957eb6007f110252726e67c1fb7099b02fdca676

9 years agoRemove unused global declaration
Kunal Mehta [Fri, 5 Dec 2014 21:38:54 +0000 (13:38 -0800)]
Remove unused global declaration

Change-Id: I4239cee1410c40d3ffd4a19f409a91a945a72d60

9 years agoresourceloader: Make timestamp handling more consistent
Timo Tijhof [Fri, 5 Dec 2014 20:28:54 +0000 (20:28 +0000)]
resourceloader: Make timestamp handling more consistent

* Use time() instead of:
  - wfTimestamp()
  - wfTimestamp( TS_UNIX )
  - wfTimestamp( TS_UNIX, 0 )
  - wfTimestamp( TS_UNIX, time() )
  - intval( wfTimestamp( TS_UNIX, time() ) )

* Consistently use 1 as default instead of 0. Previously the
  unwritten convention was that anything "final" max()'ed with 1,
  and any internal method would use 0, but this wasn't applied
  consistently made it fragile. There doesn't seem to be any
  value in returning 0 only to have it maxed up to 1 (because if
  the 0 would ever make it out alive, we'd be in trouble).

* wfTimestamp returns a string for TS_UNIX. In PHP this doesn't
  matter much. In fact, max() takes number-like integers so
  transparently, it even preserves it:
  > max( 1, 3, '2' );
  < 3
  > max( 1, '3', 2 );
  < "3"
  Just cast it in one place at the very end (StartupModule)
  instead of doing intval( wfTimestamp() ).

* Fix weird documentation claiming getModifiedTime can return
  an array, or mixed.

* Remove 'version > 1 ? version : 1' logic in
  ResourceLoader::makeLoaderRegisterScript. The client doesn't
  have "0 means now" behaviour so this isn't needed. And the method
  was only doing it for variadic argument calls.

Removal of quotes around timestamps reduced the size of the startup
module from 26.8KB to 25.9KB before gzip. After gzip the size was
and still is 5.7KB, though. (From 5456 bytes to 5415 bytes.)

Change-Id: If92ca3e7511e78fa779f2f2701e2ab24db78c8a8

9 years agoFixed spacing
umherirrender [Thu, 27 Nov 2014 17:03:07 +0000 (18:03 +0100)]
Fixed spacing

- Added/removed spaces around parenthesis
- Added newline in empty blocks
- Added space after switch/foreach/function
- Use tabs at begin of line
- Add newline at end of file

Change-Id: I244cdb2c333489e1020931bf4ac5266a87439f0d

9 years agoMerge "Optimize how user options are delivered to the client"
jenkins-bot [Fri, 5 Dec 2014 19:43:06 +0000 (19:43 +0000)]
Merge "Optimize how user options are delivered to the client"

9 years agoMerge "ResourceLoaderUserCSSPrefsModule: Remove unused dependency on mediawiki.user"
jenkins-bot [Fri, 5 Dec 2014 19:43:00 +0000 (19:43 +0000)]
Merge "ResourceLoaderUserCSSPrefsModule: Remove unused dependency on mediawiki.user"

9 years agoOptimize how user options are delivered to the client
Ori Livneh [Thu, 4 Dec 2014 07:37:56 +0000 (23:37 -0800)]
Optimize how user options are delivered to the client

We currently embed the full set of user options in a <script> tag in the HTML
output of every page. This is grossly inefficient, because the full set of
options is usually largely made up of site defaults which the user hasn't
customized.

So instead of doing that, let's emit the default options using one
ResourceLoader module and then apply the user's customizations on top.

This has the effect of slightly increasing the total bytes of JavaScript code
(because options that the user has customized will be emitted twice: once with
their default value in the user.defaults module, and then again with the
customized value in user.options). But this is more than offset by the
fact that the bulk of user options code (~4 kB uncompressed on enwiki) becomes
cacheable across requests.

Bonus round:
* Varnish gets to cache 4 kB fewer per page.
* Changes to the default options don't take 30 days to propagate.

Change-Id: I5a7e258d2d69159381bf5cc363227088b8fd6019

9 years agoMerge "Fixing confusing function description"
jenkins-bot [Fri, 5 Dec 2014 18:04:41 +0000 (18:04 +0000)]
Merge "Fixing confusing function description"

9 years agoResourceLoaderUserCSSPrefsModule: Remove unused dependency on mediawiki.user
Timo Tijhof [Fri, 5 Dec 2014 12:03:07 +0000 (12:03 +0000)]
ResourceLoaderUserCSSPrefsModule: Remove unused dependency on mediawiki.user

Follows-up 57310ab8380.

Change-Id: I06ad8c37cf53643bb65f6cabd8b843f63d4f5ec3

9 years agoFix backlink for RevertAction
umherirrender [Sun, 3 Aug 2014 20:04:45 +0000 (22:04 +0200)]
Fix backlink for RevertAction

RevertAction::getDescription cannot set subtitle on OutputPage,
because the subtitle on OutputPage gets cleared before the
result of getDescription is added and than the subtitle is gone.

Refactored the code for building the backlink into a static function
and use it.

Change-Id: Iedad0b8e040035a9a10a0b140d2322357e6b539a

9 years agoMerge "mediawiki.Uri: Implement support for a mutable defaultUri"
jenkins-bot [Fri, 5 Dec 2014 13:47:22 +0000 (13:47 +0000)]
Merge "mediawiki.Uri: Implement support for a mutable defaultUri"

9 years agoMerge "jquery.client: Recognize IE12 correctly"
jenkins-bot [Fri, 5 Dec 2014 12:30:20 +0000 (12:30 +0000)]
Merge "jquery.client: Recognize IE12 correctly"

9 years agojquery.client: Recognize IE12 correctly
Roan Kattouw [Thu, 4 Dec 2014 02:01:55 +0000 (18:01 -0800)]
jquery.client: Recognize IE12 correctly

IE12's User-Agent is, unhelpfully:

Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 Edge/12.0

Unsurprisingly, this is currently recognized as Chrome 36.
The word "Trident" also doesn't appear any more, because IE12's
new layout engine is called "Edge". So look for that string instead.

Change-Id: I94a4ff2cc37ae6ce0c677ef92eeb6a2dff30c1f4

9 years agoRemove jQuery Migrate and $wgIncludejQueryMigrate
James D. Forrester [Tue, 3 Jun 2014 20:51:39 +0000 (13:51 -0700)]
Remove jQuery Migrate and $wgIncludejQueryMigrate

As indicated in MediaWiki 1.24, removing the jQuery Migrate bridging patch
that allows legacy Javascript code that depends ancient features of
jQuery removed in jQuery 1.9 to work.

Change-Id: I0934247182e2737716c9d40f4bf93415adcdadf3

9 years agoMerge "Update redirect arrows to use SVG versions"
jenkins-bot [Thu, 4 Dec 2014 22:49:48 +0000 (22:49 +0000)]
Merge "Update redirect arrows to use SVG versions"

9 years agoUpdate redirect arrows to use SVG versions
ckoerner [Tue, 2 Dec 2014 22:32:44 +0000 (16:32 -0600)]
Update redirect arrows to use SVG versions

Included updated fallback PNGs (now with transparency).

Bug: T72538
Change-Id: I1bd865d3184fad59c7e6144ec1685fe65be97916

9 years agoMerge "Add SVG versions of table pager icons"
jenkins-bot [Thu, 4 Dec 2014 22:34:23 +0000 (22:34 +0000)]
Merge "Add SVG versions of table pager icons"

9 years agoAdd SVG versions of table pager icons
Ljudusika [Thu, 4 Dec 2014 22:24:09 +0000 (23:24 +0100)]
Add SVG versions of table pager icons

Google Code-In 2014 - Ljudusika.

Bug: T71944
Change-Id: Ia9d9271fe0930a3826976585c694b561371dd32a

9 years agoFix DatabaseBase::replaceVars for PHP 5.3
Marius Hoch [Thu, 4 Dec 2014 22:14:00 +0000 (23:14 +0100)]
Fix DatabaseBase::replaceVars for PHP 5.3

Change-Id: I78a535abfe3f444b2ccb99638a63b6f16c9f18af

9 years agoMerge "Hygiene: rename formheader to searchProfileTabs on Special:Search"
jenkins-bot [Thu, 4 Dec 2014 21:49:15 +0000 (21:49 +0000)]
Merge "Hygiene: rename formheader to searchProfileTabs on Special:Search"

9 years agoMerge "Revert "Remove deprecated profiling config parameters, clarify docs""
jenkins-bot [Thu, 4 Dec 2014 21:46:31 +0000 (21:46 +0000)]
Merge "Revert "Remove deprecated profiling config parameters, clarify docs""

9 years agoHygiene: rename formheader to searchProfileTabs on Special:Search
Rob Moen [Thu, 4 Dec 2014 00:21:18 +0000 (16:21 -0800)]
Hygiene: rename formheader to searchProfileTabs on Special:Search

It's not a header, its out of the form now, boiled down, it's
some search profile terms laid out in tabs.

Change-Id: Ic6ec29817ab7deadc6bc7125f8b4cd16686baa04

9 years agoRevert "Remove deprecated profiling config parameters, clarify docs"
Aaron Schulz [Thu, 4 Dec 2014 21:40:13 +0000 (21:40 +0000)]
Revert "Remove deprecated profiling config parameters, clarify docs"

StatCounter still needs $wgUDPProfilerHost.

This reverts commit 88c42dc1df93533286dfbe969631403f77958dca.

Change-Id: I4a56f6fb6bc454d15a9dc752f45dfb29b2b47a84

9 years agoMerge "Remove deprecated profiling config parameters, clarify docs"
jenkins-bot [Thu, 4 Dec 2014 21:12:30 +0000 (21:12 +0000)]
Merge "Remove deprecated profiling config parameters, clarify docs"

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 4 Dec 2014 20:58:32 +0000 (21:58 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I7f9787dfd402817f21686bcbe2ccafce6e224269

9 years agoRemove deprecated profiling config parameters, clarify docs
Chad Horohoe [Thu, 4 Dec 2014 16:47:34 +0000 (08:47 -0800)]
Remove deprecated profiling config parameters, clarify docs

We've already broken profiling completely in this release. Make
this abundantly clear in the RELEASE-NOTES and just remove the
awful back-compat attempt from I2af28cd3 and I49c0a83e.

Change-Id: Ib0b87192e2a6e87db19f7821906dd7b2063081e3

9 years agoRevert wrapping sitenotice in google tags
Elliott Eggleston [Thu, 4 Dec 2014 20:26:40 +0000 (12:26 -0800)]
Revert wrapping sitenotice in google tags

Reverts change I95473e22de83e585044a4f917bbd1b00db7db71b

Change-Id: Ia522064df15b959e22e81abe2c607687ec2a29cb

9 years agoMerge "Split things out of search element on Special:Search"
jenkins-bot [Thu, 4 Dec 2014 20:18:27 +0000 (20:18 +0000)]
Merge "Split things out of search element on Special:Search"

9 years agoMerge "Prevent Google indexing of the SiteNotice div"
Ejegg [Thu, 4 Dec 2014 20:15:44 +0000 (20:15 +0000)]
Merge "Prevent Google indexing of the SiteNotice div"

9 years agoHygiene: RemoveInvalidEmails maint script not in autoloader
Erik Bernhardson [Thu, 4 Dec 2014 19:08:45 +0000 (11:08 -0800)]
Hygiene: RemoveInvalidEmails maint script not in autoloader

Change-Id: Ib1a54898b07a1f47f99e7004a12e6829280a4857

9 years agoSwitched hook profiling to use scopedProfileIn
Aaron Schulz [Thu, 4 Dec 2014 00:51:22 +0000 (16:51 -0800)]
Switched hook profiling to use scopedProfileIn

* Also made scopedProfileOut handle the case where the callback
  was null (e.g. when there are no frame methods for xhprof).

Change-Id: Ife242bda8e046990d0d8ac27d628975b7b4a14d7

9 years agoMerge "Changed some DatabaseBase type hints to IDatabase"
jenkins-bot [Thu, 4 Dec 2014 19:08:00 +0000 (19:08 +0000)]
Merge "Changed some DatabaseBase type hints to IDatabase"

9 years agoPrevent Google indexing of the SiteNotice div
Adam Roses Wight [Thu, 4 Dec 2014 18:50:34 +0000 (10:50 -0800)]
Prevent Google indexing of the SiteNotice div

Site notice and CentralNotice should be omitted from search snippets.
We're diluting page content.

The awkward thing about this patch is that we can only confirm the
googleoff tag is supported for the search appliance, not the public
web crawler.  See here for those docs, though:
http://static.googleusercontent.com/media/www.google.com/en/us/support/enterprise/static/gsa/docs/admin/70/gsa_doc_set/admin_crawl/admin_crawl.pdf

Change-Id: I95473e22de83e585044a4f917bbd1b00db7db71b

9 years agoremoveInvalidEmails.php: Fix batching continuation for wikis with >500 users
Kunal Mehta [Thu, 4 Dec 2014 18:40:25 +0000 (10:40 -0800)]
removeInvalidEmails.php: Fix batching continuation for wikis with >500 users

Change-Id: I6343aa204ddd68e9685630b67ac0b0ca535b426b

9 years agoMerge "Darken the text color in successbox"
jenkins-bot [Thu, 4 Dec 2014 09:44:46 +0000 (09:44 +0000)]
Merge "Darken the text color in successbox"

9 years agoMake LocalisationCache::getMessagesDirs() public
Kunal Mehta [Thu, 4 Dec 2014 07:46:47 +0000 (23:46 -0800)]
Make LocalisationCache::getMessagesDirs() public

So it can be used inside LocalisationUpdate

Change-Id: I2399ddd7fd4462f2c6d1bf81036af451a67c58b1

9 years agoMerge "Remove Profiler::isStub()"
jenkins-bot [Thu, 4 Dec 2014 07:42:27 +0000 (07:42 +0000)]
Merge "Remove Profiler::isStub()"

9 years agoMerge "Fix up interwiki search results in API"
jenkins-bot [Thu, 4 Dec 2014 05:30:48 +0000 (05:30 +0000)]
Merge "Fix up interwiki search results in API"

9 years agoRemove Profiler::isStub()
Chad Horohoe [Thu, 4 Dec 2014 03:48:27 +0000 (19:48 -0800)]
Remove Profiler::isStub()

Just check for ProfilerStub directly.

Change-Id: I503916599f182df4206da5282193ae6ec9324ee6

9 years agoDon't attempt to stash new section edits
Ori Livneh [Thu, 4 Dec 2014 02:03:29 +0000 (18:03 -0800)]
Don't attempt to stash new section edits

The parser output of edits produced via the 'new section' interface varies on
both the edit body and the edit summary (since it determines the new section's
name). So there isn't an early point in the edit process where we can start
computing the edit output. We have to wait for the user to be completely
done, by which point edit-stashing provides no advantage.

Change-Id: Ida461e08189b75c5a508628d11dc929a6138814a

9 years agoMake ApiStashEdit use the StashEdit log group, rather than PreparedEdit
Ori Livneh [Thu, 4 Dec 2014 01:27:01 +0000 (17:27 -0800)]
Make ApiStashEdit use the StashEdit log group, rather than PreparedEdit

An early version of what ultimately became commit 3a6c9d36c used
'ApiPreparedEdit' instead of 'ApiStashEdit'. The class / file were renamed but
not the log group.

Change-Id: Ib4de1f1f21f058d3be627048bc93e7730515d340

9 years agoSplit things out of search element on Special:Search
Rob Moen [Wed, 3 Dec 2014 23:07:44 +0000 (15:07 -0800)]
Split things out of search element on Special:Search

While keeping these in the same order, pulling them out of the form
helps mobile display search suggestions on non RL devices.

Change-Id: Id267f66485b95788e682b912e8d2540c826d83fd

9 years agoMerge "Use quickUserCan() for the undelete link message"
jenkins-bot [Thu, 4 Dec 2014 00:09:56 +0000 (00:09 +0000)]
Merge "Use quickUserCan() for the undelete link message"

9 years agoUse quickUserCan() for the undelete link message
Aaron Schulz [Thu, 4 Dec 2014 00:01:26 +0000 (16:01 -0800)]
Use quickUserCan() for the undelete link message

* This was taking 267.304ms on https://en.wikipedia.org/wiki/Tammar_wallaby for admins

Change-Id: I0e669869e1990502331a80de168562421ac5336d

9 years agoMerge "Move core message dirs from $wgMessagesDirs to LocalisationCache::getMessagesD...
jenkins-bot [Wed, 3 Dec 2014 23:46:58 +0000 (23:46 +0000)]
Merge "Move core message dirs from $wgMessagesDirs to LocalisationCache::getMessagesDirs()"

9 years agoRemoved useless "use" clause from closure
Aaron Schulz [Wed, 3 Dec 2014 23:31:17 +0000 (15:31 -0800)]
Removed useless "use" clause from closure

Change-Id: Ie2e0328548b185e77b919c0b8bd18a5005d94037

9 years agoAdded ApiStashEdit module for pre-emptive edit parsing
Aaron Schulz [Thu, 20 Nov 2014 00:33:51 +0000 (16:33 -0800)]
Added ApiStashEdit module for pre-emptive edit parsing

* This lets edits be prepared while users enter edit summaries.
* The edit form will now make use of this API, controlled by
  $wgAjaxEditStash.

Change-Id: I4f4057bc0d1d4a66a8f7cfb7cdc26d443a8eb0c4

9 years agoMerge "If a user logs in while not on https, then the user should be sent back to...
jenkins-bot [Wed, 3 Dec 2014 22:36:23 +0000 (22:36 +0000)]
Merge "If a user logs in while not on https, then the user should be sent back to the non-secure website."

9 years agoMove core message dirs from $wgMessagesDirs to LocalisationCache::getMessagesDirs()
Kunal Mehta [Wed, 3 Dec 2014 22:12:52 +0000 (14:12 -0800)]
Move core message dirs from $wgMessagesDirs to LocalisationCache::getMessagesDirs()

If $wgMessagesDirs is initially empty, we can optimize when batch loading
extensions:

    if ( !$wgMessagesDirs ) {
        $wgMessagesDirs = $cache['MessagesDirs'];
    }

With APC, this should be O(1) CPU time.

This was suggested by Tim in the code review of I7074b65d07c5.

Change-Id: I66fa907cdaafe18b74b5b9afaa8b6b1db069bea3

9 years agoRemoved low signal wfDebugLog call in DatabaseBase
Aaron Schulz [Wed, 3 Dec 2014 22:00:16 +0000 (14:00 -0800)]
Removed low signal wfDebugLog call in DatabaseBase

Change-Id: I231766b6a1a1651508bb03fa137e6b2b55c55e6a

9 years agoLog backtraces for DB reconnections
Aaron Schulz [Wed, 26 Nov 2014 01:10:46 +0000 (17:10 -0800)]
Log backtraces for DB reconnections

Change-Id: Ibe7badde80bf6a44e292b89fe6c085cbda5748e2

9 years agoMerge "Before pseudo elements are not always perfectly in line"
jenkins-bot [Wed, 3 Dec 2014 21:30:34 +0000 (21:30 +0000)]
Merge "Before pseudo elements are not always perfectly in line"

9 years agoMerge "Database: Remove use of strencode() in replaceVars()"
jenkins-bot [Wed, 3 Dec 2014 21:13:22 +0000 (21:13 +0000)]
Merge "Database: Remove use of strencode() in replaceVars()"

9 years agoMerge "Add removeInvalidEmails.php maintenance script"
jenkins-bot [Wed, 3 Dec 2014 21:11:00 +0000 (21:11 +0000)]
Merge "Add removeInvalidEmails.php maintenance script"

9 years agoMerge "Deprecated $wgProfilePerHost"
jenkins-bot [Wed, 3 Dec 2014 21:00:55 +0000 (21:00 +0000)]
Merge "Deprecated $wgProfilePerHost"

9 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Wed, 3 Dec 2014 21:00:53 +0000 (21:00 +0000)]
Merge "Localisation updates from https://translatewiki.net."

9 years agoMerge "Deprecated $wgUDPProfilerHost, $wgUDPProfilerPort and $wgUDPProfilerFormatString"
jenkins-bot [Wed, 3 Dec 2014 20:59:11 +0000 (20:59 +0000)]
Merge "Deprecated $wgUDPProfilerHost, $wgUDPProfilerPort and $wgUDPProfilerFormatString"

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 3 Dec 2014 20:58:20 +0000 (21:58 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I38970b3004ea686f55507fdb36bd701a511287d8

9 years agoAdd removeInvalidEmails.php maintenance script
Kunal Mehta [Tue, 2 Dec 2014 20:40:23 +0000 (12:40 -0800)]
Add removeInvalidEmails.php maintenance script

The script scans the user table and removes emails
that are technically invalid which don't pass
Sanitizer::validateEmail(), and wouldn't be allowed
today. Confirmed emails are skipped entirely since
they had to be valid at some point.

Bug: T76512
Change-Id: I3cc6396ff6d8b738846b7716b4b0cddc9bf9e1a4

9 years agoMerge "OutputPage: Add accessors for some protected properties"
jenkins-bot [Wed, 3 Dec 2014 19:30:32 +0000 (19:30 +0000)]
Merge "OutputPage: Add accessors for some protected properties"

9 years agoDeprecated $wgProfilePerHost
Chad Horohoe [Wed, 3 Dec 2014 19:21:03 +0000 (11:21 -0800)]
Deprecated $wgProfilePerHost

Change-Id: I2af28cd3083228136789cff5feadd7b16c509e5b

9 years agoDeprecated $wgUDPProfilerHost, $wgUDPProfilerPort and $wgUDPProfilerFormatString
Chad Horohoe [Wed, 3 Dec 2014 18:49:48 +0000 (10:49 -0800)]
Deprecated $wgUDPProfilerHost, $wgUDPProfilerPort and $wgUDPProfilerFormatString

All can be passed as options to $wgProfiler now.

Change-Id: I49c0a83e0d386be0f66d6703fc358089e4b1f59f

9 years agoBefore pseudo elements are not always perfectly in line
Rob Moen [Tue, 2 Dec 2014 22:29:20 +0000 (14:29 -0800)]
Before pseudo elements are not always perfectly in line

This results in the psudo element's top inline with the element's
top

Change-Id: Iadd741f02155a9b5ddeb6cd8ff64fa13ae5506d7

9 years agoStop using $wgProfileToDatabase
Chad Horohoe [Wed, 3 Dec 2014 18:36:12 +0000 (10:36 -0800)]
Stop using $wgProfileToDatabase

Was not completely removed and the remaining bits were mostly
broken. $wgProfiler['output'] = 'db' is the proper way.

Fixes T75917
Change-Id: I36565e2372db2ed49b219cf533ec433e8111c52f

9 years agoOutputPage: Add accessors for some protected properties
Kunal Mehta [Wed, 3 Dec 2014 17:40:15 +0000 (09:40 -0800)]
OutputPage: Add accessors for some protected properties

Bug: T76168
Change-Id: Iee11c217b6b0d35acfdfac916814521acda2b1a4

9 years agoDatabase: Remove use of strencode() in replaceVars()
Kevin Israel [Wed, 18 Jun 2014 00:18:21 +0000 (20:18 -0400)]
Database: Remove use of strencode() in replaceVars()

Almost all known uses of the /*$var*/ syntax are for either the
table prefix or table options, neither of which need string
encoding. Use of that syntax inside strings has been discouraged
for a while anyway.

This is to allow deprecating strencode().

Also changed the method to replace in one pass (to not find
variables inside values of other variables).

Change-Id: Ia697ce5f14082e737b3e1c4e174bd3f6223acc5c

9 years agoMerge "content: Deprecate TitleIsCssOrJsPage and TitleIsWikitextPage hooks"
jenkins-bot [Wed, 3 Dec 2014 08:12:21 +0000 (08:12 +0000)]
Merge "content: Deprecate TitleIsCssOrJsPage and TitleIsWikitextPage hooks"

9 years agoChanged some DatabaseBase type hints to IDatabase
Aaron Schulz [Tue, 2 Dec 2014 18:44:26 +0000 (10:44 -0800)]
Changed some DatabaseBase type hints to IDatabase

Change-Id: Id945aaabbf5b467106676ea9f3eab3a6161c7f3d

9 years agocontent: Deprecate TitleIsCssOrJsPage and TitleIsWikitextPage hooks
Timo Tijhof [Wed, 3 Dec 2014 04:11:33 +0000 (04:11 +0000)]
content: Deprecate TitleIsCssOrJsPage and TitleIsWikitextPage hooks

They're currently documented as a 'compatibility hook'
in docs/contenthandler.txt. No longer used in any Wikimedia-hosted
git repository.

Superseded by the ContentHandlerDefaultModelFor hook.

Change-Id: I212230da7d6080cf500f930d4aa5a9024959d5f9

9 years agocontent: Re-arange tests to declare data provider first
Timo Tijhof [Wed, 3 Dec 2014 01:52:00 +0000 (01:52 +0000)]
content: Re-arange tests to declare data provider first

For consistency with other test suites.

Change-Id: Ic4b4d8e228a9ce82a42a07d88d690a9c932960c3

9 years agoMerge "Update OOjs UI to v0.2.4"
jenkins-bot [Wed, 3 Dec 2014 00:12:23 +0000 (00:12 +0000)]
Merge "Update OOjs UI to v0.2.4"

9 years agoMerge "API: Add Access-Control-Allow-Headers in CORS preflight response"
jenkins-bot [Wed, 3 Dec 2014 00:06:22 +0000 (00:06 +0000)]
Merge "API: Add Access-Control-Allow-Headers in CORS preflight response"

9 years agoMerge "Adding check for lessphp compiler to getLessCompiler()"
jenkins-bot [Tue, 2 Dec 2014 21:09:22 +0000 (21:09 +0000)]
Merge "Adding check for lessphp compiler to getLessCompiler()"

9 years agoMerge "Add jquery.fn.serializeObject"
jenkins-bot [Tue, 2 Dec 2014 21:08:05 +0000 (21:08 +0000)]
Merge "Add jquery.fn.serializeObject"

9 years agomediawiki.Uri: Implement support for a mutable defaultUri
Timo Tijhof [Tue, 2 Dec 2014 21:07:40 +0000 (21:07 +0000)]
mediawiki.Uri: Implement support for a mutable defaultUri

Bug: T74334
Change-Id: Ib512774091626c810b25af03c15f84efaca1c633

9 years agoMerge "Document external libraries changes in release notes"
jenkins-bot [Tue, 2 Dec 2014 21:04:46 +0000 (21:04 +0000)]
Merge "Document external libraries changes in release notes"

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 2 Dec 2014 20:40:32 +0000 (21:40 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I06194421786553b0ee867ccd722a0f32a15ba594

9 years agoAdd jquery.fn.serializeObject
Ori Livneh [Tue, 2 Dec 2014 19:44:38 +0000 (11:44 -0800)]
Add jquery.fn.serializeObject

Teeny-tiny jQuery plugin to get form data as an object mapping each form
control's name to its value. I needed this for something and I saw this
pattern already in use in mediawiki.searchSuggest.js, so that's two use-cases.
I thought about calling this 'jquery.formData', but since it's a close analog of
jquery.serializeArray, I think this name is appropriate.

Change-Id: I00b6a7fb75a4d5132e7d6715c8867091a161dbb6

9 years agoSupport offsets in prefix searching
Chad Horohoe [Wed, 26 Nov 2014 18:29:15 +0000 (10:29 -0800)]
Support offsets in prefix searching

Fixes T75522
Change-Id: I7a27a64e295a1efcb1d9728d95cf254bb8bfbe92

9 years agoUpdate OOjs UI to v0.2.4
James D. Forrester [Tue, 2 Dec 2014 19:04:30 +0000 (11:04 -0800)]
Update OOjs UI to v0.2.4

Release notes:
 https://git.wikimedia.org/blob/oojs%2Fui.git/v0.2.4/History.md

Change-Id: Ic1afd83022ad8e6eee0ca89d94f6df23ba938684

9 years agoConsistently use "T1234" format for release note bug refs
Chad Horohoe [Tue, 2 Dec 2014 18:28:52 +0000 (10:28 -0800)]
Consistently use "T1234" format for release note bug refs

This will be the format for 1.25 and beyond as we've now moved
to Phabricator.

Change-Id: Ib555a2cbe72928b697dcbfc10f8168294691f4cb

9 years agoSet optimize-autoloader: true and prepend-autoloader: false in composer.json
Kunal Mehta [Tue, 2 Dec 2014 17:19:18 +0000 (09:19 -0800)]
Set optimize-autoloader: true and prepend-autoloader: false in composer.json

Quoting Tim from 240fd31cfa6b in mediawiki/vendor (prepend-autoloader):
 Composer's autoloader is slow, taking about 63µs per class, whereas
 MediaWiki's is fast, taking about 7µs per class. This adds up to an
 overhead of about 13% of CPU time on short requests such as API calls.
 On those same short requests, MediaWiki's autoloader finds most of the
 classes. So it makes sense to run it first, before the two Composer
 autoloaders. So change the config so that composer passes
 $prepend=false to spl_autoload_register().

optimize-autoloader is also just a good idea in general.

Change-Id: I383c72a85eda415da92e8a9253e83b4ed591768b

9 years agoMerge "InstallDocFormatter: Hyperlink Phabricator task numbers"
jenkins-bot [Tue, 2 Dec 2014 17:23:29 +0000 (17:23 +0000)]
Merge "InstallDocFormatter: Hyperlink Phabricator task numbers"

9 years agoMerge "Handle redirects during prefix search exact match"
jenkins-bot [Tue, 2 Dec 2014 17:20:45 +0000 (17:20 +0000)]
Merge "Handle redirects during prefix search exact match"

9 years agoresourceloader: Clear module storage if disabled by configuration
Tim Starling [Mon, 1 Dec 2014 06:08:23 +0000 (17:08 +1100)]
resourceloader: Clear module storage if disabled by configuration

To free up space for other things that might want to use localStorage
for users where it was previously enabled.

Bug: T66721
Change-Id: Idd62a5eab72ef79c47cfe54fcd5c240d1cbb0e44

9 years agoMerge "Avoid FOUC on API help and pretty-printed output"
jenkins-bot [Tue, 2 Dec 2014 03:10:09 +0000 (03:10 +0000)]
Merge "Avoid FOUC on API help and pretty-printed output"

9 years agocontent: Minor clean up to make JsonContent match other classes
Timo Tijhof [Tue, 2 Dec 2014 00:38:01 +0000 (00:38 +0000)]
content: Minor clean up to make JsonContent match other classes

Compared to JavaScriptContentHandler:

* Add missing license header.
* Add @ingroup.
* Move class description to @class.

Change-Id: I88c6e231756ce9f6d0d3aa2cb2bb80848c8bc5b9

9 years agoWikiPage: Remove premature Content::isValid check
Timo Tijhof [Tue, 2 Dec 2014 00:35:47 +0000 (00:35 +0000)]
WikiPage: Remove premature Content::isValid check

Content classes that implement the isValid method are causing
an "Internal error" to appear when saving from EditPage because
WikiPage throws an exception that isn't handled anywhere.

Turns out that ContentHandler already has infrastructure for
this in place in Content::prepareSave (which returns a Status
object with a relevant message informing the user), and WikiPage
is actually calling this already right after this.

Content::prepareSave defaults to using Content::isValid, so this
code is simply obsolete and premature as it calls an internal
method directly without handling it accordingly.

Change-Id: I69f18d9e101c2261b0ff7bd1b0459ea7fdd7ae9f

9 years agoDarken the text color in successbox
Jackmcbarn [Tue, 2 Dec 2014 00:11:30 +0000 (19:11 -0500)]
Darken the text color in successbox

A user mentioned that there isn't currently enough contrast in successbox,
which impairs accessibility. This fixes that.

Change-Id: Id819524377108ec04fe5f3faef7979bc22fbd891

9 years agoMerge "Fix group separator in installer's sidebar"
jenkins-bot [Mon, 1 Dec 2014 23:30:22 +0000 (23:30 +0000)]
Merge "Fix group separator in installer's sidebar"

9 years agoAdding check for lessphp compiler to getLessCompiler()
kaldari [Mon, 1 Dec 2014 22:12:50 +0000 (14:12 -0800)]
Adding check for lessphp compiler to getLessCompiler()

Otherwise, PHP fatal errors will be thrown for anyone who installs
without it.

Change-Id: Ia027b7a829bbdae88b750c8119c546c846f3ae54

9 years agoMerge "Hide 'redirectedfrom' notice when printing articles"
jenkins-bot [Mon, 1 Dec 2014 21:40:13 +0000 (21:40 +0000)]
Merge "Hide 'redirectedfrom' notice when printing articles"

9 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Mon, 1 Dec 2014 21:00:09 +0000 (21:00 +0000)]
Merge "Localisation updates from https://translatewiki.net."

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 1 Dec 2014 20:56:04 +0000 (21:56 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I2039215565965839327236df77eccfd226fe08c8

9 years agoPopulate revision data when expanding templates
Arlo Breault [Thu, 27 Nov 2014 22:43:12 +0000 (14:43 -0800)]
Populate revision data when expanding templates

 * Add a $revid parameter to the expandtemplates api action so that,
   when passed, the correct revision information is set for {{REVISIONID}}
   and similar variables.

Bug: T73306
Change-Id: I93ef39fdabbaa5f394efce9b5c5e080666ff6119

9 years agoFix group separator in installer's sidebar
m4tx [Mon, 1 Dec 2014 19:23:43 +0000 (20:23 +0100)]
Fix group separator in installer's sidebar

Uses explode() to split the sections and puts correct separators between them.

Bug: T39362
Change-Id: I9a287b6ac206debb9bd93dbfad0703a8fad0931f