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
Alexandre Emsenhuber [Fri, 3 Jun 2011 10:20:45 +0000 (10:20 +0000)]
Removed usage of error suppression operator
Roan Kattouw [Fri, 3 Jun 2011 10:08:06 +0000 (10:08 +0000)]
(bug 29105) Splitlines completely messes up selection of inserted text. This is not a problem in practice (WikiEditor doesn't have multiline insertions with splitlines enabled since r89402), but just in case it ever becomes a problem I'm disabling selection of inserted text altogether when splitlines is enabled; instead, the cursor will be moved to the end of the inserted text.
Roan Kattouw [Fri, 3 Jun 2011 09:56:01 +0000 (09:56 +0000)]
(bug 29104) Fix r86622: make splitlines default to false, makes much more sense
Roan Kattouw [Fri, 3 Jun 2011 09:51:48 +0000 (09:51 +0000)]
(bug 29121) jquery.suggestions uses jquery.autoEllipsis but didn't have it in its dependency list, causing JS errors in non-Vector skins
Chad Horohoe [Fri, 3 Jun 2011 06:22:18 +0000 (06:22 +0000)]
Fix some of the weird freaky interaction between ApiBlockTest and BlockTest.
* By using the same summary for both, we allow both sets of tests to pass with --filter Block
* Just testing includes/BlockTest.php still passes
Chad Horohoe [Fri, 3 Jun 2011 05:44:28 +0000 (05:44 +0000)]
rvv: r89398. Tim wants me to wait
Chad Horohoe [Fri, 3 Jun 2011 05:39:32 +0000 (05:39 +0000)]
Kill off action=raw from index.php
* One less entry point to worry about
* Completely obsolete by load.php and api.php
* Left $wgDebugRawPage in place, also affects load.php requests (docs already reflect)
* Affects dumpHTML (probably broken anyway, has anyone RL-ified this?), and two abandoned/obsolete extensions
Tim Starling [Fri, 3 Jun 2011 05:32:51 +0000 (05:32 +0000)]
(bug 28840) If the query string hits bug 28235, redirect to a safer URL instead of showing an unhelpful error message. IE 6 will only use the extension of the final destination for its cache filename.
Chad Horohoe [Fri, 3 Jun 2011 04:25:21 +0000 (04:25 +0000)]
Remove useless bootstrap inclusions
Chad Horohoe [Fri, 3 Jun 2011 04:22:14 +0000 (04:22 +0000)]
Fix for r85229: getOutput() instead of getOut(), leftover $wgOut usage.
Mark A. Hershberger [Fri, 3 Jun 2011 04:10:33 +0000 (04:10 +0000)]
Apply a patch adapted from the one on Bug #16794
This patch should allow you to use the $wgSharedDB [with Postgres]
normally, as you would with mysql. Basically this patch creates a
second connection with the shared database and when a query is
made, we check on which connection we should send it.
Patch from Luca Fulchir
Chad Horohoe [Fri, 3 Jun 2011 04:05:04 +0000 (04:05 +0000)]
Missing ,
Chad Horohoe [Fri, 3 Jun 2011 03:59:27 +0000 (03:59 +0000)]
Add Maintenance and FakeMaintenance to the autoloader for paranoia
Mark A. Hershberger [Fri, 3 Jun 2011 03:41:11 +0000 (03:41 +0000)]
forward port r88929
Chad Horohoe [Fri, 3 Jun 2011 03:38:52 +0000 (03:38 +0000)]
Kill $wgWikiFarm. Only use in a wmf code path, and I can't find any evidence of this being use in WMF anywhere.
Chad Horohoe [Fri, 3 Jun 2011 03:36:36 +0000 (03:36 +0000)]
Fix for r89166: need self
Krinkle [Fri, 3 Jun 2011 02:26:31 +0000 (02:26 +0000)]
Move fixes for config-error-box to mw-infobox in order to apply for warnings as well. And removed redundant clear: left. Poke r88465, 86060, r88109
Mark A. Hershberger [Fri, 3 Jun 2011 01:06:07 +0000 (01:06 +0000)]
Fix for bug #28172 (“wfGetDB called when it shouldn't be”).
forward ported from r88936 and r89374.
Krinkle [Fri, 3 Jun 2011 01:04:24 +0000 (01:04 +0000)]
typo from r78201
Jure Kajzer [Thu, 2 Jun 2011 22:23:05 +0000 (22:23 +0000)]
* fixed table duplication for phpunit testing
Chad Horohoe [Thu, 2 Jun 2011 20:15:00 +0000 (20:15 +0000)]
Revert r88648 per CR
Mark A. Hershberger [Thu, 2 Jun 2011 19:32:45 +0000 (19:32 +0000)]
w/s changes.
Sam Reed [Thu, 2 Jun 2011 18:39:55 +0000 (18:39 +0000)]
Followup r89348
Fix code style, and remove hint that variable may be multi
Max Semenik [Thu, 2 Jun 2011 17:58:34 +0000 (17:58 +0000)]
Don't duplicate tables starting with unittest_ which can be left if a previous run ended with a fatal on SQLite
Mark A. Hershberger [Thu, 2 Jun 2011 16:38:55 +0000 (16:38 +0000)]
follow up r88502 with a fix to resource loader to restore tochidden
removal addition.