-if ( "" != $_REQUEST['search'] ) {
- if( isset($_REQUEST['fulltext']) ) {
- wfSearch( $_REQUEST['search'] );
+wfProfileIn( "main-action" );
+$search = $wgRequest->getText( 'search' );
+if( !is_null( $search ) && $search !== '' ) {
+ require_once( 'includes/SpecialSearch.php' );
+ $wgTitle = Title::makeTitle( NS_SPECIAL, "Search" );
+ wfSpecialSearch();
+} else if( !$wgTitle or $wgTitle->getDBkey() == "" ) {
+ $wgTitle = Title::newFromText( wfMsgForContent( "badtitle" ) );
+ $wgOut->errorpage( "badtitle", "badtitletext" );
+} else if ( $wgTitle->getInterwiki() != "" ) {
+ $url = $wgTitle->getFullURL();
+ # Check for a redirect loop
+ if ( !preg_match( "/^" . preg_quote( $wgServer, "/" ) . "/", $url ) && $wgTitle->isLocal() ) {
+ $wgOut->redirect( $url );