Use wfParseUrl() instead of parse_url() in interwiki search code: the latter can throw PHP warnings and is totally broken for protocol-relative URLs. Also remove the last usage in core of key_exists(), a deprecated alias for array_key_exists()

This commit is contained in:
Roan Kattouw 2011-08-19 15:56:59 +00:00
parent d8a2733757
commit 92ff782a99

View file

@ -775,13 +775,13 @@ class SpecialSearch extends SpecialPage {
$out = "";
// display project name
if(is_null($lastInterwiki) || $lastInterwiki != $t->getInterwiki()) {
if( key_exists($t->getInterwiki(),$customCaptions) ) {
if( array_key_exists($t->getInterwiki(),$customCaptions) ) {
// captions from 'search-interwiki-custom'
$caption = $customCaptions[$t->getInterwiki()];
} else {
// default is to show the hostname of the other wiki which might suck
// if there are many wikis on one hostname
$parsed = parse_url($t->getFullURL());
$parsed = wfParseUrl( $t->getFullURL() );
$caption = wfMsg('search-interwiki-default', $parsed['host']);
}
// "more results" link (special page stuff could be localized, but we might not know target lang)