Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Template Modifications
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Customizable Roster (Member List) Details »»
Customizable Roster (Member List)
Version: 1.1.3, by Sarcoth Sarcoth is offline
Developer Last Online: Mar 2017 Show Printable Version Email this Page

Category: Profile Enhancements - Version: 3.6.5 Rating:
Released: 03-05-2007 Last Update: 04-21-2007 Installs: 114
DB Changes Uses Plugins Template Edits
Additional Files  
No support by the author.

Customizable Roster (Member List)
[How to] get a working Guild/Clan Roster

Note: This modification is now discontinued - this means that while it will remain available for download and use, support will no longer be provided as the thread is no longer monitored. Please see the 3.7 release of this modification for future updates here.

Introduction:

This Mod started off as a [How to] template modification. I have since added in permission control and an installer. Those that install this Mod will need to make adjustments to two templates and one phrase depending on what you want displayed. I'll include instructions for each step as well as optional changes you can make at your decretion.

Click the following link for a Guild Roster preview: http://vanguard.sacredhaven.org/forums/showroster.php

You'll notice that I use the "Extra Profile Fields Page" by Wired1. It isn't needed for the Roster, but I think it makes the field updates look nicer for the users.


Installation:

Step 0: If you are upgrading from a previous version, save a copy of your old showroster.php and rename your showroster templates (I recommend giving them an underscore prefix; Example: _SHOWROSTER).

Step 1: Download the attached showrosterXXX.zip file.

Step 2: Upload the files to their correct directories.
Upload the showroster.php to the /forum/ directory.
Upload the bitfield_showroster.xml to the /forum/includes/xml/ directory.
Upload the spacer.gif to the /forum/images directory if you plan to use avatars.
Step 3: Admincp > Plugin & Products > Manage Products > Add/Import Product
Import the product-showroster.xml file.
Step 4: Admincp > Languages & Phrases > Phrase Manager > Phrase Type: ShowRoster > showroster_title --> Edit
Change this to whatever you want as the title of your roster.
Step 5: Admincp > User Profile Fields > Add New/Update User Profile Field
Add all the Profile Fields you plan to use and keep track of their number(s) (i.e. field6, field7, etc.).
Step 6: Admincp > Styles & Templates > Expand > ShowRoster Templates > showroster_header
This template contains the headers for each of your columns. Add/Edit/Remove columns to your preference. Be sure to update the colspan to the number of columns you have.
Step 7: Admincp > Styles & Templates > Expand > ShowRoster Templates > showroster_userbits
This template gets the data from each of the fields you want to have viewed on your roster. Add/Edit/Remove columns and/or the nowrap="nowrap" to your preference. Be sure to update each of the field#'s to match the fields from Step 5.
Step 8: Admincp > Usergroups > Usergroup Manager > Edit Usergroup
  • Set "Access - Should this usergroup have access to the Showroster page?" to Yes for whatever groups you want to have permissions to access the showroster page.
  • Set "Viewable - Should this usergroup be viewable on the Showroster page?" to Yes for the groups you want to have appear on the showroster page.
All instructions are included in the instructions.txt and optional.txt.

Enjoy!!!


Versions:

v1.1.3 - April 22, 2007
  • Added 'Who's Online' plugin to the installer (Thanks m002.p).
  • Made an update to the optional.txt file for changing the default sort.

v1.1.2 - April 20, 2007
  • Added sorting to the roster. This is optional and will work without adding the sorting features.

v1.1.1 - April 19, 2007
  • Small update. Just added total member count.

v1.1 - April 5, 2007 (Mod Revamp)
  • Revamped everything. There is now an installer to do most of the work for you.
  • The installer adds two new fields to your usergroup table. This allows you to set permissions for the showroster rather than using the showgroups permissions.
  • Removed a few options from the optional.txt file since they are now a part of the mod.

v1.03 - April 2, 2007
  • Added some code back to the showroster.php so join date, last activity, and usernames HTML markups could be used.
  • Changed $user[username] to $user[musername] in the showroster_userbits template. This will allow HTML markups to the usernames again.
  • Added instructions on how to change which usergroups appear on the Roster.
  • Added optional.txt to the zip for optional changes.

v1.01 - March 27, 2007
  • Changed a few variable names.
  • Changed template names.
  • Removed a lot of unneeded code from the showroster.php.
  • Added the ability to include user avatars.
  • Added a counter to keep track of how many users in each usergroup.

v1.01 - March 9, 2007
  • Removed a lot of unneeded code from the SHOWROSTER template.
  • Fixed a couple code problems.

v1.0 - March 6, 2007 (Initial Release)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #52  
Old 03-26-2007, 08:52 PM
grecostimpy grecostimpy is offline
 
Join Date: Mar 2005
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Sarcoth View Post
grecostimpy - I've looked over your process a dozen times and I don't see anything wrong with it. The only thing I can think of is that one of the templates are spelled incorrectly; typo maybe. Double check and let me know.
I triple checked.....unfortunately, they are all good.

Edit: Figured it out...see two posts down.
Reply With Quote
  #53  
Old 03-26-2007, 09:58 PM
m002.p's Avatar
m002.p m002.p is offline
 
Join Date: Jan 2007
Location: Worcester
Posts: 240
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok ive managed to understand the variant and add images. This is my example below:

www.sog-team.co.uk/forum/showroster.php

This is the information contained in the templates:

showroster_usergroup

Code:
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
	<td class="tcat" colspan="8">$user[title]</td>
</tr>
<tr>
	<td class="thead">$vbphrase[user_name]</td>
	<td align="center" class="thead">Real Name</td>
	<td align="center" class="thead">Country</td>
	<td align="center" class="thead">Flag</td>
        <td align="center" class="thead">Games</td>
	<td align="center" class="thead">Contact</td>
	<td align="center" class="thead">Xfire</td>
	
	
$usergroupbits
</table>
<br />
showroster_usergroupbit

Code:
<tr>
	
	<td class="$bgclass">
		<a href="member.php?$session[sessionurl]u=$user[userid]">$user[musername]</a>
	</td>
	
	<td align="center" class="$bgclass" nowrap="nowrap">$user[field12]</td>
	<td align="center" class="$bgclass" nowrap="nowrap">$user[field10] 
				</td>
	<td align="center" class="$bgclass" nowrap="nowrap"><img src="images/flags/$user[field10].gif"></td>
	<td align="center" class="$bgclass" nowrap="nowrap">$user[field8]</td>
	<td align="center" class="$bgclass" nowrap="nowrap"><a href="private.php?$session[sessionurl]do=newpm&amp;u=$user[userid]" rel="nofollow"><img src="images/imagesblue/sendpm.gif" Border=0></a>
		<a href="sendmessage.php?$session[sessionurl]do=mailmember&amp;u=$user[userid]" rel="nofollow"><img src="images/imagesblue/email.gif" Border=0></a>
	<td align="center" class="$bgclass" nowrap="nowrap"><if condition="$user[field14]"><a href="xfire:add_friend?user=$user[field14]"><IMG STYLE="border: none;" SRC="images/misc/icon_xfire.gif"></a></if></td>

	

</tr>
And of course in order to do that (add images) you need to user the "$user" variant opposed to "$post" even though it could be added to the php file

Hope that helps
Reply With Quote
  #54  
Old 03-26-2007, 11:03 PM
grecostimpy grecostimpy is offline
 
Join Date: Mar 2005
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK...I figured it out.

I had ALL of my usergroups included on the View Forum Leaders. (Namely because I want all my users to show on this special page if they filled out the custom field irregardless of their usergroup).

Problem is, there's too many to list...so the white page.

When I took the biggest usergroup off of the View Forum Leaders...the page started displaying perfectly.

So...two things:
  1. Is there a way to not display users who do not have the custom profile field filled out? (Filter them out) This way, only the users whohave a value in the field show on the page and users who have not filled out the custom profile field are ignored
  2. Can we have it so it displays 50 or so users, then starts a new page (a la the memberlist)
Reply With Quote
  #55  
Old 03-27-2007, 11:55 AM
Sarcoth Sarcoth is offline
 
Join Date: Mar 2006
Location: Huntsville
Posts: 521
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
field10 is set to the country of a user. Like UK, Germany, France etc

This is linked to a image (.gif) on the server which means using $post[field10].gif will result in it displaying the members country flag on the roster
Are your gif files in the same format as the country names?

Meaning. If Germany is their country, are you referring to Germany.gif?

EDIT: I just saw your second post. That's exactly what I was going to be suggesting as long as the files were in the same format as the country name. Otherwise, I was going to put some code in the PHP file that would make the whole word lowercase. Glad you got it working.
Reply With Quote
  #56  
Old 03-27-2007, 12:05 PM
Sarcoth Sarcoth is offline
 
Join Date: Mar 2006
Location: Huntsville
Posts: 521
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by grecostimpy View Post
OK...I figured it out.

I had ALL of my usergroups included on the View Forum Leaders. (Namely because I want all my users to show on this special page if they filled out the custom field irregardless of their usergroup).

Problem is, there's too many to list...so the white page.

When I took the biggest usergroup off of the View Forum Leaders...the page started displaying perfectly.
Well that's something I never expected. How many users do you have?

Quote:
Originally Posted by grecostimpy View Post
Is there a way to not display users who do not have the custom profile field filled out? (Filter them out) This way, only the users whohave a value in the field show on the page and users who have not filled out the custom profile field are ignored
I can definitely do that, should be very easy. How many profile fields are you using and I'm guessing you only want them filtered out if all the fields are blank? Meaning, if they even fill in one of the fields, they'll be on the list.


Quote:
Originally Posted by grecostimpy View Post
Can we have it so it displays 50 or so users, then starts a new page (a la the memberlist)
Sorry, that's not the direction I'll be going with the the roster.
Reply With Quote
  #57  
Old 03-27-2007, 02:34 PM
grecostimpy grecostimpy is offline
 
Join Date: Mar 2005
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Sarcoth,

I'd like it to only show users who have entered anything into field5. (so if nothing was entered in field5, they would not be included)

Thanks a lot for your assistance!
Reply With Quote
  #58  
Old 03-27-2007, 03:05 PM
Sarcoth Sarcoth is offline
 
Join Date: Mar 2006
Location: Huntsville
Posts: 521
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by grecostimpy View Post
I'd like it to only show users who have entered anything into field5. (so if nothing was entered in field5, they would not be included)
Open the showroster.php file and find:
Code:
if (sizeof($groupcache) >= 1)
{
	ksort($groupcache); // alphabetically sort usergroups
	foreach ($groupcache AS $users)
	{
		ksort($users); // alphabetically sort users
		$usergroupbits = '';
		foreach ($users AS $user)
		{
			exec_switch_bg();
			$user = process_showgroups_userinfo($user);

			($hook = vBulletinHook::fetch_hook('showgroups_user')) ? eval($hook) : false;
			eval('$usergroupbits .= "' . fetch_template('showroster_usergroupbit') . '";');
		}

		($hook = vBulletinHook::fetch_hook('showroster_usergroup')) ? eval($hook) : false;
		eval('$usergroups .= "' . fetch_template('showroster_usergroup') . '";');
	}
}
Change to:
Code:
if (sizeof($groupcache) >= 1)
{
	ksort($groupcache); // alphabetically sort usergroups
	foreach ($groupcache AS $users)
	{
		ksort($users); // alphabetically sort users
		$usergroupbits = '';
		foreach ($users AS $user)
		{
			if ($user['field5'] != '') {
				exec_switch_bg();
				$user = process_showgroups_userinfo($user);

				($hook = vBulletinHook::fetch_hook('showgroups_user')) ? eval($hook) : false;
				eval('$usergroupbits .= "' . fetch_template('showroster_usergroupbit') . '";');
			}
		}

		($hook = vBulletinHook::fetch_hook('showroster_usergroup')) ? eval($hook) : false;
		eval('$usergroups .= "' . fetch_template('showroster_usergroup') . '";');
	}
}
Let me know how that works.
Reply With Quote
  #59  
Old 03-27-2007, 04:17 PM
SgtOliver SgtOliver is offline
 
Join Date: Dec 2006
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I managed to get the users avatar working in mine using https://vborg.vbsupport.ru/showthread.php?t=83150

I am using this for more of an "About Us" page http://www.goblinarmy.com/community/aboutus.php

My showroster_usergroup

Code:
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
	<td class="tcat" colspan="3">$user[title]</td>
</tr>
<tr>
	<td class="thead">Member</td>
        <td class="thead">Biography</td>
	<td class="thead">Favorites</td>

	
$usergroupbits
</table>
<br />

My showroster_usergroupbit

Code:
<tr height=150>
	
<td class="$bgclass">
<a href="member.php?$session[sessionurl]u=$user[userid]">$user[musername]</a><br>$user[usertitle]<br>
<if condition="$vbulletin->userinfo['avatarid']">
<img src="$user[avatarpath]" alt="$bbuserinfo[username]'s Avatar" border="0" />
<else />
	 <if condition="$vbulletin->userinfo['hascustomavatar']">
		  <if condition="$vbulletin->options['usefileavatar']">
			 <img src="$vboptions[avatarurl]/avatar$user[userid]_$user[avatarrevision].gif" title="$user[username]'s Avatar" alt="Avatar" border="0" />
		  <else />
			 <img src="image.php?u=$user[userid]&amp;dateline=$avatar[dateline]" title="$user[username]'s Avatar" alt="Avatar" border="0" />
		  </if>
	  <else />
		 <img src="$stylevar[imgdir_misc]/noavatar.gif" alt="guestavatar.gif" title="No Avatar Specified" border="0" />
	  </if>  
</if>
</td>



	<td class="$bgclass"><b>Real name:</b><br>
                                $user[field14]<br><br>
                             <b>Location:</b><br>
                                $user[field2]<br><br>
                             <b>Ocupation:</b><br>
                                $user[field4]<br><br>
                             <b>Interests:</b><br>
                                $user[field3]</td>


	<td class="$bgclass"><b>Map:</b><br>
                             $user[field13]<br><br>
                             <b>Second Map:</b><br>
                             $user[field15]<br><br>
                             <b>Weapon:</b><br>
                             $user[field11]<br><br>
                             <b>Sec Weapon:</b><br>
                             $user[field12]</td>




	

</tr>
Reply With Quote
  #60  
Old 03-27-2007, 05:18 PM
Sarcoth Sarcoth is offline
 
Join Date: Mar 2006
Location: Huntsville
Posts: 521
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That great SgtOliver. The funny thing is I have been working on it since yesterday and just got it work about an hour ago but went out to lunch. I'll post my changes here for you anyhow. Use them if you are interested.

Open the showroster.php file.

***************************

Find:
Code:
require_once('./global.php');
Below it add:
Code:
require_once(DIR . '/includes/functions_user.php');
***************************

Find:
Code:
			($hook = vBulletinHook::fetch_hook('showgroups_user')) ? eval($hook) : false;
			eval('$usergroupbits .= "' . fetch_template('showroster_usergroupbit') . '";');
Above it add:
Code:
			$avatarurl=fetch_avatar_url($user[userid]); 
			
			if (!$avatarurl) {
				$avatarurl = 'images/spacer.gif';
			} else {
				$avatarurl = $vbulletin->options['bburl'] . '/' . $avatarurl[0];
			}
			
			$avatarimage='<img src="'.$avatarurl.'" border="0">';
***************************

Add a column for the Avatar header to your showroster_usergroup template.
Code:
<td class="thead">Avatar</td>
***************************

Add a column for the Avatar image to your showroster_usergroupbit template.
Code:
<td class="$bgclass">$avatarimage</td>
***************************

You would also have to make some table adjustments (ie. colspan) to get it all even again.

The spacer.gif image I am using is attached if you want to use that as well.

That's it.
Reply With Quote
  #61  
Old 03-27-2007, 08:27 PM
m002.p's Avatar
m002.p m002.p is offline
 
Join Date: Jan 2007
Location: Worcester
Posts: 240
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Sacroth.

I have another question, how do you create the title for the page like the one in your demo "Clan Roster"?

Ie the title you have "Sacred Haven - Vanguard Guild Roster"
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 10: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.04944 seconds
  • Memory Usage 2,348KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (12)bbcode_code
  • (6)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete