lhc/web/wiklou.git
12 years ago* Use WikiPage instead of Article
Alexandre Emsenhuber [Sat, 7 Jan 2012 15:43:05 +0000 (15:43 +0000)]
* Use WikiPage instead of Article
* Use getRedirectTarget() instead of followRedirect(); the latter may return a string, which is not wanted here
* No need to call updateRedirectOn(); getRedirectTarget() already populates the redirect table if needed

12 years ago* Don't select (even twice for PHPUnit tests) "FOR UPDATE", but use the master databa...
Alexandre Emsenhuber [Sat, 7 Jan 2012 12:19:10 +0000 (12:19 +0000)]
* Don't select (even twice for PHPUnit tests) "FOR UPDATE", but use the master database directly instead
* Also pass the line number
* Removed useless usage of $title when throwing the exception about invalid since that variable is always null
* Added $ignoreDuplicate parameter to ParserTest::addArticle()

12 years agoDon't expand templates in html <title>. This seems to have regressed some time ago.
Niklas Laxström [Sat, 7 Jan 2012 09:56:14 +0000 (09:56 +0000)]
Don't expand templates in html <title>. This seems to have regressed some time ago.

12 years agor108300: updated parserTest.inc tests and re-enabled testBug29408()
Aaron Schulz [Sat, 7 Jan 2012 09:26:11 +0000 (09:26 +0000)]
r108300: updated parserTest.inc tests and re-enabled testBug29408()

12 years agoDependency inject the repo/backend for proper testing rather than relying on the...
Aaron Schulz [Sat, 7 Jan 2012 06:13:01 +0000 (06:13 +0000)]
Dependency inject the repo/backend for proper testing rather than relying on the wiki config

12 years agor108300: also destroy the repo/backend singletons for upload test
Aaron Schulz [Sat, 7 Jan 2012 04:30:23 +0000 (04:30 +0000)]
r108300: also destroy the repo/backend singletons for upload test

12 years ago* Fixed bogus dollar signs left in $tmpGlobals array keys in r108300.
Aaron Schulz [Sat, 7 Jan 2012 03:46:54 +0000 (03:46 +0000)]
* Fixed bogus dollar signs left in $tmpGlobals array keys in r108300.
* Various documentation cleanups.

12 years agoPartially reverted bits from r108300. Not allowing underscores is too restrictive...
Aaron Schulz [Sat, 7 Jan 2012 03:17:17 +0000 (03:17 +0000)]
Partially reverted bits from r108300. Not allowing underscores is too restrictive and breaks on default DB name value suggested by installer. Azure can use resolveContainerName() to enforce its extra restrictions. A new resolveWikiId() function was added to allow for it to mangle the wiki ID by translating underscores. Also restored previous size limit in isValidContainerName() since it makes sense to either go all the way lowest-common-denominator or not here (in this case not). Preserved "first char is a alphanumeric" check since it's pretty weird to have anything else.

12 years agoIn FileBackend/FileOp:
Aaron Schulz [Sat, 7 Jan 2012 01:33:23 +0000 (01:33 +0000)]
In FileBackend/FileOp:
* Replaced 'media' portion of container names with the repo name. This makes it easy for multiple repos to use the same backend without 'wikiId' hacks. Full container names are now like <wiki>-<repo>-<zone> (or <repo>-<zone> if 'wikiId' is set to an empty string).
* Restricted isValidContainerName() more in light of Azure portability and shorted shard suffix.
* Bumped $maxCacheSize to 75 storage paths.
* Code comment cleanups and additions.
Unit tests:
* Updated related tests and marked testBug29408() as broken (I can't find the problem).
* Reduced leakage in UploadFromUrlTestSuite a bit.

12 years agoLocalisation updates for core and extension messages from translatewiki.net
Raimond Spekking [Fri, 6 Jan 2012 23:05:19 +0000 (23:05 +0000)]
Localisation updates for core and extension messages from translatewiki.net

12 years agoRegister the 2 new access message keys from r108262 for meintenance files
Raimond Spekking [Fri, 6 Jan 2012 22:58:23 +0000 (22:58 +0000)]
Register the 2 new access message keys from r108262 for meintenance files

12 years agoIgnore the 2 new access message keys from r108262 for translation
Raimond Spekking [Fri, 6 Jan 2012 22:26:57 +0000 (22:26 +0000)]
Ignore the 2 new access message keys from r108262 for translation

12 years agorv r108284 since PHP has different behaviors
Antoine Musso [Fri, 6 Jan 2012 22:18:46 +0000 (22:18 +0000)]
rv r108284 since PHP has different behaviors

should fix jenkins

12 years agoFix formatBitrate behavior on Mac OS X
Antoine Musso [Fri, 6 Jan 2012 21:49:55 +0000 (21:49 +0000)]
Fix formatBitrate behavior on Mac OS X

Language::formatBitrate() uses log10() to makes a long number human readeable.
There is a nasty rounding error on Mac OS X for log10():

 log10(pow(10,15)) => gives 15

 floor( log10(pow(10,15)) ) => gives 14 (should be 15)

The end result is that pow(10,15) is formatted as 1,000Tbps instead of 1Pbps

log( $foo, 10) does not suffer from this:

 php -r 'print floor(log(pow(10,15),10)) ."\n";'

PHP Version used:

 $ php -v
 PHP 5.3.6 with Suhosin-Patch (cli) (built: Sep  8 2011 19:34:00)
 Copyright (c) 1997-2011 The PHP Group
 Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
     with Xdebug v2.1.2, Copyright (c) 2002-2011, by Derick Rethans
 $

TEST PLAN:

BEFORE
======

$ php phpunit.php ./languages/LanguageTest.php
PHPUnit 3.6.3 by Sebastian Bergmann.

...............................................................  63 / 170 ( 37%)
............................................................... 126 / 170 ( 74%)
.......................................F....

Time: 2 seconds, Memory: 32.25Mb

There was 1 failure:

1) LanguageTest::testFormatBitrate with data set #5 (1000000000000000, '1Pbps', '1 petabit per second')
formatBitrate('1000000000000000'): 1 petabit per second
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'1Pbps'
+'1,000Tbps'

FAILURES!
Tests: 170, Assertions: 174, Failures: 1.

AFTER
=====

PHPUnit 3.6.3 by Sebastian Bergmann.

...............................................................  63 / 170 ( 37%)
............................................................... 126 / 170 ( 74%)
............................................

Time: 1 second, Memory: 32.25Mb

OK (170 tests, 174 assertions)

12 years agominor w/s + move $title instantiation above Enotif
Mark A. Hershberger [Fri, 6 Jan 2012 21:25:09 +0000 (21:25 +0000)]
minor w/s + move $title instantiation above Enotif

12 years agow/s, remove unused vars per note in bug #33537
Mark A. Hershberger [Fri, 6 Jan 2012 20:54:24 +0000 (20:54 +0000)]
w/s, remove unused vars per note in bug #33537

12 years agoRevert r105790 and move back view counter back to WikiPage with two modifications:
Alexandre Emsenhuber [Fri, 6 Jan 2012 20:26:53 +0000 (20:26 +0000)]
Revert r105790 and move back view counter back to WikiPage with two modifications:
* WikiPage::$mCounter is now marked as protected
* Call WikiPage::loadPageData() from WikiPage::getCount() if the count is not set intead of loading the page_counter field only

12 years ago* Added WikiPage to RequestContext and related so that it can be shared to avoid...
Alexandre Emsenhuber [Fri, 6 Jan 2012 20:00:04 +0000 (20:00 +0000)]
* Added WikiPage to RequestContext and related so that it can be shared to avoid creating a new object each time and thus avoiding database queries to load the state of the object
* Added Article::getPage() as accessor to the WikiPage object so that it can be set in the context from MediaWiki::initializeArticle()
* Use it WikiPage::main() to call doViewUpdates()

I'm doing to this now so that I can revert r105790 and use the WikiPage object before the 1.19 release

12 years agoCouple of fname -> __method__
Chad Horohoe [Fri, 6 Jan 2012 18:30:11 +0000 (18:30 +0000)]
Couple of fname -> __method__

12 years agowl edit tooltip messages from r108262
Antoine Musso [Fri, 6 Jan 2012 18:27:56 +0000 (18:27 +0000)]
wl edit tooltip messages from r108262

12 years ago(bug 32787) Add DB name to debug output. Based on patch by Solitarius
Chad Horohoe [Fri, 6 Jan 2012 18:23:52 +0000 (18:23 +0000)]
(bug 32787) Add DB name to debug output. Based on patch by Solitarius

12 years agoAdd tooltip/accesskey to EditWatchlist
Krinkle [Fri, 6 Jan 2012 18:15:42 +0000 (18:15 +0000)]
Add tooltip/accesskey to EditWatchlist
* Fixes bug 33565

12 years agorelease-notes: remove notes for r108203; adding new ones for r108230
Krinkle [Fri, 6 Jan 2012 17:35:11 +0000 (17:35 +0000)]
release-notes: remove notes for r108203; adding new ones for r108230

12 years agoFollow up r108248, r108141: use wfUnpack() so we don't duplicate logic. Could also...
Chad Horohoe [Fri, 6 Jan 2012 16:58:38 +0000 (16:58 +0000)]
Follow up r108248, r108141: use wfUnpack() so we don't duplicate logic. Could also pass $length for sanity, but someone else can do that

12 years agoMade UnwatchArticle, UnwatchArticleComplete, WatchArticle and WatchArticleComplete...
Alexandre Emsenhuber [Fri, 6 Jan 2012 16:28:11 +0000 (16:28 +0000)]
Made UnwatchArticle, UnwatchArticleComplete, WatchArticle and WatchArticleComplete pass a WikiPage object instead of Article.
There are two extensions (InterwikiIntegration and Syslog) that use these hooks and they don't Article-only methods so they won't break by this change.

12 years agoXCF: suppress warning on unpack + early exit on error
Antoine Musso [Fri, 6 Jan 2012 16:17:04 +0000 (16:17 +0000)]
XCF: suppress warning on unpack + early exit on error

follow r108141

12 years ago(bug 29309) allow CSS class per tooltip (tipsy)
Antoine Musso [Fri, 6 Jan 2012 16:02:05 +0000 (16:02 +0000)]
(bug 29309) allow CSS class per tooltip (tipsy)

Let us use the new "className" upstream option to add a class per tooltip.

Partial merges of upstreams changes:
 - 602f2fe5 Per-tooltip classes
 - f5563566 Helper function for call or return idiom

12 years agoAdd a few @since entries
Sam Reed [Fri, 6 Jan 2012 15:36:17 +0000 (15:36 +0000)]
Add a few @since entries

12 years agoFollowup r108231, remove useless _this
Roan Kattouw [Fri, 6 Jan 2012 15:14:04 +0000 (15:14 +0000)]
Followup r108231, remove useless _this

12 years agoFollowup r108184: fix loading in Opera. Before, Opera would only begin to render...
Roan Kattouw [Fri, 6 Jan 2012 15:06:39 +0000 (15:06 +0000)]
Followup r108184: fix loading in Opera. Before, Opera would only begin to render the document after all async scripts were loaded, now it's the other way around (scripts load after the document is ready). This is not an improvement compared to the current situation, but it's not a regression either.

12 years ago* Added callback to send notices from WikiImporter and use it in ImportReporter so...
Alexandre Emsenhuber [Fri, 6 Jan 2012 14:21:16 +0000 (14:21 +0000)]
* Added callback to send notices from WikiImporter and use it in ImportReporter so that it can use the context to get messages and send them to OutputPage (also removes on usage of $wgCommandLineMode)
* Early abort on invalid title in ImportReporter::reportPage() since a notice has already been sent
* Localised message saying the title is invalid

12 years agoFix broken oldParser call in r108230
Roan Kattouw [Fri, 6 Jan 2012 14:17:03 +0000 (14:17 +0000)]
Fix broken oldParser call in r108230

12 years agoFix up r108203: just loading mw.jqueryMsg in the bottom queue, then assuming its...
Roan Kattouw [Fri, 6 Jan 2012 14:11:34 +0000 (14:11 +0000)]
Fix up r108203: just loading mw.jqueryMsg in the bottom queue, then assuming its presence in mw.Message doesn't work, see CR comments.

* Moved message parsing (including $1 replacement) to Message.prototype.parser(), and let jqueryMsg override that when loaded
** Make the Message constructor public to make this possible
** Moved logic for skipping jqueryMsg when the message is simple from mw.Message to mw.jqueryMsg, where it belongs
* Remove mw.jqueryMsg from the default modules list in OutputPage. Modules that require PLURAL/GENDER should depend on mw.jqueryMsg
* TODOs
** The jqueryMsg parser is recreated for every mw.msg() call. It should probably be cached, but the only way I can think of is to add it as a member of the Map object, which is kind of weird
** Because jqueryMsg doesn't support a 'text' mode that expands PLURAL/GENDER but doesn't output HTML (leaves e.g. links alone), mw.Message.plain() and mw.Message.parse() currently behave identically. This is wrong and should be fixed, but that needs support in jqueryMsg too

12 years ago* Don't allow to import a page in the Media: namespace, this didn't work just because...
Alexandre Emsenhuber [Fri, 6 Jan 2012 12:06:13 +0000 (12:06 +0000)]
* Don't allow to import a page in the Media: namespace, this didn't work just because WikiPage::factory() throws an exception when a Title in NS_MEDIA is passed
* Added localised message when trying to import a page with an interwiki prefix

12 years agoSet position => 'top' for wikibits, required to support legacy gadgets. Spotted by...
Roan Kattouw [Fri, 6 Jan 2012 12:03:06 +0000 (12:03 +0000)]
Set position => 'top' for wikibits, required to support legacy gadgets. Spotted by Niklas on TranslateWiki. Ping r107327.

12 years agoRemove unneeded dependency from wikibits, and move the showtoc and hidetoc messages...
Roan Kattouw [Fri, 6 Jan 2012 11:44:41 +0000 (11:44 +0000)]
Remove unneeded dependency from wikibits, and move the showtoc and hidetoc messages to mw.util where they're used

12 years agoPrevent #firstHeading overriding the language specific h1 height.
Santhosh Thottingal [Fri, 6 Jan 2012 11:24:57 +0000 (11:24 +0000)]
Prevent #firstHeading overriding the language specific h1 height.
Ref Bug 30809

12 years agoUse mw.jqueryMsg parser for message parsing to support PLURAL and GENDER
Santhosh Thottingal [Fri, 6 Jan 2012 09:14:45 +0000 (09:14 +0000)]
Use mw.jqueryMsg parser for message parsing to support PLURAL and GENDER
Follow up r107556 and based on the discussions on wikitech-l about this.
mediawiki.jqueryMsg is now loaded always. mw.msg uses the parser if required.
Add qunit test cases.

12 years agoFix grammar in r108154.
Raimond Spekking [Fri, 6 Jan 2012 08:06:05 +0000 (08:06 +0000)]
Fix grammar in r108154.
Spotted by kgh https://translatewiki.net/wiki/Thread:Support/About_MediaWiki:Perfcached/en

12 years agoCorrection in the test comment, followup r107824
Santhosh Thottingal [Fri, 6 Jan 2012 06:56:01 +0000 (06:56 +0000)]
Correction in the test comment, followup r107824

12 years agor108192: Explicitly set flags for RecursiveDirectoryIterator constructor
Aaron Schulz [Fri, 6 Jan 2012 06:35:54 +0000 (06:35 +0000)]
r108192: Explicitly set flags for RecursiveDirectoryIterator constructor

12 years ago* Cleanup for r108175: made if easier for extensions to interact with each other...
Aaron Schulz [Fri, 6 Jan 2012 06:16:05 +0000 (06:16 +0000)]
* Cleanup for r108175: made if easier for extensions to interact with each other in TitleReadWhitelist hook. A handler can set $whitelisted to true to whitelist the page or it can set it to false and return false (most restrictive wins).
* Added some hook doc comments.

12 years agoFixes for r106752:
Aaron Schulz [Fri, 6 Jan 2012 05:15:51 +0000 (05:15 +0000)]
Fixes for r106752:
* Make sure FSFileIterator::current() directly returns the string path and that it is relative to the directory being searched.
* Fixed silly bug in testGetFileList that masked any bugs.
* Added a few code comments.

12 years agoFix a race condition in classic edit toolbar setup
Brion Vibber [Fri, 6 Jan 2012 01:38:26 +0000 (01:38 +0000)]
Fix a race condition in classic edit toolbar setup

mediawiki.action.edit used to call mw.toolbar.init on its own during DOMReady -- this required that the module already be loaded *before* DOMReady, *and* that it be fully loaded before the immedate-execution code that sets up the default toolbar items (output from EditPage.php).
This failed since we've gone fully async in the bottom-loading items, and could result in failed calls to mw.toolbar.addButton.

Wrapped those immediate calls in a mediawiki.loader.using call to ensure they're run after the module is loaded, and moved the mw.toolbar.init call into that section so we guarantee it gets run first.

12 years agoPartially reverted r108111: we can't assume subclasses put thumbnails in the...thumbn...
Aaron Schulz [Thu, 5 Jan 2012 23:35:38 +0000 (23:35 +0000)]
Partially reverted r108111: we can't assume subclasses put thumbnails in the...thumbnails zone. They might override the thumbnail path functions.

12 years agoResourceLoader: Add an experimental option to move the main module loading queue...
Roan Kattouw [Thu, 5 Jan 2012 23:32:41 +0000 (23:32 +0000)]
ResourceLoader: Add an experimental option to move the main module loading queue (the bottom queue) from the bottom of the <body> up into the <head> , while still being loaded asynchronously. This makes them load earlier, which should make the page load faster. This is the product of a long discussion on bug 27488

* Added a "blocking" state to mw.loader . When loading scripts while the document is not ready, the loader will use document.write() if blocking is true, and append to the <body> or the <head> if blocking is false. If the document is ready, the loader will always append to the <body>
* Enable blocking mode while loading the top queue, and disable it after. This ensures that modules in the top queue are still loaded in a blocking way as they were before
* If $wgResourceLoaderExperimentalAsyncLoading is true, the bottom queue is also loaded in the head, but with blocking mode disabled. Otherwise, it's loaded at the bottom of the <body> as before
* scripts-only and messages-only requests need special treatment:
** in the top queue, they can continue to use <script src="..."> tags because they are blocking
** if the bottom queue is at the bottom of the <body> (experimental async loading disabled), they can continue to use <script src="..."> tags as before
** if the bottom queue is in the <head> (experimental async loading enabled), they cannot use <script src="..."> tags, because those would block. Instead, call mw.loader.load() on the load.php URL

12 years agoMake sure that if we fail to read the App13 (iptc) block of a JPG file, that that...
Brian Wolff [Thu, 5 Jan 2012 23:25:39 +0000 (23:25 +0000)]
Make sure that if we fail to read the App13 (iptc) block of a JPG file, that that doesn't block other metadata from being read. Also makes sure if more then one app13 block is in the file, they are all read, not just the last one that appears in the file (This required some changes to tests since before the intermediate value was just one value, now its an array of all such blocks)

12 years agoXCF: remove var_dump() statement
Antoine Musso [Thu, 5 Jan 2012 23:01:24 +0000 (23:01 +0000)]
XCF: remove var_dump() statement

12 years agoLocalisation updates for core and extension messages from translatewiki.net
Raimond Spekking [Thu, 5 Jan 2012 21:31:37 +0000 (21:31 +0000)]
Localisation updates for core and extension messages from translatewiki.net

12 years agoPer request of Aaron Schulz, follow-up r102187: added new 'TitleReadWhitelist' hook...
Alexandre Emsenhuber [Thu, 5 Jan 2012 20:29:53 +0000 (20:29 +0000)]
Per request of Aaron Schulz, follow-up r102187: added new 'TitleReadWhitelist' hook to allow extensions to bypass core (and other extensions) checks to allow an user to read the page

12 years agoPer Nikerabbit, fix for r107637: added @since
Alexandre Emsenhuber [Thu, 5 Jan 2012 19:05:02 +0000 (19:05 +0000)]
Per Nikerabbit, fix for r107637: added @since

12 years agoFollowup r107932
Sam Reed [Thu, 5 Jan 2012 18:49:19 +0000 (18:49 +0000)]
Followup r107932

Check random class to be isntantiated is a subclass of DatabaseBase

12 years agoFollow-up r108137: @since
Max Semenik [Thu, 5 Jan 2012 18:05:54 +0000 (18:05 +0000)]
Follow-up r108137: @since

12 years agoFollow-up r108147. PLURAL in message.
Brian Wolff [Thu, 5 Jan 2012 17:56:51 +0000 (17:56 +0000)]
Follow-up r108147. PLURAL in message.

12 years agoFor new 'export all' feature, cleanup whitepspace, remove redundant check, add docume...
Greg Sabino Mullane [Thu, 5 Jan 2012 17:10:07 +0000 (17:10 +0000)]
For new 'export all' feature, cleanup whitepspace, remove redundant check, add documentation. Bug 10574y

12 years agoadd basic XCF pictures for testing purpose
Antoine Musso [Thu, 5 Jan 2012 16:33:52 +0000 (16:33 +0000)]
add basic XCF pictures for testing purpose

12 years ago(bug 33456) show $wgQueryCacheLimit on cached query pages, so users know that the...
Brian Wolff [Thu, 5 Jan 2012 16:14:52 +0000 (16:14 +0000)]
(bug 33456) show $wgQueryCacheLimit on cached query pages, so users know that the results are artificially cut off, and its not just that there is only 1000 wanted files (or whatever else) on the wiki.

12 years ago(bug 33321. Sort of) Adding a line to MediaWiki:Sidebar that contains a pipe, but...
Brian Wolff [Thu, 5 Jan 2012 15:34:26 +0000 (15:34 +0000)]
(bug 33321. Sort of) Adding a line to MediaWiki:Sidebar that contains a pipe, but doesn't
have any pipes after being transformed by MessageCache, causes exception on
all pages.

This can happen with lines like:
**{{#if:yes|Something}}

Thank you to liangent for figuring out how to escape a | without {{!}} existing and &#124; not working.

12 years agoexplanations by Erwin Dokter on bug 33496
Antoine Musso [Thu, 5 Jan 2012 15:06:49 +0000 (15:06 +0000)]
explanations by Erwin Dokter on bug 33496

12 years agorewrite getXCFMetaData() to get ride of im identify
Antoine Musso [Thu, 5 Jan 2012 14:48:55 +0000 (14:48 +0000)]
rewrite getXCFMetaData() to get ride of im identify

By reading the file header and unpacking the data, we can avoid
shelling out to imagemagick 'identify'. Save up some CPU cycles :D

An XCF is made of a canvas of a given width / height, the various
layers are applied to it which must fit in the canvas. So we just
use the canvas size :-)

I do not think we have any usage for channels count, so I have just
skip that part. I am not sure it makes any sense when the picture
can be made of several layers each using different channels count.

Bits per color is always 8 per definition. Grayscale is 0 - 255
and indexed palette is 256 colors at most.

XCF spec:
http://svn.gnome.org/viewvc/gimp/trunk/devel-docs/xcf.txt?view=markup

pack() / unpack() is familiar to perl monkeys

Fully reimplements r107351

12 years agoAccessor for LinksUpdate's parser output
Max Semenik [Thu, 5 Jan 2012 13:00:37 +0000 (13:00 +0000)]
Accessor for LinksUpdate's parser output

12 years agoparserTest need to clone user_former_groups table
Antoine Musso [Thu, 5 Jan 2012 11:03:53 +0000 (11:03 +0000)]
parserTest need to clone user_former_groups table

Not sure why it is suddenly needed.

12 years agoAdd additional parameter $altUserName to Linker::userLink to make it possible to...
Siebrand Mazeland [Thu, 5 Jan 2012 09:33:46 +0000 (09:33 +0000)]
Add additional parameter $altUserName to Linker::userLink to make it possible to override the displayed user name.
Renamed $userText to $userName following Nikerabbit's advice.

12 years agoadditional monospaced font-family hacks
Antoine Musso [Thu, 5 Jan 2012 09:24:16 +0000 (09:24 +0000)]
additional monospaced font-family hacks

  font-family: monospace, monospace;
Is elegant and has my preference :-)

  font-family: monospace, DOESNOTEXISTREALLY;
Really make it obvious

follow r108123

12 years agotest rendering font-family for monospaced fonts
Antoine Musso [Thu, 5 Jan 2012 09:16:13 +0000 (09:16 +0000)]
test rendering font-family for monospaced fonts

follow r108112

12 years ago* Made use of FileBackend function 'latest' param in FileOp.
Aaron Schulz [Thu, 5 Jan 2012 06:18:36 +0000 (06:18 +0000)]
* Made use of FileBackend function 'latest' param in FileOp.
* Added FileBackend process cache for fileExists(), getFileTimestamp(), and getLocalReference().
* Refactored getFileSha1Base36() into parent class and subclass functions.
* Removed some FileBackendMultiWrite comment duplication.

12 years agoBug 33514 - Make category "columns" (table cells) equal width
Mark A. Hershberger [Thu, 5 Jan 2012 04:53:05 +0000 (04:53 +0000)]
Bug 33514 - Make category "columns" (table cells) equal width
Author: Erwin Dokter

12 years agoFix Bug 33496 - Misleading comment regarding preformatted font in commonElements.css
Mark A. Hershberger [Thu, 5 Jan 2012 02:24:29 +0000 (02:24 +0000)]
Fix Bug 33496 - Misleading comment regarding preformatted font in commonElements.css
Author: Erwin Dokter

12 years agoIn SpecialUploadStash:
Aaron Schulz [Thu, 5 Jan 2012 01:58:05 +0000 (01:58 +0000)]
In SpecialUploadStash:
* Updated outputLocallyScaledThumb() and outputLocalFile() to handle changes in r106752.
In MediaTransformOutput:
* Added a storage path field to the transformation output object and set it in  File::maybeDoTransform().
In File:
* Fixed maybeDoTransform() handling if repo member is not set and made it fully respect $wgIgnoreImageErrors.
In BitmapHandler:
* Don't set bogus path if TRANSFORM_LATER in doTransform() for deffered renderings.

12 years agoIn FSFile:
Aaron Schulz [Thu, 5 Jan 2012 01:47:00 +0000 (01:47 +0000)]
In FSFile:
* Added getMimeType() and extensionFromPath() functions.
* A few other minor code and comment cleanups.

12 years agoAdded a bit to StreamFile docs
Aaron Schulz [Thu, 5 Jan 2012 01:33:58 +0000 (01:33 +0000)]
Added a bit to StreamFile docs

12 years ago[mediawiki.loader] fix numerous bugs and edge cases discovered with Roan on Etherpad...
Krinkle [Thu, 5 Jan 2012 01:30:07 +0000 (01:30 +0000)]
[mediawiki.loader] fix numerous bugs and edge cases discovered with Roan on Etherpad/Skype

* 'undefined' state removed:
State 'undefined' has been removed. This was half-supported, probably with the intention to support loading of modules that are registered server side after the startup module was loaded (either because the server had a deployment while the user was browsing the page, or because loader.load calls in HTML document or loader.register where cached and out of sync. That's not unlikely to happen after deployment, after which there is a 5 minute window of cached startup modules in peoples browser cache but fresh HTML documents.

Instead of filling in the missing registry with no information, simply don't support this. Shouldn't break anything as it wasn't supported all the way.

* Document state 'missing'. Used by the load.php when a requested module doesn't exist according to the server.

* Fix recurse(). Previously it failed to recognize circular dependencies, because "unresolved" started as an empty array (given by resolve(). See also test cases at bottom of commitmsg.
* Fix recurse() even more. It was using inArray as a parameter to [].splice(), which is bad as inArray can be -1, in which case splice(-1,1) will remove the last item in the array, instead of the one at the index. Fortunately this was never exploited as 'unresolved=[]' is starting point, so nothing to delete.

* Fix resolve(). Don't return an empty array, which is contrary to it's (now documented) behavior of including the requested module in the return array. Instead letting recurse() handle it.

* Add magic filter to filter() named "unregistered" which  will reduce the set to only module names that are not in the registry.

* Removing call to request() from the bottom bottom of mw.loader.implement. This can't be needed as before load.php is called the toes implement, all dependencies are put in queue and set to "loading" state, this queue is build first and then the load requests happen. At point implement is called, it's dependencies must already be in the queue. If any unloaded dependencies at moment of implementation (which is very common), the next implement will call execute which does handlePending, which will execute previously implemented modules that were waiting for dependencies to arrive.

* Make load() and using() no longer return meaningless booleans, they were undocumented and meaningless as they are either used as voids or with callbacks.

* Bring consistency in handling input. If direct input to a loader function is invalid or contains inexistent modules, throw an exception. Otherwise use error callback.
-- with one exception, that is the raw module list passed to mw.loader.load, those are not related to each other and should continue even if there is an inexistent module in there.
-- For example if a deployment occurs, adding an extension with modules loaded on a particular page. The user will have a startup module in cache up to 5 minutes that doesn't have this module's registry yet. In that case the new modules should simply be ignored. Before this commit they were also silently ignored, but not by skipping them. previously inexistent/undefined modules would give ok-callback of using() instantly, because filter(['ready'], modules) is the same as modules when it contains nothing.

12 years agoFollowup r105809; Split up the tests with a dataProvider and add a round trip test.
Daniel Friesen [Thu, 5 Jan 2012 00:26:13 +0000 (00:26 +0000)]
Followup r105809; Split up the tests with a dataProvider and add a round trip test.

12 years agoTidy up nested assignments
Sam Reed [Wed, 4 Jan 2012 21:34:56 +0000 (21:34 +0000)]
Tidy up nested assignments

12 years agoTidy up/rearrange RELEASE-NOTES-1.19 slightly
Sam Reed [Wed, 4 Jan 2012 21:34:02 +0000 (21:34 +0000)]
Tidy up/rearrange RELEASE-NOTES-1.19 slightly

12 years ago* (bug 33525) clearTagHooks doesn't clear function hooks.
Sam Reed [Wed, 4 Jan 2012 21:30:06 +0000 (21:30 +0000)]
* (bug 33525) clearTagHooks doesn't clear function hooks.
* (bug 33523) Function tag hooks don't appear on Special:Version.

Patches by Nikola Kovacs

12 years agoLocalisation updates for core and extension messages from translatewiki.net
Raimond Spekking [Wed, 4 Jan 2012 21:00:47 +0000 (21:00 +0000)]
Localisation updates for core and extension messages from translatewiki.net

12 years agoRedo r107066 properly: apply CSSJanus to user CSS previews when needed. Ping r94421
Roan Kattouw [Wed, 4 Jan 2012 20:01:29 +0000 (20:01 +0000)]
Redo r107066 properly: apply CSSJanus to user CSS previews when needed. Ping r94421

12 years ago[mediawiki.debug] add implied semi-colon
Krinkle [Wed, 4 Jan 2012 19:14:43 +0000 (19:14 +0000)]
[mediawiki.debug] add implied semi-colon
* poke r107610

12 years ago[JSTesting] rm redundant comment, there are no more "*" behind any entries
Krinkle [Wed, 4 Jan 2012 19:13:45 +0000 (19:13 +0000)]
[JSTesting] rm redundant comment, there are no more "*" behind any entries

12 years ago[JSTesting] fix case typo in file path
Krinkle [Wed, 4 Jan 2012 19:11:45 +0000 (19:11 +0000)]
[JSTesting] fix case typo in file path
* twn:
exception 'MWException' with message 'ResourceLoaderFileModule::readScriptFiles: script file not found: "/www/sandwiki/tests/qunit/suites/resources/mediawiki/mediawiki.title.test.js"' in /www/sandwiki/includes/resourceloader/ResourceLoaderFileModule.php:518

12 years agore r102301 — apply Krinkle's suggested fix.
Mark A. Hershberger [Wed, 4 Jan 2012 19:09:03 +0000 (19:09 +0000)]
re r102301 — apply Krinkle's suggested fix.

12 years agofollow-up to r106912 - NULL to null
Ryan Kaldari [Wed, 4 Jan 2012 19:01:12 +0000 (19:01 +0000)]
follow-up to r106912 - NULL to null

12 years agore r106025 — apply follow up from Luca Fulchir
Mark A. Hershberger [Wed, 4 Jan 2012 18:01:10 +0000 (18:01 +0000)]
re r106025 — apply follow up from Luca Fulchir

12 years agoBug 33494 - Remove redundant CSS from chick/main.css
Sam Reed [Wed, 4 Jan 2012 17:30:09 +0000 (17:30 +0000)]
Bug 33494 - Remove redundant CSS from chick/main.css

Patch by Erwin Dokter

12 years agoRevert r107066, see CR comments for full rationale. Basically this moves the previewe...
Roan Kattouw [Wed, 4 Jan 2012 17:15:25 +0000 (17:15 +0000)]
Revert r107066, see CR comments for full rationale. Basically this moves the previewed CSS to the wrong place in the <head> while not actually applying Janus

12 years agofollow up r107932 with w/s fixes
Mark A. Hershberger [Wed, 4 Jan 2012 16:43:46 +0000 (16:43 +0000)]
follow up r107932 with w/s fixes

12 years agoAttempt to avoid a warning I got during input:
Mark A. Hershberger [Wed, 4 Jan 2012 16:29:01 +0000 (16:29 +0000)]
Attempt to avoid a warning I got during input:

$ 7z x -so ../dewikisource-20111012-pages-meta-history.xml.7z | php maintenance/importDump.php

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

Processing archive: ../dewikisource-20111012-pages-meta-history.xml.7z

Extracting  dewikisource-20111012-pages-meta-history.xml
PHP Notice:  Undefined index: wgExtensionAliasesFiles in /home/mah/work/code/mediawiki/mw-
svn/includes/cache/CacheDependency.php on line 386
PHP Stack trace:
PHP   1. {main}() /home/mah/work/code/mediawiki/mw-svn/maintenance/importDump.php:0
PHP   2. require_once() /home/mah/work/code/mediawiki/mw-svn/maintenance/importDump.php:287
PHP   3. BackupReader->execute() /home/mah/work/code/mediawiki/mw-svn/maintenance/doMaintenance.php:105
PHP   4. BackupReader->importFromStdin() /home/mah/work/code/mediawiki/mw-svn/maintenance/importDump.php:93
PHP   5. BackupReader->importFromHandle() /home/mah/work/code/mediawiki/mw-svn/maintenance/importDump.php:249
PHP   6. WikiImporter->doImport() /home/mah/work/code/mediawiki/mw-svn/maintenance/importDump.php:282
PHP   7. WikiImporter->handlePage() /home/mah/work/code/mediawiki/mw-svn/includes/Import.php:411
PHP   8. WikiImporter->processTitle() /home/mah/work/code/mediawiki/mw-svn/includes/Import.php:534
PHP   9. Title->userCan() /home/mah/work/code/mediawiki/mw-svn/includes/Import.php:788
PHP  10. Title->getUserPermissionsErrorsInternal() /home/mah/work/code/mediawiki/mw-svn/includes/Title.php:1557
PHP  11. Title->checkSpecialsAndNSPermissions() /home/mah/work/code/mediawiki/mw-svn/includes/Title.php:2118
PHP  12. Title->getNsText() /home/mah/work/code/mediawiki/mw-svn/includes/Title.php:1728
PHP  13. Language->needsGenderDistinction() /home/mah/work/code/mediawiki/mw-svn/includes/Title.php:723
PHP  14. LocalisationCache->getItem() /home/mah/work/code/mediawiki/mw-svn/languages/Language.php:442
PHP  15. LocalisationCache->loadItem() /home/mah/work/code/mediawiki/mw-svn/includes/LocalisationCache.php:218
PHP  16. LocalisationCache->initLanguage() /home/mah/work/code/mediawiki/mw-svn/includes/LocalisationCache.php:283
PHP  17. LocalisationCache->isExpired() /home/mah/work/code/mediawiki/mw-svn/includes/LocalisationCache.php:395
PHP  18. GlobalDependency->isExpired() /home/mah/work/code/mediawiki/mw-svn/includes/LocalisationCache.php:367

12 years agoapplication/vnd.oasis.opendocument.database [OFFICE]
Antoine Musso [Wed, 4 Jan 2012 16:24:41 +0000 (16:24 +0000)]
application/vnd.oasis.opendocument.database [OFFICE]

12 years agoFix Bug 29102 - Upgrade fails "Unknown character set: 'mysql4'
Mark A. Hershberger [Wed, 4 Jan 2012 15:52:48 +0000 (15:52 +0000)]
Fix Bug 29102 - Upgrade fails "Unknown character set: 'mysql4'

Fix suggested by Tremault and tested by maanto.  Confirmed by me.

12 years agomime.types: add opendoc database
Antoine Musso [Wed, 4 Jan 2012 15:14:08 +0000 (15:14 +0000)]
mime.types: add opendoc database

application/vnd.oasis.opendocument.database odb

12 years agomime.types: sort opendocument entries
Antoine Musso [Wed, 4 Jan 2012 15:12:08 +0000 (15:12 +0000)]
mime.types: sort opendocument entries

Sorted all application/vnd.oasis.opendocument entries, no other change.

12 years agoConsistency tweak.
Siebrand Mazeland [Wed, 4 Jan 2012 14:52:14 +0000 (14:52 +0000)]
Consistency tweak.

12 years agoXCF format: code style/comment
Antoine Musso [Wed, 4 Jan 2012 13:37:28 +0000 (13:37 +0000)]
XCF format: code style/comment

* Saved a level of indentation by returning early on command failure
* $md -> $metadata

Follow r107351

12 years agodocument getImageSize() return format
Antoine Musso [Wed, 4 Jan 2012 13:22:01 +0000 (13:22 +0000)]
document getImageSize() return format

Return array should return the same kind of array that PHP
internal method getimagesize() returns. See upstream doc:

  http://www.php.net/getimagesize

12 years agoenhance size tooltip on changelist
Antoine Musso [Wed, 4 Jan 2012 11:33:35 +0000 (11:33 +0000)]
enhance size tooltip on changelist

follow r104085

12 years agoGuessing a typo fix, could also be 'is a feed' but neither expression really opens...
Niklas Laxström [Wed, 4 Jan 2012 11:03:33 +0000 (11:03 +0000)]
Guessing a typo fix, could also be 'is a feed' but neither expression really opens to me

12 years agoJSTesting: javascripttest-pagetext-skin msg
Antoine Musso [Wed, 4 Jan 2012 10:51:57 +0000 (10:51 +0000)]
JSTesting: javascripttest-pagetext-skin msg

* added colon in the message
* reworded message

Follow r107919

12 years agoMade installer not install on SQLite less than 3.3.7, would prevent stuff like bug...
Max Semenik [Wed, 4 Jan 2012 10:41:39 +0000 (10:41 +0000)]
Made installer not install on SQLite less than 3.3.7, would prevent stuff like bug 25746. Also, threw MSSQL out of release notes - it can't be installed through the usual means.

12 years agoJSTesting: escape message
Antoine Musso [Wed, 4 Jan 2012 10:35:11 +0000 (10:35 +0000)]
JSTesting: escape message

Replaced call to wfMsg() by wfMsgHtml() just to be safe.
Per cr on r107919.