Make Special:Listusers caseinsensitive for first letter
authorRaimond Spekking <raymond@users.mediawiki.org>
Tue, 13 Mar 2007 08:31:48 +0000 (08:31 +0000)
committerRaimond Spekking <raymond@users.mediawiki.org>
Tue, 13 Mar 2007 08:31:48 +0000 (08:31 +0000)
User proper XML form functions
Attention translators: Slight change in message. A complete new message seem to be overdone.

RELEASE-NOTES
includes/SpecialListusers.php
languages/messages/MessagesDe.php
languages/messages/MessagesEn.php

index 821162f..73ab302 100644 (file)
@@ -264,7 +264,7 @@ lighter making things easier to read.
 * (bug 8815) Setting password in initUser() breaks LdapAuthentication plugin
 * (bug 9256) Add a quick note to index.php header comments
 * (bug 1196) Add IPv6 support to blocks
-
+* Make Special:Listusers caseinsensitive for first letter
 
 == Languages updated ==
 
index 0df5fa9..2f32193 100644 (file)
@@ -39,8 +39,11 @@ class UsersPager extends AlphabeticPager {
        function __construct($group=null) {
                global $wgRequest;
                $this->requestedGroup = $group != "" ? $group : $wgRequest->getVal( 'group' );
-               $this->requestedUser = $wgRequest->getText( 'username', $this->mOffset );
-               
+               $un = $wgRequest->getText( 'username' );
+               if ( $un != '' ) {
+                       $username = Title::makeTitleSafe( NS_USER, $un );
+                       $this->requestedUser = $username->getText();
+               }
                parent::__construct();
        }
 
@@ -57,9 +60,9 @@ class UsersPager extends AlphabeticPager {
                if ($this->requestedUser != "") {
                        $conds[] = 'user_name >= ' . wfGetDB()->addQuotes( $this->requestedUser );
                }
-               
+
                list ($user,$user_groups) = wfGetDB()->tableNamesN('user','user_groups');
-               
+
                return array(
                        'tables' => " $user LEFT JOIN $user_groups ON user_id=ug_user ",
                        'fields' => array('user_name',
@@ -70,7 +73,7 @@ class UsersPager extends AlphabeticPager {
                        'conds' => $conds
                );
        }
-       
+
        function formatRow($row) {
                $userPage = Title::makeTitle(NS_USER, $row->user_name);
                $name = $this->getSkin()->makeLinkObj( $userPage, htmlspecialchars( $userPage->getText() ) );
@@ -87,7 +90,7 @@ class UsersPager extends AlphabeticPager {
                } elseif ($row->numgroups == 1 ) { // MAX hack inside query :)
                        $groups[$row->singlegroup] = User::getGroupMember( $row->singlegroup );
                }
-               
+
                if ( count($groups) > 0 ) {
                        foreach( $groups as $group => $desc ) {
                                $list[] = User::makeGroupLinkHTML( $group, $desc);
@@ -96,18 +99,19 @@ class UsersPager extends AlphabeticPager {
                } else {
                        $groups ='';
                }
+               //$ulink = $skin->userLink( $result->user, $result->user_text ) . ' ' . $skin->userToolLinks( $result->user, $result->user_text );
                return '<li>' . wfSpecialList ($name, $groups) .'</li>';
        }
-       
+
        function getBody() {
                if (!$this->mQueryDone) {
                        $this->doQuery();
                }
                $batch = new LinkBatch;
                $db = $this->mDb;
-       
+
                $this->mResult->rewind();
-               
+
                while ( $row = $this->mResult->fetchObject() ) {
                        $batch->addObj( Title::makeTitleSafe( NS_USER, $row->user_name ) );
                }
@@ -115,41 +119,45 @@ class UsersPager extends AlphabeticPager {
                $this->mResult->rewind();
                return parent::getBody();
        }
-       
+
        function getPageHeader( ) {
+               global $wgRequest;
                $self = $this->getTitle();
 
                # Form tag
-               $out = wfOpenElement( 'form', array( 'method' => 'post', 'action' => $self->getLocalUrl() ) );
-               
+               $out  = Xml::openElement( 'form', array( 'method' => 'get', 'action' => $self->getLocalUrl() ) ) .
+                       '<fieldset>' .
+                       Xml::element( 'legend', array(), wfMsg( 'listusers' ) );
+
+               # Username field
+               $out .= Xml::label( wfMsg( 'listusersfrom' ), 'offset' ) . ' ' .
+                       Xml::input( 'username', 20, $this->requestedUser ) . ' ';
+
+               if( $this->mLimit )
+                       $out .= Xml::hidden( 'limit', $this->mLimit );
+
                # Group drop-down list
-               $out .= wfElement( 'label', array( 'for' => 'group' ), wfMsg( 'group' ) ) . ' ';
-               $out .= wfOpenElement( 'select', array( 'name' => 'group', 'id' => 'group' ) );
-               $out .= wfElement( 'option', array( 'value' => '' ), wfMsg( 'group-all' ) ); # Item for "all groups"
+               $out .= Xml::label( wfMsg( 'group' ), 'group' ) . ' ' .
+                       Xml::openElement('select',  array( 'name' => 'group', 'id' => 'group' ) ) .
+                       Xml::option( wfMsg( 'group-all' ), '' );  # Item for "all groups"
+
                $groups = User::getAllGroups();
                foreach( $groups as $group ) {
                        $attribs = array( 'value' => $group );
                        if( $group == $this->requestedGroup )
                                $attribs['selected'] = 'selected';
-                       $out .= wfElement( 'option', $attribs, User::getGroupName( $group ) );
+                       $out .= Xml::option( User::getGroupName( $group ), $attribs['value'], $attribs['selected'] );
                }
-               $out .= wfCloseElement( 'select' ) . ' ';;# . wfElement( 'br' );
-
-               # Username field
-               $out .= wfElement( 'label', array( 'for' => 'offset' ), wfMsg( 'listusersfrom' ) ) . ' ';
-               $out .= wfElement( 'input', array( 'type' => 'text', 'id' => 'username', 'name' => 'username',
-                                                       'value' => $this->requestedUser ) ) . ' ';
-
-               if( $this->mLimit )
-                       $out .= wfElement( 'input', array( 'type' => 'hidden', 'name' => 'limit', 'value' => $this->mLimit ) );
+               $out .= Xml::closeElement( 'select' ) . ' ';
 
                # Submit button and form bottom
-               $out .= wfElement( 'input', array( 'type' => 'submit', 'value' => wfMsg( 'allpagessubmit' ) ) );
-               $out .= wfCloseElement( 'form' );
+               $out .= Xml::submitButton( wfMsg( 'allpagessubmit' ) ) .
+                       '</fieldset>' .
+                       Xml::closeElement( 'form' );
 
                return $out;
        }
-       
+
        /**
         * Preserve group and username offset parameters when paging
         * @return array
index c9c7a16..4c26a18 100644 (file)
@@ -1198,7 +1198,7 @@ Davon {{PLURAL:$2|hat|haben}} '''$2''' (=$4%) $5-Rechte.",
 # Special:Listusers
 'listusersfrom'      => 'Zeige Benutzer ab:',
 'listusers-submit'   => 'Zeige',
-'listusers-noresult' => 'Keine Benutzer gefunden. Bitte beachte, dass die Groß-/Kleinschreibung des Anfangsbuchstabens zu unterschiedlichen Ergebnissen führt.',
+'listusers-noresult' => 'Keinen Benutzer gefunden.',
 
 # E-mail user
 'mailnologin'     => 'Sie sind nicht angemeldet.',
index 228024e..5828904 100644 (file)
@@ -1597,7 +1597,7 @@ You can narrow down the view by selecting a log type, the user name, or the affe
 # Special:Listusers
 'listusersfrom'      => 'Display users starting at:',
 'listusers-submit'   => 'Show',
-'listusers-noresult' => 'No users found. Please check upper-/lowercase variants too.',
+'listusers-noresult' => 'No user found.',
 
 # Email this user
 #