From 39088a632c0730a37e5b0fd0e86df297021748be Mon Sep 17 00:00:00 2001 From: Amir Sarabadani Date: Mon, 12 Jun 2017 17:32:02 +0430 Subject: [PATCH] Use "target" instead "title" as the param name in SpecialPageData Using "title" confuses mediawiki and causes redirect loops Bug: T163923 Change-Id: I29e0e6a61703cc04397205a3f7f38df5906622e1 --- includes/linkeddata/PageDataRequestHandler.php | 4 ++-- .../linkeddata/PageDataRequestHandlerTest.php | 12 ++++++------ .../includes/specials/SpecialPageDataTest.php | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/includes/linkeddata/PageDataRequestHandler.php b/includes/linkeddata/PageDataRequestHandler.php index 3da20bf1a3..8fc32b9181 100644 --- a/includes/linkeddata/PageDataRequestHandler.php +++ b/includes/linkeddata/PageDataRequestHandler.php @@ -28,7 +28,7 @@ class PageDataRequestHandler { */ public function canHandleRequest( $title, WebRequest $request ) { if ( $title === '' || $title === null ) { - if ( $request->getText( 'title', '' ) === '' ) { + if ( $request->getText( 'target', '' ) === '' ) { return false; } } @@ -57,7 +57,7 @@ class PageDataRequestHandler { $revision = 0; - $title = $request->getText( 'title', $title ); + $title = $request->getText( 'target', $title ); $revision = $request->getInt( 'oldid', $revision ); $revision = $request->getInt( 'revision', $revision ); diff --git a/tests/phpunit/includes/linkeddata/PageDataRequestHandlerTest.php b/tests/phpunit/includes/linkeddata/PageDataRequestHandlerTest.php index eb67fae955..56790e2081 100644 --- a/tests/phpunit/includes/linkeddata/PageDataRequestHandlerTest.php +++ b/tests/phpunit/includes/linkeddata/PageDataRequestHandlerTest.php @@ -82,16 +82,16 @@ class PageDataRequestHandlerTest extends \MediaWikiTestCase { $cases[] = [ '', [], [], '!!', 400 ]; - $cases[] = [ '', [ 'title' => 'Helsinki' ], [], '!!', 303, [ 'Location' => '!.+!' ] ]; + $cases[] = [ '', [ 'target' => 'Helsinki' ], [], '!!', 303, [ 'Location' => '!.+!' ] ]; $subpageCases = []; foreach ( $cases as $c ) { $case = $c; $case[0] = ''; - if ( isset( $case[1]['title'] ) ) { - $case[0] .= $case[1]['title']; - unset( $case[1]['title'] ); + if ( isset( $case[1]['target'] ) ) { + $case[0] .= $case[1]['target']; + unset( $case[1]['target'] ); } $subpageCases[] = $case; @@ -101,7 +101,7 @@ class PageDataRequestHandlerTest extends \MediaWikiTestCase { $cases[] = [ '', - [ 'title' => 'Helsinki' ], + [ 'target' => 'Helsinki' ], [ 'Accept' => 'text/HTML' ], '!!', 303, @@ -111,7 +111,7 @@ class PageDataRequestHandlerTest extends \MediaWikiTestCase { $cases[] = [ '', [ - 'title' => 'Helsinki', + 'target' => 'Helsinki', 'revision' => '4242', ], [ 'Accept' => 'text/HTML' ], diff --git a/tests/phpunit/includes/specials/SpecialPageDataTest.php b/tests/phpunit/includes/specials/SpecialPageDataTest.php index 7569d63192..25668757f1 100644 --- a/tests/phpunit/includes/specials/SpecialPageDataTest.php +++ b/tests/phpunit/includes/specials/SpecialPageDataTest.php @@ -30,7 +30,7 @@ class SpecialPageDataTest extends SpecialPageTestBase { $cases['Only title specified'] = [ '', - [ 'title' => 'Helsinki' ], + [ 'target' => 'Helsinki' ], [], '!!', 303, @@ -54,7 +54,7 @@ class SpecialPageDataTest extends SpecialPageTestBase { $cases['Accept only HTML'] = [ '', - [ 'title' => 'Helsinki' ], + [ 'target' => 'Helsinki' ], [ 'Accept' => 'text/HTML' ], '!!', 303, @@ -64,7 +64,7 @@ class SpecialPageDataTest extends SpecialPageTestBase { $cases['Accept only HTML with revid'] = [ '', [ - 'title' => 'Helsinki', + 'target' => 'Helsinki', 'revision' => '4242', ], [ 'Accept' => 'text/HTML' ], -- 2.20.1