$out is needed here
[lhc/web/wiklou.git] / includes / SpecialListusers.php
index 7879f72..48e0819 100644 (file)
@@ -68,7 +68,7 @@ class UsersPager extends AlphabeticPager {
 
                list ($user,$user_groups,$ipblocks) = wfGetDB()->tableNamesN('user','user_groups','ipblocks');
 
-               return array(
+               $query = array(
                        'tables' => " $user LEFT JOIN $user_groups ON user_id=ug_user LEFT JOIN $ipblocks ON user_id=ipb_user AND ipb_auto=0 ",
                        'fields' => array('user_name',
                                'MAX(user_id) AS user_id',
@@ -78,6 +78,8 @@ class UsersPager extends AlphabeticPager {
                        'conds' => $conds
                );
 
+               wfRunHooks( 'SpecialListusersQueryInfo', array( $this, &$query ) );
+               return $query;
        }
 
        function formatRow( $row ) {
@@ -94,8 +96,10 @@ class UsersPager extends AlphabeticPager {
                } else {
                        $groups = '';
                }
-
-               return '<li>' . wfSpecialList( $name, $groups ) . '</li>';
+               
+               $item = wfSpecialList( $name, $groups );
+               wfRunHooks( 'SpecialListusersFormatRow', array( &$item, $row ) );
+               return "<li>{$item}</li>";
        }
 
        function getBody() {
@@ -122,7 +126,7 @@ class UsersPager extends AlphabeticPager {
                $out  = Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript ) ) .
                        '<fieldset>' .
                        Xml::element( 'legend', array(), wfMsg( 'listusers' ) );
-               $out .= Xml::hidden( 'title', $self->getPrefixedUrl() );
+               $out .= Xml::hidden( 'title', $self->getPrefixedDbKey() );
 
                # Username field
                $out .= Xml::label( wfMsg( 'listusersfrom' ), 'offset' ) . ' ' .
@@ -136,11 +140,14 @@ class UsersPager extends AlphabeticPager {
                        $out .= Xml::option( User::getGroupName( $group ), $group, $group == $this->requestedGroup );
                $out .= Xml::closeElement( 'select' ) . ' ';
 
+               wfRunHooks( 'SpecialListusersHeaderForm', array( $this, &$out ) );
+
                # Submit button and form bottom
                if( $this->mLimit )
                        $out .= Xml::hidden( 'limit', $this->mLimit );
-               $out .= Xml::submitButton( wfMsg( 'allpagessubmit' ) ) .
-                       '</fieldset>' .
+               $out .= Xml::submitButton( wfMsg( 'allpagessubmit' ) );
+               wfRunHooks( 'SpecialListusersHeader', array( $this, &$out ) );
+               $out .= '</fieldset>' .
                        Xml::closeElement( 'form' );
 
                return $out;
@@ -156,6 +163,7 @@ class UsersPager extends AlphabeticPager {
                        $query['group'] = $this->requestedGroup;
                if( $this->requestedUser != '' )
                        $query['username'] = $this->requestedUser;
+               wfRunHooks( 'SpecialListusersDefaultQuery', array( $this, &$query ) );
                return $query;
        }
 
@@ -198,10 +206,6 @@ class UsersPager extends AlphabeticPager {
 function wfSpecialListusers( $par = null ) {
        global $wgRequest, $wgOut;
 
-       list( $limit, $offset ) = wfCheckLimits();
-
-       $groupTarget = isset($par) ? $par : $wgRequest->getVal( 'group' );
-
        $up = new UsersPager($par);
 
        # getBody() first to check, if empty
@@ -217,5 +221,3 @@ function wfSpecialListusers( $par = null ) {
 
        $wgOut->addHTML( $s );
 }
-
-?>