From e57a60dad16463a793e0c9d051de72bf2f8ab11b Mon Sep 17 00:00:00 2001 From: Marius Hoch Date: Mon, 20 Oct 2014 02:58:45 +0200 Subject: [PATCH] Only link local titles on Special:Search Anything else is confusing, especially given the message text we have there. Example: https://www.mediawiki.org/wiki/Special:Search?search=en%3Afoo&fulltext=1 Also fix the documentation of Title::isLocal as that was misleading and fooled me (in PS1). Change-Id: Iccb69de4c7243bf144a12deb8b86505e56a111dd --- includes/Title.php | 3 ++- includes/specials/SpecialSearch.php | 17 ++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/includes/Title.php b/includes/Title.php index e8cda8530f..c570633fdd 100644 --- a/includes/Title.php +++ b/includes/Title.php @@ -795,7 +795,8 @@ class Title { /** * Determine whether the object refers to a page within - * this project. + * this project (either this wiki or a wiki with a local + * interwiki, see https://www.mediawiki.org/wiki/Manual:Interwiki_table#iw_local ) * * @return bool True if this is an in-project interwiki link or a wikilink, false otherwise */ diff --git a/includes/specials/SpecialSearch.php b/includes/specials/SpecialSearch.php index c922fbda01..a139740c62 100644 --- a/includes/specials/SpecialSearch.php +++ b/includes/specials/SpecialSearch.php @@ -426,15 +426,18 @@ class SpecialSearch extends SpecialPage { return; } + $messageName = 'searchmenu-new-nocreate'; $linkClass = 'mw-search-createlink'; - if ( $title->isKnown() ) { - $messageName = 'searchmenu-exists'; - $linkClass = 'mw-search-exists'; - } elseif ( $title->quickUserCan( 'create', $this->getUser() ) ) { - $messageName = 'searchmenu-new'; - } else { - $messageName = 'searchmenu-new-nocreate'; + + if ( !$title->isExternal() ) { + if ( $title->isKnown() ) { + $messageName = 'searchmenu-exists'; + $linkClass = 'mw-search-exists'; + } elseif ( $title->quickUserCan( 'create', $this->getUser() ) ) { + $messageName = 'searchmenu-new'; + } } + $params = array( $messageName, wfEscapeWikiText( $title->getPrefixedText() ), -- 2.20.1