From: Raimond Spekking Date: Tue, 13 Mar 2007 08:31:48 +0000 (+0000) Subject: Make Special:Listusers caseinsensitive for first letter X-Git-Tag: 1.31.0-rc.0~53785 X-Git-Url: http://git.cyclocoop.org/%28?a=commitdiff_plain;h=639b76bed4d8813f26f39ae70f6e3ef540d7e1b9;p=lhc%2Fweb%2Fwiklou.git Make Special:Listusers caseinsensitive for first letter User proper XML form functions Attention translators: Slight change in message. A complete new message seem to be overdone. --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 821162f8ca..73ab302a68 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -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 == diff --git a/includes/SpecialListusers.php b/includes/SpecialListusers.php index 0df5fa919d..2f321939b4 100644 --- a/includes/SpecialListusers.php +++ b/includes/SpecialListusers.php @@ -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 '
  • ' . wfSpecialList ($name, $groups) .'
  • '; } - + 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() ) ) . + '
    ' . + 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' ) ) . + '
    ' . + Xml::closeElement( 'form' ); return $out; } - + /** * Preserve group and username offset parameters when paging * @return array diff --git a/languages/messages/MessagesDe.php b/languages/messages/MessagesDe.php index c9c7a16ee1..4c26a1863d 100644 --- a/languages/messages/MessagesDe.php +++ b/languages/messages/MessagesDe.php @@ -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.', diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 228024e7b5..5828904908 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -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 #