Follow-up r53286: Fix some issues:
authorRaimond Spekking <raymond@users.mediawiki.org>
Sat, 18 Jul 2009 13:50:14 +0000 (13:50 +0000)
committerRaimond Spekking <raymond@users.mediawiki.org>
Sat, 18 Jul 2009 13:50:14 +0000 (13:50 +0000)
* Fix invalid HTML
* Show language code in list too (for consistency with Special:Preferences)
* Change CSS class/ID names to stick with our code standards (mw-...)
* Use more proper XML functions
* Add some messages for the input form instead of reusing messages from other forms to make i18n easier

includes/specials/SpecialAllmessages.php
languages/messages/MessagesEn.php
maintenance/language/messages.inc

index fbf9e83..9055634 100644 (file)
@@ -49,51 +49,70 @@ class SpecialAllmessages extends SpecialPage {
        function buildForm() {
                global $wgScript;
 
-               $action = htmlspecialchars( $wgScript );
                $languages = Language::getLanguageNames( false );
                ksort( $languages );
 
-               $out  = "<form method=\"get\" action=\"$action\"><fieldset>\n" .
+               $out  = Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'id' => 'mw-allmessages-form' ) ) .
+                       Xml::fieldset( wfMsg( 'allmessages-filter-legend' ) ) .
                        Xml::hidden( 'title', $this->getTitle() ) .
-                                       Xml::element( 'legend', null, wfMsg( 'allmessages' ) ) . "<table><tr>\n" .
-                               "<td class=\"mw-label\">" .
-                                       Xml::label( wfMsg('allmessages-prefix'), 'am-form-prefix' ) .
-                               "</td>\n<td class=\"mw-input\">" .
-                                       Xml::input( 'prefix', 20, str_replace('_',' ',$this->prefix), array( 'id' => 'am-form-prefix' ) ) .
-                               "</select>" .
-                               "</td>\n</tr><tr>\n<td class='mw-label'>" .
-                                       Xml::label( wfMsg('allmessages-filter'), 'am-form-filter' ) .
-                               "</td>\n<td class='mw-input'>" .
-                                       Xml::radioLabel( wfMsg('allmessages-filter-unmodified'),
+                       Xml::openElement( 'table', array( 'class' => 'mw-allmessages-table' ) ) . "\n" .
+                       '<tr>
+                               <td class="mw-label">' .
+                                       Xml::label( wfMsg( 'allmessages-prefix' ), 'mw-allmessages-form-prefix' ) .
+                               "</td>\n
+                               <td class=\"mw-input\">" .
+                                       Xml::input( 'prefix', 20, str_replace( '_', ' ', $this->prefix ), array( 'id' => 'mw-allmessages-form-prefix' ) ) .
+                               "</td>\n
+                       </tr>
+                       <tr>\n
+                               <td class='mw-label'>" .
+                                       Xml::label( wfMsg( 'allmessages-filter' ), 'mw-allmessages-form-filter' ) .
+                               "</td>\n
+                               <td class='mw-input'>" .
+                                       Xml::radioLabel( wfMsg( 'allmessages-filter-unmodified' ),
                                                'filter',
                                                'unmodified',
-                                               'am-form-filter-unmodified',
+                                               'mw-allmessages-form-filter-unmodified',
                                                ( $this->filter == 'unmodified' ? true : false )
                                        ) .
-                                       Xml::radioLabel( wfMsg('allmessages-filter-all'),
+                                       Xml::radioLabel( wfMsg( 'allmessages-filter-all' ),
                                                'filter',
                                                'all',
-                                               'am-form-filter-all',
+                                               'mw-allmessages-form-filter-all',
                                                ( $this->filter == 'all' ? true : false )
                                        ) .
-                                       Xml::radioLabel( wfMsg('allmessages-filter-modified'),
+                                       Xml::radioLabel( wfMsg( 'allmessages-filter-modified' ),
                                                'filter',
                                                'modified',
-                                               'am-form-filter-modified',
+                                               'mw-allmessages-form-filter-modified',
                                        ( $this->filter == 'modified' ? true : false )
                                ) .
-                               "</td>\n</tr><tr>\n<td class=\"mw-label\">" .
-                                       Xml::label( wfMsg('yourlanguage'), 'am-form-lang' ) .
-                               "</td>\n<td class=\"mw-input\">" .
-                                       Xml::openElement( 'select', array( 'id' => 'am-form-lang', 'name' => 'lang' ) );
+                               "</td>\n
+                       </tr>
+                       <tr>\n
+                               <td class=\"mw-label\">" .
+                                       Xml::label( wfMsg( 'allmessages-language' ), 'mw-allmessages-form-lang' ) .
+                               "</td>\n
+                               <td class=\"mw-input\">" .
+                                       Xml::openElement( 'select', array( 'id' => 'mw-allmessages-form-lang', 'name' => 'lang' ) );
+
                foreach( $languages as $lang => $name ) {
-                       $selected = $lang == $this->langCode ? 'selected="selected"' : '';
-                       $out .= "<option value=\"$lang\" $selected>$name</option>\n";
+                       $selected = $lang == $this->langCode ? true : false;
+                       $out .= Xml::option( $lang . ' - ' . $name, $lang, $selected ) . "\n";
                }
-               $out .= "</td>\n</tr><tr>\n<td></td><td>" . Xml::submitButton( wfMsg('allpagessubmit') ) .
-                               "</table>" .
-                                       $this->table->getHiddenFields( array( 'title', 'prefix', 'filter', 'lang' ) ) .
-                               "</fieldset></form>";
+               $out .= Xml::closeElement( 'select' ) .
+                               "</td>\n
+                       </tr>
+                       <tr>\n
+                               <td></td>
+                               <td>" .
+                                       Xml::submitButton( wfMsg( 'allmessages-filter-submit' ) ) .
+                               "</td>\n
+                       </tr>" .
+                       Xml::closeElement( 'table' ) .
+                       $this->table->getHiddenFields( array( 'title', 'prefix', 'filter', 'lang' ) ) .
+                       Xml::closeElement( 'fieldset' ) .
+                       Xml::closeElement( 'form' );
                return $out;
        }
 }
index 6e90772..8252f29 100644 (file)
@@ -3045,11 +3045,14 @@ In the latter case you can also use a link, for example [[{{#Special:Export}}/{{
 'allmessagestext'               => 'This is a list of system messages available in the MediaWiki namespace.
 Please visit [http://www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and [http://translatewiki.net translatewiki.net] if you wish to contribute to the generic MediaWiki localisation.',
 'allmessagesnotsupportedDB'     => "This page cannot be used because '''\$wgUseDatabaseMessages''' has been disabled.",
+'allmessages-filter-legend'     => 'Filter',
 'allmessages-filter'            => 'Filter by customisation state:',
 'allmessages-filter-unmodified' => 'Unmodified',
 'allmessages-filter-all'        => 'All',
 'allmessages-filter-modified'   => 'Modified',
 'allmessages-prefix'            => 'Filter by prefix:',
+'allmessages-language'          => 'Language:',
+'allmessages-filter-submit'     => 'Go',
 
 # Thumbnails
 'thumbnail-more'           => 'Enlarge',
index a0427bb..f9603d9 100644 (file)
@@ -2068,6 +2068,8 @@ $wgMessageStructure = array(
                'allmessages-filter-all',
                'allmessages-filter-modified',
                'allmessages-prefix',
+               'allmessages-language',
+               'allmessages-filter-submit',
        ),
        'thumbnails' => array(
                'thumbnail-more',