Autofocus Special:Search box
authorAryeh Gregor <simetrical@users.mediawiki.org>
Fri, 21 Aug 2009 21:57:26 +0000 (21:57 +0000)
committerAryeh Gregor <simetrical@users.mediawiki.org>
Fri, 21 Aug 2009 21:57:26 +0000 (21:57 +0000)
Also generally clean up the code around there: add some line breaks, use
Html instead of Xml (using new Html::hidden()).

includes/Html.php
includes/specials/SpecialSearch.php

index 075cb3b..7625cd9 100644 (file)
@@ -354,4 +354,18 @@ class Html {
 
                return self::element( 'input', $attribs );
        }
+
+       /**
+        * Convenience function to produce an input element with type=hidden, like
+        * Xml::hidden.
+        *
+        * @param $name    string name attribute
+        * @param $value   string value attribute
+        * @param $attribs array  Associative array of miscellaneous extra
+        *   attributes, passed to Html::element()
+        * @return string Raw HTML
+        */
+       public static function hidden( $name, $value, $attribs = array() ) {
+               return self::input( $name, $value, 'hidden', $attribs );
+       }
 }
index 4d7ded7..abe645b 100644 (file)
@@ -918,13 +918,17 @@ class SpecialSearch {
        protected function shortDialog( $term ) {
                $searchTitle = SpecialPage::getTitleFor( 'Search' );
                $searchable = SearchEngine::searchableNamespaces();
-               $out = Xml::hidden( 'title', $searchTitle->getPrefixedText() ) . "\n";
+               $out = Html::hidden( 'title', $searchTitle->getPrefixedText() ) . "\n";
                // Keep redirect setting
-               $out .= Xml::hidden( "redirs", (int)$this->searchRedirects );
+               $out .= Html::hidden( "redirs", (int)$this->searchRedirects ) . "\n";
                // Term box
-               $out .= Xml::input( 'search', 50, $term, array( 'type' => 'text', 'id' => 'searchText' ) ) . "\n";
-               $out .= Xml::hidden( 'fulltext', 'Search' );
-               $out .= Xml::submitButton( wfMsg( 'searchbutton' ) );
+               $out .= Html::input( 'search', $term, 'search', array(
+                       'id' => 'searchText',
+                       'size' => '50',
+                       'autofocus'
+               ) ) . "\n";
+               $out .= Html::hidden( 'fulltext', 'Search' ) . "\n";
+               $out .= Xml::submitButton( wfMsg( 'searchbutton' ) ) . "\n";
                return $out . $this->didYouMeanHtml;            
        }