* Introduce new user preference: ajaxsearch
authorVictor Vasiliev <vasilievvv@users.mediawiki.org>
Sun, 16 Dec 2007 15:46:27 +0000 (15:46 +0000)
committerVictor Vasiliev <vasilievvv@users.mediawiki.org>
Sun, 16 Dec 2007 15:46:27 +0000 (15:46 +0000)
* Drop strange status bar message

includes/OutputPage.php
includes/SpecialPreferences.php
languages/messages/MessagesEn.php
languages/messages/MessagesRu.php
maintenance/language/messages.inc
skins/common/ajaxsearch.js

index f1738bb..de6bb5b 100644 (file)
@@ -599,7 +599,7 @@ class OutputPage {
 
                        wfRunHooks( 'AjaxAddScript', array( &$this ) );
 
-                       if( $wgAjaxSearch ) {
+                       if( $wgAjaxSearch && $wgUser->getBoolOption( 'ajaxsearch' ) ) {
                                $this->addScript( "<script type=\"{$wgJsMimeType}\" src=\"{$wgStylePath}/common/ajaxsearch.js?$wgStyleVersion\"></script>\n" );
                                $this->addScript( "<script type=\"{$wgJsMimeType}\">hookEvent(\"load\", sajax_onload);</script>\n" );
                        }
index 0bc362a..9fecba1 100644 (file)
@@ -24,7 +24,7 @@ class PreferencesForm {
        var $mRows, $mCols, $mSkin, $mMath, $mDate, $mUserEmail, $mEmailFlag, $mNick;
        var $mUserLanguage, $mUserVariant;
        var $mSearch, $mRecent, $mRecentDays, $mHourDiff, $mSearchLines, $mSearchChars, $mAction;
-       var $mReset, $mPosted, $mToggles, $mSearchNs, $mRealName, $mImageSize;
+       var $mReset, $mPosted, $mToggles, $mUseAjaxSearch, $mSearchNs, $mRealName, $mImageSize;
        var $mUnderline, $mWatchlistEdits;
 
        /**
@@ -65,6 +65,7 @@ class PreferencesForm {
                $this->mSuccess = $request->getCheck( 'success' );
                $this->mWatchlistDays = $request->getVal( 'wpWatchlistDays' );
                $this->mWatchlistEdits = $request->getVal( 'wpWatchlistEdits' );
+               $this->mUseAjaxSearch = $request->getCheck( 'wpUseAjaxSearch' );
 
                $this->mSaveprefs = $request->getCheck( 'wpSaveprefs' ) &&
                        $this->mPosted &&
@@ -285,6 +286,7 @@ class PreferencesForm {
                $wgUser->setOption( 'thumbsize', $this->mThumbSize );
                $wgUser->setOption( 'underline', $this->validateInt($this->mUnderline, 0, 2) );
                $wgUser->setOption( 'watchlistdays', $this->validateFloat( $this->mWatchlistDays, 0, 7 ) );
+               $wgUser->setOption( 'ajaxsearch', $this->mUseAjaxSearch );
 
                # Set search namespace options
                foreach( $this->mSearchNs as $i => $value ) {
@@ -395,6 +397,7 @@ class PreferencesForm {
                $this->mWatchlistEdits = $wgUser->getOption( 'wllimit' );
                $this->mUnderline = $wgUser->getOption( 'underline' );
                $this->mWatchlistDays = $wgUser->getOption( 'watchlistdays' );
+               $this->mUseAjaxSearch = $wgUser->getBoolOption( 'ajaxsearch' );
 
                $togs = User::getToggles();
                foreach ( $togs as $tname ) {
@@ -512,7 +515,7 @@ class PreferencesForm {
                global $wgRCShowWatchingUsers, $wgEnotifRevealEditorAddress;
                global $wgEnableEmail, $wgEnableUserEmail, $wgEmailAuthentication;
                global $wgContLanguageCode, $wgDefaultSkin, $wgSkipSkins, $wgAuth;
-               global $wgEmailConfirmToEdit;
+               global $wgEmailConfirmToEdit, $wgAjaxSearch;
 
                $wgOut->setPageTitle( wfMsg( 'preferences' ) );
                $wgOut->setArticleRelated( false );
@@ -970,7 +973,13 @@ class PreferencesForm {
                $wgOut->addHtml( '</fieldset>' );
 
                # Search
+               $ajaxsearch = $wgAjaxSearch ?
+                       $this->addRow(
+                               wfLabel( wfMsg( 'useajaxsearch' ), 'wpUseAjaxSearch' ),
+                               wfCheck( 'wpUseAjaxSearch', $this->mUseAjaxSearch, array( 'id' => 'wpUseAjaxSearch' ) )
+                       ) : '';
                $wgOut->addHTML( '<fieldset><legend>' . wfMsg( 'searchresultshead' ) . '</legend><table>' .
+                       $ajaxsearch .
                        $this->addRow(
                                wfLabel( wfMsg( 'resultsperpage' ), 'wpSearch' ),
                                wfInput( 'wpSearch', 4, $this->mSearch, array( 'id' => 'wpSearch' ) )
index 54dfe18..635fcde 100644 (file)
@@ -2965,6 +2965,7 @@ $1',
 'searchnamed'      => "Search for pages named ''$1''.",
 'articletitles'    => "Pages starting with ''$1''",
 'hideresults'      => 'Hide results',
+'useajaxsearch'    => 'Use AJAX search',
 
 # Separators for various lists
 'catseparator'          => '|', # don't translate or duplicate this message to other languages
index ca5cfc2..5edfb18 100644 (file)
@@ -2358,6 +2358,7 @@ $1',
 'searchnamed'      => 'Поиск статей с названием $1.',
 'articletitles'    => 'Статьи, начинающиеся с «$1»',
 'hideresults'      => 'Скрыть результаты',
+'useajaxsearch'    => 'Использовать AJAX-поиск',
 
 # Multipage image navigation
 'imgmultipageprev'   => '← предыдущая страница',
index d2d6800..8948186 100644 (file)
@@ -2198,6 +2198,7 @@ $wgMessageStructure = array(
                'searchnamed',
                'articletitles',
                'hideresults',
+               'useajaxsearch',
        ),
        'separators' => array(
                'catseparator',
index 1e97223..b9fb56f 100644 (file)
@@ -23,7 +23,6 @@ function Searching_Go()
 function Search_Typing() {
        started=true;
        typing=true;
-       window.status = "Waiting until you're done typing...";
        setTimeout("Search_doneTyping()", 500);
 
        // I believe these are needed by IE for when the users press return?