From 5342d822a85c2049b6f72db2d62b9f5ec30f5bbc Mon Sep 17 00:00:00 2001 From: umherirrender Date: Sun, 8 Jul 2012 17:09:04 +0200 Subject: [PATCH] Notice: Undefined index: page_is_redirect in \includes\api\ApiPageSet.php on line 111 This came when using action=query&redirects, because ApiQueryInfo was requesting page_is_redirect unconditionally, but that field is sorted out, when using resolve redirects Change-Id: Ifde9c5d8cbbb8775151829ae8c07e3ed5d76868a --- includes/api/ApiQueryInfo.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/includes/api/ApiQueryInfo.php b/includes/api/ApiQueryInfo.php index 87fd58b5a7..99175b35ee 100644 --- a/includes/api/ApiQueryInfo.php +++ b/includes/api/ApiQueryInfo.php @@ -57,7 +57,10 @@ class ApiQueryInfo extends ApiQueryBase { global $wgDisableCounters; $pageSet->requestField( 'page_restrictions' ); - $pageSet->requestField( 'page_is_redirect' ); + // when resolving redirects, no page will have this field + if( !$pageSet->isResolvingRedirects() ) { + $pageSet->requestField( 'page_is_redirect' ); + } $pageSet->requestField( 'page_is_new' ); if ( !$wgDisableCounters ) { $pageSet->requestField( 'page_counter' ); @@ -280,7 +283,10 @@ class ApiQueryInfo extends ApiQueryBase { } $this->pageRestrictions = $pageSet->getCustomField( 'page_restrictions' ); - $this->pageIsRedir = $pageSet->getCustomField( 'page_is_redirect' ); + // when resolving redirects, no page will have this field + $this->pageIsRedir = !$pageSet->isResolvingRedirects() + ? $pageSet->getCustomField( 'page_is_redirect' ) + : array(); $this->pageIsNew = $pageSet->getCustomField( 'page_is_new' ); global $wgDisableCounters; @@ -346,7 +352,7 @@ class ApiQueryInfo extends ApiQueryBase { : intval( $this->pageCounter[$pageid] ); $pageInfo['length'] = intval( $this->pageLength[$pageid] ); - if ( $this->pageIsRedir[$pageid] ) { + if ( isset( $this->pageIsRedir[$pageid] ) && $this->pageIsRedir[$pageid] ) { $pageInfo['redirect'] = ''; } if ( $this->pageIsNew[$pageid] ) { -- 2.20.1