From e1e24d2920aeee01e51b500e7d536d27ec0c3c4a Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Sat, 24 Apr 2004 06:25:19 +0000 Subject: [PATCH] Add a hidden stub Special:Search to hand search requests to; this fixes the bug that searches get displayed with properties of the main page (particularly bad in MonoBook). Also cleared up notices in Power Search from improper use of $_REQUEST. --- includes/SearchEngine.php | 9 +++++---- includes/Skin.php | 18 +++++++++++++----- includes/SkinCologneBlue.php | 4 ++-- includes/SkinPHPTal.php | 2 +- languages/Language.php | 3 ++- 5 files changed, 23 insertions(+), 13 deletions(-) diff --git a/includes/SearchEngine.php b/includes/SearchEngine.php index 17302253a2..9115de3f6e 100644 --- a/includes/SearchEngine.php +++ b/includes/SearchEngine.php @@ -59,7 +59,8 @@ class SearchEngine { function powersearch() { global $wgUser, $wgOut, $wgLang, $wgTitle, $wgRequest; - + $sk =& $wgUser->getSkin(); + $search = $wgRequest->getText( 'search' ); $searchx = $wgRequest->getVal( 'searchx' ); $listredirs = $wgRequest->getVal( 'redirs' ); @@ -86,7 +87,7 @@ class SearchEngine { if ( !isset( $searchx ) ) { $checkboxValue = $this->initNamespaceCheckbox( $i ); } else { - $checkboxValue = $_REQUEST[$formVar]; + $checkboxValue = $wgRequest->getVal( $formVar ); } $checked = ""; @@ -130,9 +131,9 @@ class SearchEngine { wfMsg("powersearch") . "\" />\n"; $ret = str_replace( "$9", $tempText, $ret ); - global $wgScript; + $action = $sk->escapeSearchLink(); $ret = "

\n
\n{$ret}\n
\n"; + "action=\"$action\">\n{$ret}\n\n"; if ( isset ( $searchx ) ) { if ( ! $listredirs ) { diff --git a/includes/Skin.php b/includes/Skin.php index 48ba1c990b..3faa1a2dde 100644 --- a/includes/Skin.php +++ b/includes/Skin.php @@ -618,15 +618,23 @@ class Skin { return $s; } - + + function getSearchLink() { + $searchPage =& Title::makeTitle( NS_SPECIAL, "Search" ); + return $searchPage->getLocalURL(); + } + + function escapeSearchLink() { + return htmlspecialchars( $this->getSearchLink() ); + } + function searchForm() { global $wgRequest; - - $search = $wgRequest->getText( 'search' );; - + $search = $wgRequest->getText( 'search' ); + $s = "
\n" + . $this->escapeSearchLink() . "\">\n" . "\n" . " " diff --git a/includes/SkinCologneBlue.php b/includes/SkinCologneBlue.php index 3aa3be2703..51915d4a5c 100644 --- a/includes/SkinCologneBlue.php +++ b/includes/SkinCologneBlue.php @@ -246,8 +246,8 @@ class SkinCologneBlue extends Skin { global $wgRequest; $search = $wgRequest->getText( 'search' ); - $s = ""; + $action = $this->escapeSearchLink(); + $s = ""; if ( "" != $label ) { $s .= "{$label}: "; } $s .= "set( "helppage", wfMsg('helppage')); $tpl->set( "sysop", $wgUser->isSysop() ); */ - $tpl->setRef( "searchaction", &$wgScript ); + $tpl->set( "searchaction", $this->escapeSearchLink() ); $tpl->setRef( "stylepath", &$wgStyleSheetPath ); $tpl->setRef( "logopath", &$wgLogo ); $tpl->setRef( "lang", &$wgLanguageCode ); diff --git a/languages/Language.php b/languages/Language.php index 796c383054..2c71ad20dd 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -419,7 +419,8 @@ $wgLanguageNamesEn =& $wgLanguageNames; "Categories" => "Page categories", "Export" => "XML page export", "Version" => "Show MediaWiki version", - "Allmessages" => "All system messages" + "Allmessages" => "All system messages", + "Search" => "", ); /* private */ $wgSysopSpecialPagesEn = array( -- 2.20.1