getPrefixedDBkey() ); // form header $out = '
' . '' . 'Group: '; $out .= 'User: '; // OK button, end of form. $out .= '
'; // congratulations the form is now build return $out; } function getSQL() { $dbr =& wfGetDB( DB_SLAVE ); /* system showing possible actions for users $user = $dbr->tableName( 'user' ); $user_rights = $dbr->tableName( 'user_rights' ); $userspace = Namespace::getUser(); return "SELECT ur_rights as type, $userspace as namespace, user_name as title, " . "user_name as value FROM $user LEFT JOIN $user_rights ON user_id = ur_user"; */ /** Show groups instead */ $user = $dbr->tableName( 'user' ); $group = $dbr->tableName( 'group' ); $user_groups = $dbr->tableName( 'user_groups' ); $userspace = Namespace::getUser(); $sql = "SELECT group_name as type, $userspace AS namespace, user_name AS title, user_name as value " . "FROM $user LEFT JOIN $user_groups ON user_id =ug_user " . "LEFT JOIN $group ON ug_group = group_id "; if($this->requestedGroup != '') { $sql .= "WHERE group_id= '" . IntVal( $this->requestedGroup ) . "' "; if($this->requestedUser != '') { $sql .= "AND user_name = " . $dbr->addQuotes( $this->requestedUser ) . " "; } } else { if($this->requestedUser !='') { $sql .= "WHERE user_name = " . $dbr->addQuotes( $this->requestedUser ) . " "; } } return $sql; } function sortDescending() { return false; } function formatResult( $skin, $result ) { global $wgContLang; $name = $skin->makeLink( $wgContLang->getNsText($result->namespace) . ':' . $result->title, $result->title ); if( '' != $result->type ) { $name .= ' (' . $skin->makeLink( wfMsgForContent( 'administrators' ), $result->type) . ')'; } return $name; } } /** * constructor */ function wfSpecialListusers() { global $wgUser, $wgOut, $wgLang, $wgRequest; list( $limit, $offset ) = wfCheckLimits(); $slu = new ListUsersPage(); /** * Get some parameters */ $slu->requestedGroup = $wgRequest->getVal('group'); $slu->requestedUser = $wgRequest->getVal('username'); return $slu->doQuery( $offset, $limit ); } ?>