wfProfileIn( __METHOD__ );
$sk = $wgUser->getSkin();
-
+
+ $beginSearchForm = Xml::openElement(
+ 'form',
+ array(
+ 'id' => ( $this->searchAdvanced ? 'powersearch' : 'search' ),
+ 'method' => 'get',
+ 'action' => $wgScript
+ )
+ );
+ $mwSearchTopTable =
+ Xml::openElement( 'table', array( 'id' => 'mw-search-top-table', 'border' => 0, 'cellpadding' => 0, 'cellspacing' => 0 ) ) .
+ Xml::openElement( 'tr' ) .
+ Xml::openElement( 'td' ) . "\n" .
+ $this->shortDialog( $term ) .
+ Xml::closeElement( 'td' ) .
+ Xml::closeElement( 'tr' ) .
+ Xml::closeElement( 'table' );
+
+ // moved to check for empty or null search string before running query
+ // to prevent NULL fulltext search error in SQL Server
+ $filePrefix = $wgContLang->getFormattedNsText( NS_FILE ) . ':';
+ if ( trim( $term ) === '' || $filePrefix === trim( $term ) ) {
+ $wgOut->addHTML( $beginSearchForm );
+ $wgOut->addHTML( $mwSearchTopTable );
+ $wgOut->addHTML( $this->searchFocus() );
+ $wgOut->addHTML( $this->formHeader( $term, 0, 0 ) );
+ if ( $this->searchAdvanced ) {
+ $wgOut->addHTML( $this->powerSearchBox( $term ) );
+ }
+ $wgOut->addHTML( Xml::closeElement( 'form' ) );
+ // Empty query -- straight view of search form
+ wfProfileOut( __METHOD__ );
+ return;
+ }
+
$this->searchEngine = SearchEngine::create();
$search =& $this->searchEngine;
$search->setLimitOffset( $this->limit, $this->offset );
}
// start rendering the page
$wgOut->addHtml(
- Xml::openElement(
- 'form',
- array(
- 'id' => ( $this->searchAdvanced ? 'powersearch' : 'search' ),
- 'method' => 'get',
- 'action' => $wgScript
- )
- )
+ $beginSearchForm
);
$wgOut->addHtml(
- Xml::openElement( 'table', array( 'id'=>'mw-search-top-table', 'border'=>0, 'cellpadding'=>0, 'cellspacing'=>0 ) ) .
- Xml::openElement( 'tr' ) .
- Xml::openElement( 'td' ) . "\n" .
- $this->shortDialog( $term ) .
- Xml::closeElement('td') .
- Xml::closeElement('tr') .
- Xml::closeElement('table')
+ $mwSearchTopTable
);
// Sometimes the search engine knows there are too many hits
return;
}
- $filePrefix = $wgContLang->getFormattedNsText(NS_FILE).':';
- if( trim( $term ) === '' || $filePrefix === trim( $term ) ) {
- $wgOut->addHTML( $this->searchFocus() );
- $wgOut->addHTML( $this->formHeader($term, 0, 0));
- if( $this->searchAdvanced ) {
- $wgOut->addHTML( $this->powerSearchBox( $term ) );
- }
- $wgOut->addHTML( '</form>' );
- // Empty query -- straight view of search form
- wfProfileOut( __METHOD__ );
- return;
- }
-
// Get number of results
$titleMatchesNum = $titleMatches ? $titleMatches->numRows() : 0;
$textMatchesNum = $textMatches ? $textMatches->numRows() : 0;
* @param $terms Array: terms to highlight
*/
protected function showHit( $result, $terms ) {
- global $wgContLang, $wgLang, $wgUser;
+ global $wgLang, $wgUser;
wfProfileIn( __METHOD__ );
if( $result->isBrokenTitle() ) {
*/
protected function showInterwikiHit( $result, $lastInterwiki, $terms, $query, $customCaptions) {
wfProfileIn( __METHOD__ );
- global $wgContLang, $wgLang;
if( $result->isBrokenTitle() ) {
wfProfileOut( __METHOD__ );
* @return String: HTML form
*/
protected function powerSearchBox( $term ) {
- global $wgScript, $wgContLang;
-
// Groups namespaces into rows according to subject
$rows = array();
foreach( SearchEngine::searchableNamespaces() as $namespace => $name ) {
}
protected function formHeader( $term, $resultsShown, $totalNum ) {
- global $wgContLang, $wgLang;
+ global $wgLang;
$out = Xml::openElement('div', array( 'class' => 'mw-search-formheader' ) );