View Full Version : Mini Mods - Sort Memberlist by Usergroup
Hasann
02-22-2009, 10:00 PM
Sort Memberlist by Usergroup by https://vborg.vbsupport.ru/external/2009/12/22.png (http://www.forumcoding.com/)
This Product brought to you by
www.vbulletin-turkey.com (http://www.vbulletin-turkey.com/)
Description: This plugin will sort the memberlist by Usergroup :)
Install Instructions
Open your memberlist.php file with an editor and find this code
$sorturl = 'memberlist.php?' . $vbulletin->session->vars['sessionurl'] . $sortaddon;
Replace it with this code
$sorturl = 'memberlist.php?do=getall&groupid=' . $groupid . '' . $vbulletin->session->vars['sessionurl'] . $sortaddon;
than find this code
. (!empty($vbulletin->GPC['perpage']) ? "&pp=$perpage" : "")
Replace it with this code
. (!empty($vbulletin->GPC['groupid']) ? "&groupid=$groupid" : "")
. (!empty($vbulletin->GPC['perpage']) ? "&pp=$perpage" : "")
Save and re-upload overwrite to forum folder.
------------------------------------------------------------------------------------------------
Edit memberlist_letter template and REPLACE all of content with this code
<if condition="$show['selectedletter']">
<td class="alt1" width="3%">[<strong>$currentletter</strong>]</td>
<else />
<td class="alt2" width="3%"><a href="memberlist.php?$session[sessionurl]do=getall&groupid=$groupid&ltr=$linkletter&pp=$per page&sort=$sortfield&order=$sortorder$usergrouplin k$ltrurl">$currentletter</a></td>
</if>
Edit memberlist template and find this code
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr align="center">
$letterbits
</tr>
</table>
Replace it with this code
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<td colspan="30" height="16" class="thead">
<tr align="center">
$letterbits
</tr>
</table>
<br/>
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<td colspan="30" height="16" class="thead">
<tr align="center">
<td class="alt2" width="15%" valign="middle" align="left">
<div class="smallfont"><b>$vbphrase[usergroups]:</b></div>
</td>
<td class="alt1" width="85%" valign="middle" align="center">
<div class="smallfont">$usergrouplinks</div></td>
</tr>
</table>
And Save.
at least import the .xml product .xml file via admincp / product manager.
Tested on: vBulletin 3.8.1
Online Demo: www.vbulletin-turkey.com/forum/memberlist.php?langid=1 (http://www.vbulletin-turkey.com/forum/memberlist.php?langid=1)
Hasann
02-23-2009, 04:12 AM
Reserved.
Getting error
Parse error: syntax error, unexpected T_STRING in /home/warez08/public_html/forums/memberlist.php on line 490
Hasann
02-23-2009, 09:13 AM
Getting error
Parse error: syntax error, unexpected T_STRING in /home/warez08/public_html/forums/memberlist.php on line 490
did you made all file edits?
which version of vbulletin do you use?
TandyServices
02-23-2009, 09:18 AM
database errors here.
Database error in vBulletin 3.8.1:
Invalid SQL:
SELECT vb_usergroup.usergroupid, vb_usergroup.title,
COUNT(vb_user.userid) AS membercount
FROM vb_usergroup
LEFT JOIN vb_user
ON vb_user.usergroupid=vb_usergroup.usergroupid
OR FIND_IN_SET(vb_usergroup.usergroupid, vb_user.membergroupids)
WHERE (usergroup.genericoptions & 4)
GROUP BY vb_usergroup.usergroupid
ORDER BY vb_usergroup.title ASC;
MySQL Error : Unknown column 'usergroup.genericoptions' in 'where clause'
Error Number : 1054
Request Date : Monday, February 23rd 2009 @ 04:16:37 AM
Error Date : Monday, February 23rd 2009 @ 04:16:37 AM
Script : http://www.mysite.com/memberlist.php
Referrer : http://www.mysite.com/index.php
IP Address : 72.60.249.137
Username : WebGuy
Classname : vB_Database
MySQL Version : 5.0.75-community-log
Hasann
02-23-2009, 09:31 AM
MySQL Error : Unknown column 'usergroup.genericoptions' in 'where clause'
you have there tableprefix error I had forget to add the tableprefix to the sql
it is fixed now please re-import product .xml file and "edited memberlist.php" file added to the zip if you dont want file edits you can just upload overwrite this file.
TandyServices
02-23-2009, 09:35 AM
done.. fixed and works now.. thanks alot..
digicom
02-23-2009, 10:40 AM
Thanks Hasann installed great job :up:
adhmwagde
02-23-2009, 12:11 PM
always you are a good worker :)
installed
Marco van Herwaarden
02-23-2009, 12:35 PM
Attachment removed as it is not allowed to distribute vBulletin files.
Here's a couple more things you may want to correct before re-uploading the attachment.
Although you clean the groupid variable at the memberlist_start hook, you never use that version, instead you redeclare $groupid later on, using the unclean version.
At memberlist_start
$groupid = $vbulletin->input->clean_gpc('r', 'groupid', TYPE_UINT);
At memberlist_query_userscount
if (intval($_REQUEST['groupid']) > 0)
{
$groupid = intval($_REQUEST['groupid']);
$condition .= ' AND (FIND_IN_SET(\''.$groupid.'\', membergroupids) OR user.usergroupid = '.$groupid.')';
}
That final part should be:
if (intval($groupid) > 0)
{
$condition .= ' AND (FIND_IN_SET(\''.$groupid.'\', membergroupids) OR user.usergroupid = '.$groupid.')';
}
Also, although the $do_not_include variable hides the defined usergroups from the options list, members can still randomly try numbers and pull the memberlist for all those usergroups, regardless of the $do_not_include setting (apart from usergroups that are set in the AdminCP to be hidden from the memberlist).
If you move the $do_not_include declaration to the top of the plugin, it can also be checked when you check if $groupid > 0.
puertoblack2003
02-23-2009, 07:13 PM
good job hassan works great:up:
Hasann or somebody else...
Could you send me the file download link via PM or reupload the modified version ?
I'm looking this hack for ages... :rolleyes:
kaptanblack
02-23-2009, 07:58 PM
Thanks hasann..
Hasann
02-23-2009, 09:30 PM
in next version will improve this product just wait ;)
Ramsesx
02-24-2009, 12:31 PM
Cool hack, thanks. If there are no file edits I'll install it.
EvilJohn
02-25-2009, 10:41 AM
Looks nice. Going to install. Anyway to sort members in the user groups by join date?
Thanks. :up:
celikforum
02-25-2009, 11:37 AM
<div align="left">been good thanks, although I have not tried, but nice sharing</div>
OcR Envy
03-12-2009, 02:32 PM
How about adding usergroup styling to this? :)
FFTFTCEd
03-21-2009, 11:21 PM
Great mod, thanks, it was just what I needed.
FFTFTCEd
03-22-2009, 12:08 AM
Nice Mod, works fine... Is there a way to select only certain usergroups to be displayed?? I have some that I don't need showing and want to disable the mod for those.
Thanks,
Ed
oz_girl
07-13-2009, 10:25 AM
Reserved :)
archet1337
09-17-2009, 06:57 PM
How to add another usergroup?
I've been looking at this without figuring out how to add another group. I would like to have usergroup #9 to this list.
I'm a novice when it comes to php, so it would be awesome if someone could point me in the right direction :)
// Sort Memberlist by Usergroups by Hasann
$usergrouplinks = '';
$fetch_usergroups = $vbulletin->db->query_read_slave("
SELECT ".TABLE_PREFIX."usergroup.usergroupid, ".TABLE_PREFIX."usergroup.title,
COUNT(".TABLE_PREFIX."user.userid) AS membercount
FROM ".TABLE_PREFIX."usergroup
LEFT JOIN ".TABLE_PREFIX."user
ON ".TABLE_PREFIX."user.usergroupid=".TABLE_PREFIX."usergroup.usergroupid
OR FIND_IN_SET(".TABLE_PREFIX."usergroup.usergroupid, ".TABLE_PREFIX."user.membergroupids)
WHERE (".TABLE_PREFIX."usergroup.genericoptions & " . $vbulletin->bf_ugp_genericoptions['showmemberlist'] . ")
GROUP BY ".TABLE_PREFIX."usergroup.usergroupid
ORDER BY ".TABLE_PREFIX."usergroup.title ASC
");
while ($usergroups = $vbulletin->db->fetch_array($fetch_usergroups))
{
$do_not_include = array(1,3,4);
if (!in_array($usergroups['usergroupid'], $do_not_include))
{
$usergrouplinks .= '<a href="memberlist.php?do=getall&groupid='.$usergroups['usergroupid'].'"><b>'.$usergroups['title'].'</b> (<b>'.$usergroups['membercount'].'</b>)</a> ';
}
}
if (intval($groupid) > 0)
{
$condition .= ' AND (FIND_IN_SET(\''.$groupid.'\', membergroupids) OR user.usergroupid = '.$groupid.')';
}
archet1337
09-20-2009, 05:29 PM
anyone?
Scalemotorcars
10-22-2009, 04:20 PM
How to add another usergroup?
I've been looking at this without figuring out how to add another group. I would like to have usergroup #9 to this list.
I'm a novice when it comes to php, so it would be awesome if someone could point me in the right direction :)
// Sort Memberlist by Usergroups by Hasann
$usergrouplinks = '';
$fetch_usergroups = $vbulletin->db->query_read_slave("
SELECT ".TABLE_PREFIX."usergroup.usergroupid, ".TABLE_PREFIX."usergroup.title,
COUNT(".TABLE_PREFIX."user.userid) AS membercount
FROM ".TABLE_PREFIX."usergroup
LEFT JOIN ".TABLE_PREFIX."user
ON ".TABLE_PREFIX."user.usergroupid=".TABLE_PREFIX."usergroup.usergroupid
OR FIND_IN_SET(".TABLE_PREFIX."usergroup.usergroupid, ".TABLE_PREFIX."user.membergroupids)
WHERE (".TABLE_PREFIX."usergroup.genericoptions & " . $vbulletin->bf_ugp_genericoptions['showmemberlist'] . ")
GROUP BY ".TABLE_PREFIX."usergroup.usergroupid
ORDER BY ".TABLE_PREFIX."usergroup.title ASC
");
while ($usergroups = $vbulletin->db->fetch_array($fetch_usergroups))
{
$do_not_include = array(1,3,4);
if (!in_array($usergroups['usergroupid'], $do_not_include))
{
$usergrouplinks .= '<a href="memberlist.php?do=getall&groupid='.$usergroups['usergroupid'].'"><b>'.$usergroups['title'].'</b> (<b>'.$usergroups['membercount'].'</b>)</a> ';
}
}
if (intval($groupid) > 0)
{
$condition .= ' AND (FIND_IN_SET(\''.$groupid.'\', membergroupids) OR user.usergroupid = '.$groupid.')';
}
If I understand correctly all you need to do is edit the usergroup and allow it to be seen in the member list.
Same goes for removing a usergroup from those displayed in the memberlist.
Hassan...
Great mod and exactly what I was looking for. Thanks. Installed. :up:
ClanAH
01-01-2010, 09:04 AM
Is there a way to get the Usergroups that are listed to show up in a specific order to my choice as opposed to having it in alphabetical order? For instance, if I wanted to set it up so it shows in order of Highest to Lowest Rank on the forums (Usergroups = Ranks).
nando99
05-12-2010, 04:02 PM
great mod... i was wondering, how would i display the current user group being displayed?
thanks in advance...
Mike09
07-17-2010, 05:03 AM
Any plans for a v4.0 release, Hasann?
This is definitely useful and I would love to see an update.
Appreciate your work, thanks!
optimatez
07-28-2010, 03:39 PM
I installed this and it works and i love it, but for some reason the theme on this page is making the colors of the boxs alternating colors. Is there a way to fix this?
http://www.teampulverize.com/forums/memberlist.php
you will notice the last 3 columns have a checkered box pattern. Each column should be one color.
thanks!
mgurain
10-31-2010, 10:48 AM
Hi,
I was looking for a mod to list members of a group,
and I wonder why it is not a standard feature in the product ?
- Can you make this a product import only (no modification) ?
thanks,,
oshrizak
05-18-2012, 07:19 AM
Any chance this can be Upgraded to work with VB 4?
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.