vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.8 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=235)
-   -   Mini Mods - Sort Memberlist by Usergroup (https://vborg.vbsupport.ru/showthread.php?t=206295)

Hasann 02-22-2009 10:00 PM

Sort Memberlist by Usergroup
 
1 Attachment(s)

This Product brought to you by
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

PHP Code:

$sorturl 'memberlist.php?' $vbulletin->session->vars['sessionurl'] . $sortaddon

Replace it with this code

PHP Code:

$sorturl 'memberlist.php?do=getall&groupid=' $groupid '' $vbulletin->session->vars['sessionurl'] . $sortaddon

than find this code

PHP Code:

. (!empty($vbulletin->GPC['perpage']) ? "&pp=$perpage""

Replace it with this code

PHP 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

HTML 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&amp;groupid=$groupid&amp;ltr=$linkletter&amp;pp=$perpage&amp;sort=$sortfield&amp;order=$sortorder$usergrouplink$ltrurl">$currentletter</a></td>
</if>

Edit memberlist template and find this code

HTML 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

HTML 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

Hasann 02-23-2009 04:12 AM

Reserved.

fahl 02-23-2009 08:43 AM

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

Quote:

Originally Posted by fahl (Post 1752133)
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.

Code:

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.

R-D 02-23-2009 12:48 PM

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
Code:

$groupid = $vbulletin->input->clean_gpc('r', 'groupid', TYPE_UINT);
At memberlist_query_userscount
Code:

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:
Code:

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:

goyo 02-23-2009 07:56 PM

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 :)

PHP Code:

// 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&amp;groupid='.$usergroups['usergroupid'].'"><b>'.$usergroups['title'].'</b> (<b>'.$usergroups['membercount'].'</b>)</a>&nbsp;&nbsp;&nbsp;';    
    }
}

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

Quote:

Originally Posted by archet1337 (Post 1886572)
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 :)

PHP Code:

// 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&amp;groupid='.$usergroups['usergroupid'].'"><b>'.$usergroups['title'].'</b> (<b>'.$usergroups['membercount'].'</b>)</a>&nbsp;&nbsp;&nbsp;';    
    }
}

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?


All times are GMT. The time now is 04:54 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01384 seconds
  • Memory Usage 1,849KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_code_printable
  • (3)bbcode_html_printable
  • (6)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (31)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete