From 04e6adbbd99e4d10bc365d7c60fee862450a9946 Mon Sep 17 00:00:00 2001 From: X! Date: Sun, 8 Aug 2010 15:03:30 +0000 Subject: [PATCH] Followup to r70658: Code styling, use ApiPageSet to fix redirects. --- includes/api/ApiEditPage.php | 38 ++++++++++-------------------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/includes/api/ApiEditPage.php b/includes/api/ApiEditPage.php index 1c165b6450..6c4142aca1 100644 --- a/includes/api/ApiEditPage.php +++ b/includes/api/ApiEditPage.php @@ -58,35 +58,17 @@ class ApiEditPage extends ApiBase { $this->dieUsageMsg( array( 'invalidtitle', $params['title'] ) ); } - if( $params['redirect'] ) { - if( $titleObj->isRedirect() ) { - $oldTitle = $titleObj; - - $titles = Title::newFromRedirectArray( Revision::newFromTitle( $oldTitle )->getText( Revision::FOR_THIS_USER ) ); - //array_shift( $titles ); - - $this->getResult()->addValue( null, 'foo', $titles ); - - - $redirValues = array(); - foreach ( $titles as $id => $newTitle ) { - - if( !isset( $titles[ $id - 1 ] ) ) { - $titles[ $id - 1 ] = $oldTitle; - } - - $redirValues[] = array( - 'from' => $titles[ $id - 1 ]->getPrefixedText(), - 'to' => $newTitle->getPrefixedText() - ); - - $titleObj = $newTitle; - } - - $this->getResult()->setIndexedTagName( $redirValues, 'r' ); - $this->getResult()->addValue( null, 'redirects', $redirValues ); - + if( $params['redirect'] && $titleObj->isRedirect() ) { + + $pageSet = new ApiPageSet( $this->getQuery(), true ); // Or true, true to also do variant conversion of titles + $pageSet->populateFromTitles( array( $titleObj ) ); + foreach ( $pageSet->getRedirectTitles() as $from => $to ) { + $redirsValues[] = array( 'from' => $from, 'to' => $to ); } + + + $this->getResult()->setIndexedTagName( $redirValues, 'r' ); + $this->getResult()->addValue( null, 'redirects', $redirValues ); } // Some functions depend on $wgTitle == $ep->mTitle -- 2.20.1