From: umherirrender Date: Sun, 13 Dec 2015 17:39:14 +0000 (+0100) Subject: No prefix suggestion of special and media namespace on special pages X-Git-Tag: 1.31.0-rc.0~8716^2 X-Git-Url: https://git.cyclocoop.org/%242?a=commitdiff_plain;h=345356c74786c9960fded99e6511245c4f6228bf;p=lhc%2Fweb%2Fwiklou.git No prefix suggestion of special and media namespace on special pages As mention in comments of I71f77c3001a12d75b901807c20115cead9c64e93 the added prefix suggestion can get called recursive. Avoid this by disable prefix suggestion for media and special namespace, because a special page cannot be used on that special pages. Follows I71f77c3001a12d75b901807c20115cead9c64e93 Change-Id: I8978e3bd0783f62bc25b32a0fdaa90361abefcf3 --- diff --git a/includes/specials/SpecialAllPages.php b/includes/specials/SpecialAllPages.php index c255fcdaea..9e75522289 100644 --- a/includes/specials/SpecialAllPages.php +++ b/includes/specials/SpecialAllPages.php @@ -365,7 +365,9 @@ class SpecialAllPages extends IncludableSpecialPage { * @return string[] Matching subpages */ public function prefixSearchSubpages( $search, $limit, $offset ) { - if ( $search === '' ) { + $title = Title::newFromText( $search ); + if ( !$title || !$title->canExist() ) { + // No prefix suggestion in special and media namespace return array(); } // Autocomplete subpage the same as a normal search diff --git a/includes/specials/SpecialChangeContentModel.php b/includes/specials/SpecialChangeContentModel.php index 4179f1158f..4812c9d6a0 100644 --- a/includes/specials/SpecialChangeContentModel.php +++ b/includes/specials/SpecialChangeContentModel.php @@ -230,7 +230,9 @@ class SpecialChangeContentModel extends FormSpecialPage { * @return string[] Matching subpages */ public function prefixSearchSubpages( $search, $limit, $offset ) { - if ( $search === '' ) { + $title = Title::newFromText( $search ); + if ( !$title || !$title->canExist() ) { + // No prefix suggestion in special and media namespace return array(); } // Autocomplete subpage the same as a normal search diff --git a/includes/specials/SpecialFileDuplicateSearch.php b/includes/specials/SpecialFileDuplicateSearch.php index d43d85bf1a..bb57ee055a 100644 --- a/includes/specials/SpecialFileDuplicateSearch.php +++ b/includes/specials/SpecialFileDuplicateSearch.php @@ -241,7 +241,9 @@ class FileDuplicateSearchPage extends QueryPage { * @return string[] Matching subpages */ public function prefixSearchSubpages( $search, $limit, $offset ) { - if ( $search === '' ) { + $title = Title::newFromText( $search ); + if ( !$title || $title->getNamespace() !== NS_FILE ) { + // No prefix suggestion outside of file namespace return array(); } // Autocomplete subpage the same as a normal search, but just for files diff --git a/includes/specials/SpecialMovepage.php b/includes/specials/SpecialMovepage.php index c2675627b9..a1bd2fae1e 100644 --- a/includes/specials/SpecialMovepage.php +++ b/includes/specials/SpecialMovepage.php @@ -802,7 +802,9 @@ class MovePageForm extends UnlistedSpecialPage { * @return string[] Matching subpages */ public function prefixSearchSubpages( $search, $limit, $offset ) { - if ( $search === '' ) { + $title = Title::newFromText( $search ); + if ( !$title || !$title->canExist() ) { + // No prefix suggestion in special and media namespace return array(); } // Autocomplete subpage the same as a normal search diff --git a/includes/specials/SpecialPageLanguage.php b/includes/specials/SpecialPageLanguage.php index 47928003b0..02fca3aca5 100644 --- a/includes/specials/SpecialPageLanguage.php +++ b/includes/specials/SpecialPageLanguage.php @@ -207,7 +207,9 @@ class SpecialPageLanguage extends FormSpecialPage { * @return string[] Matching subpages */ public function prefixSearchSubpages( $search, $limit, $offset ) { - if ( $search === '' ) { + $title = Title::newFromText( $search ); + if ( !$title || !$title->canExist() ) { + // No prefix suggestion in special and media namespace return array(); } // Autocomplete subpage the same as a normal search diff --git a/includes/specials/SpecialPrefixindex.php b/includes/specials/SpecialPrefixindex.php index 6de394b46b..a6c0423b27 100644 --- a/includes/specials/SpecialPrefixindex.php +++ b/includes/specials/SpecialPrefixindex.php @@ -303,7 +303,9 @@ class SpecialPrefixindex extends SpecialAllPages { * @return string[] Matching subpages */ public function prefixSearchSubpages( $search, $limit, $offset ) { - if ( $search === '' ) { + $title = Title::newFromText( $search ); + if ( !$title || !$title->canExist() ) { + // No prefix suggestion in special and media namespace return array(); } // Autocomplete subpage the same as a normal search diff --git a/includes/specials/SpecialRecentchangeslinked.php b/includes/specials/SpecialRecentchangeslinked.php index 7da00a36d3..8db8f24623 100644 --- a/includes/specials/SpecialRecentchangeslinked.php +++ b/includes/specials/SpecialRecentchangeslinked.php @@ -273,7 +273,9 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges { * @return string[] Matching subpages */ public function prefixSearchSubpages( $search, $limit, $offset ) { - if ( $search === '' ) { + $title = Title::newFromText( $search ); + if ( !$title || !$title->canExist() ) { + // No prefix suggestion in special and media namespace return array(); } // Autocomplete subpage the same as a normal search diff --git a/includes/specials/SpecialUndelete.php b/includes/specials/SpecialUndelete.php index 0e0b9df335..aada064feb 100644 --- a/includes/specials/SpecialUndelete.php +++ b/includes/specials/SpecialUndelete.php @@ -1701,7 +1701,9 @@ class SpecialUndelete extends SpecialPage { * @return string[] Matching subpages */ public function prefixSearchSubpages( $search, $limit, $offset ) { - if ( $search === '' ) { + $title = Title::newFromText( $search ); + if ( !$title || !$title->canExist() ) { + // No prefix suggestion in special and media namespace return array(); } // Autocomplete subpage the same as a normal search diff --git a/includes/specials/SpecialWhatlinkshere.php b/includes/specials/SpecialWhatlinkshere.php index 2d639a666c..47fd972e4c 100644 --- a/includes/specials/SpecialWhatlinkshere.php +++ b/includes/specials/SpecialWhatlinkshere.php @@ -548,7 +548,9 @@ class SpecialWhatLinksHere extends IncludableSpecialPage { * @return string[] Matching subpages */ public function prefixSearchSubpages( $search, $limit, $offset ) { - if ( $search === '' ) { + $title = Title::newFromText( $search ); + if ( !$title || !$title->canExist() ) { + // No prefix suggestion in special and media namespace return array(); } // Autocomplete subpage the same as a normal search