Tim Starling [Tue, 7 Jun 2011 05:11:50 +0000 (05:11 +0000)]
* Restored the page shown when LocalSettings.php is missing to how it was before r85918. That template is a welcome page, not a "catastrophic error".
* Fixed attempted remote loading of the logo image in index.php's wfDie(). Use the distributed mediawiki.png instead, that's what it's there for.
Jure Kajzer [Tue, 7 Jun 2011 05:09:32 +0000 (05:09 +0000)]
* fixed table duplication for unit tests
* fixed sequence handling when using DB prefix
* deferring constraints on transaction, switching back to immediate on commit/rollback
* hardcoded NLS_NUMERIC_CHARACTERS as it breaks using floats in sql if connection is in a non-US-like NLS_LANG (all vars are bound as chars)
Tim Starling [Tue, 7 Jun 2011 03:31:09 +0000 (03:31 +0000)]
When detecting $wgServer, do not fall back to $_SERVER['HTTP_HOST']. It's unlikely that this is used by anything, since SERVER_NAME takes precedence, and SERVER_NAME is required by CGI 1.1 and appears to always be set by the major web servers. If it were ever used, it would open up a cache-poisoning vulnerability. Partially reverts r8010.
Krinkle [Tue, 7 Jun 2011 00:08:56 +0000 (00:08 +0000)]
Partial revert of r85022. Removing added auto-margin that changed behaviour.
Krinkle [Mon, 6 Jun 2011 22:08:52 +0000 (22:08 +0000)]
(bug 25124) Resource loader should respect $wgStyleDirectory
* Yay, one down, one resourceloader 1.0 blocker to go
Krinkle [Mon, 6 Jun 2011 21:51:18 +0000 (21:51 +0000)]
Alright, IE7 is fixed by r89613. IE6 stays problematic, for some reason it contains non-nodes as well (presumably whitespace/textnodes). This oughta fix it forever (poke r89605)
Krinkle [Mon, 6 Jun 2011 21:43:03 +0000 (21:43 +0000)]
Redo r89605 in a better way.
Platonides [Mon, 6 Jun 2011 21:24:23 +0000 (21:24 +0000)]
Follow up r89585. Clean up after the test, expand inContentLanguage() comment.
Krinkle [Mon, 6 Jun 2011 21:10:42 +0000 (21:10 +0000)]
Fix bug that brakes the 'jquery.tabIndex > firstTabIndex' test in IE8/IE9. Some values default to a "unknown" string.
Raimond Spekking [Mon, 6 Jun 2011 20:57:48 +0000 (20:57 +0000)]
Localisation updates for core and extension messages from translatewiki.net (2011-06-06 20:43:00 UTC)
Krinkle [Mon, 6 Jun 2011 20:57:28 +0000 (20:57 +0000)]
Fix bug that brakes the 'jquery.tabIndex > firstTabIndex' test in IE6/IE7 (Thanks TestSwarm).
Krinkle [Mon, 6 Jun 2011 20:52:33 +0000 (20:52 +0000)]
Release notes for bug 27655 (r89545 and related revs)
Krinkle [Mon, 6 Jun 2011 20:51:27 +0000 (20:51 +0000)]
jquery.client.js JSPERF+Unit test suite
- Using one closure function instead of two
- Comparing to undefined instead it's type (faster, [[mw:JSPERF]])
- Adding basic test suite
Antoine Musso [Mon, 6 Jun 2011 20:10:51 +0000 (20:10 +0000)]
test thead / tfooter contains th elements
Implemented by r85922. Cover r85943.
TEST PLAN:
$ php parserTests.php --regex 'Table have th inside t'
This is MediaWiki version 1.19alpha (r89594).
Reading tests from "tests/parser/parserTests.txt"...
Running test Table have th inside tfoot... PASSED
Running test Table have th inside thead... PASSED
Reading tests from "tests/parser/extraParserTests.txt"...
Reading tests from "../mwexts/LabeledSectionTransclusion/lstParserTests.txt"...
Passed 2 of 2 tests (100%)... ALL TESTS PASSED!
$
Antoine Musso [Mon, 6 Jun 2011 20:09:21 +0000 (20:09 +0000)]
add credits to bluehairedlawyer for thead/tbody
(bug 4740, r85922)
Chad Horohoe [Mon, 6 Jun 2011 20:01:48 +0000 (20:01 +0000)]
;
Sam Reed [Mon, 6 Jun 2011 19:26:58 +0000 (19:26 +0000)]
Revert r89537 till we decide a sane way to have it on/off as API bools suck
Max Semenik [Mon, 6 Jun 2011 19:23:36 +0000 (19:23 +0000)]
Follow-up r89586: actually delete the file
Brion Vibber [Mon, 6 Jun 2011 18:35:28 +0000 (18:35 +0000)]
Revert r89263, r89297, r89347: unclear whether this is needed; DatabaseUpdater actions list is already extensible and it might just need some rearrangement?
Niklas Laxström [Mon, 6 Jun 2011 17:55:19 +0000 (17:55 +0000)]
Fix for bug 29274 - Message class ignores $wgForceUIMsgAsContentMsg
Also added tests, which pass
Sam Reed [Mon, 6 Jun 2011 16:45:40 +0000 (16:45 +0000)]
* (bug 27716) Make a method to do checking of 0 or 1 of the parameters existence (like requireOnlyOneParameter), but without needing one of the parameters
Sam Reed [Mon, 6 Jun 2011 16:06:59 +0000 (16:06 +0000)]
Followup r89542, validate hashes
Sam Reed [Mon, 6 Jun 2011 15:58:55 +0000 (15:58 +0000)]
Fix fixme on r89549
Sam Reed [Mon, 6 Jun 2011 15:34:14 +0000 (15:34 +0000)]
Followup r89564
showsizediff is disabled in miser mode, make the api check and die as appropriate
Sam Reed [Mon, 6 Jun 2011 15:07:23 +0000 (15:07 +0000)]
Refactoring to r89566
Refactor out duplicate code to SpecialPage
Sam Reed [Mon, 6 Jun 2011 15:01:27 +0000 (15:01 +0000)]
Minor refactoring
Comment updates
Sam Reed [Mon, 6 Jun 2011 14:56:47 +0000 (14:56 +0000)]
Followup r89564
Strip out the ?feed= functionality, update urls to point at the API!
Sam Reed [Mon, 6 Jun 2011 14:50:34 +0000 (14:50 +0000)]
* (bug 26763) Make RSS/Atom of user contributions more visible
Add ApiFeedContributions module
Somewhat duplicated against Special:Contributions?feed=atom
Going to strip out that functionality
Sam Reed [Mon, 6 Jun 2011 14:06:37 +0000 (14:06 +0000)]
Make ApiFeedWatchlist obey $wgFeed, and also die with an error if an invalid feed formatter is given
Tim Starling [Mon, 6 Jun 2011 12:00:57 +0000 (12:00 +0000)]
Test filename updates for r89558.
Tim Starling [Mon, 6 Jun 2011 11:59:20 +0000 (11:59 +0000)]
* Added a REQUEST_URI check to the bug 28235 handling.
* Moved most of the bug 28235 code out to a separate library class, since I was running out of distinct function names.
* Merged the QUERY_STRING and PATH_INFO security checks, since they are dealing with the exact same problem. Removed WebRequest::isQueryStringBad().
* Deal with img_auth.php by having it specify what extension it expects to be streaming out. This extension can then be compared with the extension that IE might detect.
Roan Kattouw [Mon, 6 Jun 2011 09:41:33 +0000 (09:41 +0000)]
Fix the non-PEAR alternative for Services_JSON_Error to be less useless. bug 29278 shows an error related to this class not being stringifiable
Sam Reed [Mon, 6 Jun 2011 09:40:45 +0000 (09:40 +0000)]
Followup r89550, add new error message to getPossibleErrors
Sam Reed [Mon, 6 Jun 2011 09:39:00 +0000 (09:39 +0000)]
Followup r89515, swapped messages around so css => css and js => javascript
Matthew Britton [Mon, 6 Jun 2011 09:22:52 +0000 (09:22 +0000)]
ApiComparePages: Throw an error if getDiffBody returns false, instead of blank output
This lets the client distinguish a legitimately blank diff (identical revisions) from one that does not exist or which they do not have permission to view.
getDiffBody doesn't tell the caller why it failed, so there may be a better way to do this.
Matthew Britton [Mon, 6 Jun 2011 08:45:54 +0000 (08:45 +0000)]
follow up r89513: avoid internal error when only invalid revids/pageids are passed
Krinkle [Mon, 6 Jun 2011 00:12:45 +0000 (00:12 +0000)]
Fix syntax error (Follow-up r89545)
Krinkle [Mon, 6 Jun 2011 00:09:03 +0000 (00:09 +0000)]
WatchAction requires token (BREAKING CHANGE)
* (bug 27655) Require token for watching/unwatching pages
* Previously done for API (bug 29070) in r88522
* As with markpatrolled, the tokens are not compatible and made that way on purpose. The API requires the POST method and uses a universal token per-session. Since the front-end is all GET based (also per convention like in markpatrolled and rollback) they are stronger salted (title / action specific)
* ajax.watch used the API already and was switched in r88554.
* The actual watching/unwatching code was moved from WatchAction->onView to WatchAction::doWatch. This was done to allow the API to do the action without needing to generate a token like the front-end needs (or having to duplicate code). It is now similar to RecentChange::markPatrolled (in that it also a "central" function that does not care about tokens, it's called after the token-handling)
* JavaScript / Gadgets that utilize action=watch in their scripts:
** Effects should be minimal as they should be using the API (see r88522 and wikitech-l)
** If they use index.php and scrap the link from the page, they can continue to do so.
* There are links to the watch action all over the place. I've tried to catch most of them, but there may be some I miss. Migration in most cases is just a matter of adding an array item to the $query for:
'token' => WatchAction::getWatchToken( $title, $user [, $action] )
or changing:
Action::factory( 'watch', $article )->execute();
to:
WatchAction::doWatch( $title, $user );
While replacing the usages in some cases an instance of Article() no longer had to be created, in others $wgUser had to be retrieved from global (which was implied before but needs to be given directly now)
Other notes:
* Article->unwatch() and Article->watch(), which were deprecated as of 1.18 and are no longer used in core, may be broken in scenarios where the Request does not have a 'token' but is making a call to $article->watch()
* Some extensions need to be fixed, I'm currently running a grep search and will fix them a.s.a.p
[1] http://www.mediawiki.org/wiki/ResourceLoader/Default_modules?mw.user#tokens
Sam Reed [Sun, 5 Jun 2011 23:48:39 +0000 (23:48 +0000)]
* (bug 27595) sha1 search of list=filearchive does not work
Still disabled in misermode, but switched for LIKE rather than =
Sam Reed [Sun, 5 Jun 2011 23:44:37 +0000 (23:44 +0000)]
Fixup error message
Remove {} (documentation tweaks)
Remove whitespace
Sam Reed [Sun, 5 Jun 2011 23:40:57 +0000 (23:40 +0000)]
* (bug 21346) Make deleted images searchable by hash (disabled in Miser Mode)
Effectively reverts r83411, but with the addition of it only works in !$wgMiserMode
Sam Reed [Sun, 5 Jun 2011 23:28:59 +0000 (23:28 +0000)]
Fix typo from r89539
Sam Reed [Sun, 5 Jun 2011 23:18:22 +0000 (23:18 +0000)]
* (bug 28392) mark action=undelete×tamps as type "timestamp"
Allow multiple timestamps
Sam Reed [Sun, 5 Jun 2011 22:51:58 +0000 (22:51 +0000)]
* (bug 29237) add interwiki target url attribute to api/query/interwiki
Sam Reed [Sun, 5 Jun 2011 21:56:27 +0000 (21:56 +0000)]
Fix 2 usages of 'bool' when 'boolean' is used elsewhere
Sam Reed [Sun, 5 Jun 2011 21:50:49 +0000 (21:50 +0000)]
* (bug 26597) Allow toggling of persistent cookies ("remember me") in API
action=login
Krinkle [Sun, 5 Jun 2011 21:09:24 +0000 (21:09 +0000)]
Fix copypaste error (Not a special page), follow-up (ancient) r10453
Sam Reed [Sun, 5 Jun 2011 21:04:48 +0000 (21:04 +0000)]
Documentation updates and additions
Sam Reed [Sun, 5 Jun 2011 21:03:39 +0000 (21:03 +0000)]
Followup r89529
Fix non static caller of getExistingLocalSettings
Sam Reed [Sun, 5 Jun 2011 20:29:47 +0000 (20:29 +0000)]
Followup r89528, don't use $wgRequest use $this->getMain()->getRequest()->response()/$this->getRequest()->response() (the latter when we're already in main!)
Also fix up a couple of calls to getMain() when we're already in a main class!?
Max Semenik [Sun, 5 Jun 2011 19:52:03 +0000 (19:52 +0000)]
Follow-up r89254 and r89481: re-did loading extension updates properly, now upgrading extension tables from web interface really works, and without notices
Sam Reed [Sun, 5 Jun 2011 19:51:31 +0000 (19:51 +0000)]
* (bug 22179) Internal use of API (FauxRequest) results in HTTP headers being set
Per Chad, switch API to use WebResponse::header() wrapper
Add $http_response_code to WebResponse::header()
Fix some code spacing/whitespace issues
Max Semenik [Sun, 5 Jun 2011 19:46:08 +0000 (19:46 +0000)]
Folow-up r89526: tabs and eol-style :(
Max Semenik [Sun, 5 Jun 2011 19:39:28 +0000 (19:39 +0000)]
SQLite: sync a couple of indexes with MySQL
Alexandre Emsenhuber [Sun, 5 Jun 2011 19:37:08 +0000 (19:37 +0000)]
Replace the text directly instead of using the StripState object since it will be unstripped just after the call replaceTransparentTags(), but left the call unstripGeneral() for the benefit of Poem extension that use it to escape the <br /> tag
Sam Reed [Sun, 5 Jun 2011 19:22:49 +0000 (19:22 +0000)]
* (bug 28002) Internal error in ApiFormatRaw::getMimeType
If we just return when no titles, we don't format anything, and everything breaks
Might aswell just unconditionally export, as even with no titles, we still get all the siteinfo and such
Raimond Spekking [Sun, 5 Jun 2011 19:21:51 +0000 (19:21 +0000)]
Localisation updates for core and extension messages from translatewiki.net (2011-06-05 19:19:00 UTC)
Sam Reed [Sun, 5 Jun 2011 18:42:50 +0000 (18:42 +0000)]
Fix unit tests for r89515
Sam Reed [Sun, 5 Jun 2011 18:34:26 +0000 (18:34 +0000)]
Followup r89515, fix double spacing in API Error message
Add both customcssprotected and customjsprotected to the possible errors output for editpage
Sam Reed [Sun, 5 Jun 2011 18:29:43 +0000 (18:29 +0000)]
* (bug 21107) Split error "customcssjsprotected" into separate messages for JS and CSS
Sam Reed [Sun, 5 Jun 2011 18:01:30 +0000 (18:01 +0000)]
Followup r89512
Apply the same positive integer validation to pageids (as the same behaviour can occur)
Refactor out common code, and reorganise initFromPageIds code to be similar to that of initFromRevIDs
Sam Reed [Sun, 5 Jun 2011 17:49:00 +0000 (17:49 +0000)]
* (bug 25734) API: possible issue with revids validation
It seems, on databases with loads of revision rows (ie enwiki, not testwiki), although the EXPLAIN is sane, it's doing something stupid (table scan? I've nfi). So, as any revision id's less than 0 aren't valid, just prefilter them from the database SQL query
mysql> DESCRIBE SELECT /* ApiPageSet::initFromRevIDs */ rev_id,rev_page FROM `revision`,`page` WHERE rev_id IN ('10','20','30','40','-50','60') AND (rev_page = page_id);
+----+-------------+----------+-------+-------------------------------+---------+---------+-----------------------+-------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+----------+-------+-------------------------------+---------+---------+-----------------------+-------+--------------------------+
| 1 | SIMPLE | page | index | PRIMARY | PRIMARY | 4 | NULL | 22982 | Using index |
| 1 | SIMPLE | revision | ref | PRIMARY,rev_id,page_timestamp | PRIMARY | 4 | testwiki.page.page_id | 1 | Using where; Using index |
+----+-------------+----------+-------+-------------------------------+---------+---------+-----------------------+-------+--------------------------+
Sam Reed [Sun, 5 Jun 2011 16:34:09 +0000 (16:34 +0000)]
* (bug 28897) rvparse doesn’t seem to work with rvsection
Sam Reed [Sun, 5 Jun 2011 15:12:38 +0000 (15:12 +0000)]
Add missing word to r89505
Sam Reed [Sun, 5 Jun 2011 15:10:11 +0000 (15:10 +0000)]
* (bug 29265) Mediawiki API documentation incomplete
Add text about erroneous requests when sent to the api
Remove extra //, and add some documentation
Sam Reed [Sun, 5 Jun 2011 14:46:55 +0000 (14:46 +0000)]
Adding method documentation
Add a couple of explicit variable definitions
Add some braces
Add one false; to return under case self::AS_NO_CREATE_PERMISSION:
Antoine Musso [Sun, 5 Jun 2011 09:25:42 +0000 (09:25 +0000)]
code documentation for $wgPreprocessorCacheThreshold
follow up r80180
Max Semenik [Sat, 4 Jun 2011 22:07:57 +0000 (22:07 +0000)]
SQLite-specific dropTable(): works a bit faster because it doesn't need a separate table existence check and does not rely on subtly broken tableExists() which I will fix a bit later
Max Semenik [Sat, 4 Jun 2011 21:56:44 +0000 (21:56 +0000)]
Revert r89254:
* It breaks if any extension uses any global except $IP, $wgHooks or $wgAutoloadClasses. Some unit tests that try updating a virtual database are already affected.
* If we have LocalSettings.php, we already have it loaded - are there code paths that don't have it?
* Parsing PHP with regexes is fragile and scary
Chad Horohoe [Sat, 4 Jun 2011 21:34:07 +0000 (21:34 +0000)]
pear -> port
Chad Horohoe [Sat, 4 Jun 2011 21:32:51 +0000 (21:32 +0000)]
Also support macports
Platonides [Sat, 4 Jun 2011 21:19:07 +0000 (21:19 +0000)]
Follow up r60599. Make normalizeUnicode() work even if $wgContLang is still not set,
just as it did before (eg. getGPCVal() check). This allows for early calls before
MediaWiki is completely initialised.
Alexandre Emsenhuber [Sat, 4 Jun 2011 20:28:59 +0000 (20:28 +0000)]
Fix for r89474: added missing () to function call
Alexandre Emsenhuber [Sat, 4 Jun 2011 20:27:51 +0000 (20:27 +0000)]
Fix for r89475: let's make this correctly
Alexandre Emsenhuber [Sat, 4 Jun 2011 20:21:50 +0000 (20:21 +0000)]
Added missing $PAGEEDITTIME replacement for impersonal mails
Platonides [Sat, 4 Jun 2011 20:12:21 +0000 (20:12 +0000)]
Follow up r89408. Magic >lang to getLang().
Alexandre Emsenhuber [Sat, 4 Jun 2011 20:11:05 +0000 (20:11 +0000)]
Use isAnon() so that the mail doesn't contain "anonymous user w.x.y.z" when a logged in user has "w.x.y.z" as real name and $wgEnotifUseRealName is true
Platonides [Sat, 4 Jun 2011 17:53:46 +0000 (17:53 +0000)]
Add BlockTest to the tests autoloader. Needed by ApiBlockTest.php
Added tabs to other items (compare ignoring whitespace).
Huji [Sat, 4 Jun 2011 14:33:01 +0000 (14:33 +0000)]
Follow up to r89419:
Per Brion's comment on Code Review, a generically named ltr class is created and used to reduce the number of rules
Krinkle [Sat, 4 Jun 2011 14:04:33 +0000 (14:04 +0000)]
Fixing fixme in r87164 (wrong if check)
Sam Reed [Sat, 4 Jun 2011 11:31:22 +0000 (11:31 +0000)]
* (bug 29265) Mediawiki API documentation incomplete
Flesh out documentation for the maxlag parameter
Alexandre Emsenhuber [Sat, 4 Jun 2011 09:22:24 +0000 (09:22 +0000)]
Added a note when this script is used
Mark A. Hershberger [Sat, 4 Jun 2011 02:59:10 +0000 (02:59 +0000)]
follow up r89278 — remove FTP support.
Chad Horohoe [Sat, 4 Jun 2011 02:54:29 +0000 (02:54 +0000)]
Followup r88124: fix the most glaring bug of the week
Sam Reed [Fri, 3 Jun 2011 22:59:34 +0000 (22:59 +0000)]
* (bug 29267) always give the servername for meta=siteinfo&siprop=dbrepllag
Brion Vibber [Fri, 3 Jun 2011 22:27:38 +0000 (22:27 +0000)]
Provisional revert of r89230: per CR, benchmarking currently shows that it makes things slightly slower, not faster
http://www.mediawiki.org/wiki/Special:Code/MediaWiki/89230#c17571
Raimond Spekking [Fri, 3 Jun 2011 21:08:51 +0000 (21:08 +0000)]
Localisation updates for core and extension messages from translatewiki.net (2011-06-03 20:47:00 UTC)
Max Semenik [Fri, 3 Jun 2011 19:55:37 +0000 (19:55 +0000)]
Use getSearchEngine() instead of constructing class name manually
Brion Vibber [Fri, 3 Jun 2011 18:58:34 +0000 (18:58 +0000)]
r89329 followup: roa-rup -> rup in addwiki.php's initial main page text.
(Is this script still used?)
Brion Vibber [Fri, 3 Jun 2011 18:48:59 +0000 (18:48 +0000)]
Provisional revert of r89406, r89414: reference-related warnings need cleanup before applying code like this
Per CR http://www.mediawiki.org/wiki/Special:Code/MediaWiki/89406#c17545 :
'Here is a third one: Strict Standards: Only variables should be passed by reference in /www/sandwiki/includes/Wiki.php on line 177 '
Offending bit is this:
- SpecialPageFactory::executePath( $this->context->title, $this->context );
+ SpecialPageFactory::executePath( $this->getTitle(), $this->getContext() );
That function demands reference paramters for $title and $context, which is being violated here where we now pass function return values:
public static function executePath( Title &$title, RequestContext &$context, $including = false ) {
The $title does sometimes get replaced within the function body, but $context does not appear to ever be replaced (its *contents* are modified, which does not require passing by reference)
If replacing it is something it should be doing, then we need to be able to replace it upstream presumably, so $this->getTitle() probably isn't appropriate.
The $context probably should have the reference simply removed.
Brion Vibber [Fri, 3 Jun 2011 18:39:10 +0000 (18:39 +0000)]
Revert r89409: provided a default Database->listTables() implementation that didn't actually check the database, thus missing extension tables, any custom tables, any other tables being managed deliberately, and would be missing a matching table prefix if any.
Huji [Fri, 3 Jun 2011 16:20:00 +0000 (16:20 +0000)]
Extension to r89419, I was too excited fixing the bug
Huji [Fri, 3 Jun 2011 16:17:08 +0000 (16:17 +0000)]
Extension to r89419, removing a bugous CSS code
Huji [Fri, 3 Jun 2011 16:15:07 +0000 (16:15 +0000)]
(bug 29263) Add LTR class to the shared CSS to be used for left-to-right text such as SQL queries shown in dberrortext and similiar messages in RTL environements
Happy-melon [Fri, 3 Jun 2011 14:36:06 +0000 (14:36 +0000)]
Follow-up r89406 CR: another use of RequestContext::__get()
Jure Kajzer [Fri, 3 Jun 2011 11:43:54 +0000 (11:43 +0000)]
* suggestion for using tables.sql parsing instead of database query for tables list needed for phpunit
* would be better option IMO since the database is not necesserally dedicated to MW install
Happy-melon [Fri, 3 Jun 2011 11:04:49 +0000 (11:04 +0000)]
More unpicking of r85288. I think this is all of the magic method calls, but they're very hard to grep for (part of the problem with them!), so let's leave the calls in with a wfDeprecated() for a while...
Alexandre Emsenhuber [Fri, 3 Jun 2011 10:55:38 +0000 (10:55 +0000)]
Don't execute the loop if there's no X-Forwarded-For header, also don't use isset() to check only for null
Happy-melon [Fri, 3 Jun 2011 10:54:13 +0000 (10:54 +0000)]
Start unpicking r85288 (magic __get() accessor for RequestContext). Instead, bring back some of r86872 (abstract base class for classes providing access to RequestContext methods), which is a more 'classical' solution.
Alexandre Emsenhuber [Fri, 3 Jun 2011 10:41:53 +0000 (10:41 +0000)]
Deprecated wfGetAgent(), use $wgRequest->getHeader( 'User-Agent' ) instead