Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Hall of Fame - Top vBExperience Members - Widget, Forum Block and VBA CMPS Module Details »»
Hall of Fame - Top vBExperience Members - Widget, Forum Block and VBA CMPS Module
Version: 1.1, by Sadikb Sadikb is offline
Developer Last Online: Jun 2022 Show Printable Version Email this Page

Category: Add-On Releases - Version: 4.0.6 Rating:
Released: 09-17-2010 Last Update: 09-28-2010 Installs: 22
Uses Plugins Template Edits
Re-useable Code Translations  
No support by the author.

On my site running vBExperience 4, I needed to have a CMS Widget and Forum Block showing Top Members, aptly named as Hall of Fame. So I wrote this one. This is not a standalone widget and it is only tested with vBExperience 4 and vBulletin 4.0.6. I will try and help if you have any issues but I can't guarantee support.

What this does:

Not much... This is totally based on the need of my site where I wanted to show member's avatar's besides their names, titles and Experience Points. So that's all this will show. If you need anything more you will have to change the Query.


INSTALL INSTRUCTIONS

1) Add the CSS which we will use

Styles & Templates > select style > Edit Template > CSS Templates > additional.css

Add the below CSS

Before you add the CSS, a very important point to note is that I use a 300px sidebar column on CMS and 300px sidebar on Forums. If your CMS/Forum sidebar column is of less width, you should change the CSS values accordingly. I highly recommend playing with Firebug to arrive at optimum Display.


HTML Code:
.clearfix {
background:none repeat scroll 0 0 #FFFFFF;
display:block;
float:left;
margin:0 5px 5px;
width:95%;
}

.connections_grid .grid_item {
border-bottom:1px solid #AAAAAA;
float:left;
margin-bottom:10px;
overflow:hidden;
padding-bottom:10px;
padding-top:10px;
width:130px;
}

.connections_grid .grid_item .name {
float:left;
font-size:10px;
overflow:hidden;
padding-left:10px;
padding-top:5px;
text-align:center;
white-space:nowrap;
}

.tpimg {
float:left;
height:45px;
padding-left:5px;
width:45px;
}

.allrankings {
font-size:11px;
text-align:center;
}
2) Create a new Templates

For Widget:

Styles & Templates > select style > Add Template
Title - vbcms_widget_execphp_hof
Template code -

HTML Code:
<div class="cms_widget">
	<div class="block">
		<div class="cms_widget_header">
		<h3>{vb:raw widget_title}</h3>
		</div>
		<div class="cms_widget_content" style="float:left">
		{vb:raw show_top}
		</div>
	</div>
</div>
For Forum Block:

Styles & Templates > select style > Add Template
Title - block_hof
Template code -

HTML Code:
<li>
	<div class="block smaller">
		<div class="blocksubhead">
			<a class="collapse" id="collapse_block_html_{vb:raw blockinfo.blockid}" href="{vb:raw relpath}#top"><img alt="" src="{vb:stylevar imgdir_button}/collapse_40b.png" id="collapseimg_html_{vb:raw blockinfo.blockid}"/></a>
			<span class="blocktitle">{vb:raw blockinfo.title}</span>
		</div>
		<div id="block_html_{vb:raw blockinfo.blockid}" class="blockbody floatcontainer restore">
		{vb:raw content}
		</div>
	</div>
	<div class="underblock"></div>
</li>
I usually remove the atrocious PHP/HTML icons that appear beside widget and block headings.

3) Cache Templates

Plugins & Products > Add New Plugin > leave everything default except:
Hook Location - cache_templates
Title - Cache templates for Hall of Fame
Plugin PHP code -
PHP Code:
PHP Code:
$cache array_merge((array)$cache,array(
    
'block_hof',
    
'vbcms_widget_execphp_hof'
)); 
Plugin is Active - Yes

4) Create a new Widget

vBulletin CMS > Widgets > Create New Widget
Widget Type - PHP Direct Execution
Title - Hall of Fame
SAVE

5) Configure the Widget

Now go to vBulletin CMS > Widgets > Hall of Fame > Configure
Change the Template Name to -
vbcms_widget_execphp_hof
Add the following code
PHP Code:
$member_count 8;

ob_start();
require_once(
'./includes/functions_user.php');
require_once(
'./includes/functions_bigthree.php');

$ignore_condition '1=1';

if (
strlen($vbulletin->options['xperience_ignore_users']) > 0)
{
    
$ignore_condition .= " AND u.userid NOT IN(".$vbulletin->options['xperience_ignore_users'].") ";
}

// Get Top Members
$topusers_get vB::$db->query_read("SELECT u.userid AS userid,
                                    u.username AS username,
                                    u.usertitle AS title,
                                    x.points_xperience AS points
                                    FROM "
.TABLE_PREFIX."user AS u        
                                    LEFT JOIN "
.TABLE_PREFIX."xperience_stats AS x
                                    ON x.userid=u.userid
                                    WHERE "
.$ignore_condition."
                                    ORDER BY x.points_xperience DESC
                                    LIMIT 
$member_count"
                                    
);

$show_top='<div class="connections_grid clearfix">';                                                                        
                                    
while(
$topusers vB::$db->fetch_array($topusers_get))
{
 
$URL fetch_avatar_url($topusers[userid]);
   
$a_url = @$URL[0];  

    if (empty(
$a_url)) 
    {
        
$a_url 'images/misc/unknown.gif';
    }
    

$show_top.='<div class="grid_item"><a href="member.php?u='.$topusers[userid].'"><img class="tpimg" src="'.$a_url.'" alt="'.$newuser[username].'"/><div class="name">'.$topusers[username].'<br />'.$topusers[title].'<br /><b>Points </b><span style="color:green;font-weight:bold">'.$topusers[points].'</span></div></a></div>';

}

$show_top.='<div class="allrankings"><a rel="nofollow" href="xperience.php?go=ranking">Complete  Hall of Fame Rankings</a></div></div>';

vB_Template::preRegister('vbcms_widget_execphp_hof', array('show_top' => $show_top));  

ob_end_clean(); 
You can change $member_count to as many members as you want to display.

Save

6) Add the widget to a proper layout.

7) Create New Forum Block

Forums & Moderators > Forum Blocks Manager > Add Block
Block Type - Custom Html/PHP
Title - Hall of Fame
Content Type - PHP
Content - Add this PHP Code

PHP Code:
$member_count 8;

ob_start();
require_once(
'./includes/functions_user.php');
require_once(
'./includes/functions_bigthree.php');

$ignore_condition '1=1';

if (
strlen($vbulletin->options['xperience_ignore_users']) > 0)
{
    
$ignore_condition .= " AND u.userid NOT IN(".$vbulletin->options['xperience_ignore_users'].") ";
}

// Get Top Members
$topusers_get vB::$db->query_read("SELECT u.userid AS userid,
                                    u.username AS username,
                                    u.usertitle AS title,
                                    x.points_xperience AS points
                                    FROM "
.TABLE_PREFIX."user AS u        
                                    LEFT JOIN "
.TABLE_PREFIX."xperience_stats AS x
                                    ON x.userid=u.userid
                                    WHERE "
.$ignore_condition."
                                    ORDER BY x.points_xperience DESC
                                    LIMIT 
$member_count"
                                    
);

$show_top='<div class="connections_grid clearfix">';                                                                        
                                    
while(
$topusers vB::$db->fetch_array($topusers_get))
{
$URL fetch_avatar_url($topusers[userid]);
   
$a_url = @$URL[0];  

    if (empty(
$a_url)) 
    {
        
$a_url 'images/misc/unknown.gif';
    }

$show_top.='<div class="grid_item"><a href="member.php?u='.$topusers[userid].'"><img class="tpimg" src="'.$a_url.'" alt="'.$newuser[username].'"/><div class="name">'.$topusers[username].'<br />'.$topusers[title].'<br /><b>Points </b><span style="color:green;font-weight:bold">'.$topusers[points].'</span></div></a></div>';

}

$show_top.='<div class="allrankings"><a href="xperience.php?go=ranking">Complete  Hall of Fame Rankings</a></div></div>';

$output $show_top;

ob_end_clean(); 
Again, You can change $member_count to as many members as you want to display.

Change template to use block_hof
Save
Save a proper Display Order

Of course, I use both CMS Widget and Forum block, you may use either only one.

VBAdvanced CMPS Module is attached. Thanks to DS MrSinister who provided this.

Working Demo can be seen on my site : Oracle Forums Community. Screen shots not attached as don't want to show my member's avatar's here.

Hope someone uses this... lol...

Download Now

File Type: xml halloffame_vba.xml (2.9 KB, 64 views)

Supporters / CoAuthors

Show Your Support

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

Comments
  #2  
Old 09-18-2010, 06:50 PM
DS MrSinister DS MrSinister is offline
 
Join Date: Dec 2002
Location: the burgh
Posts: 553
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

any luck making this to work with vBadvanced CMPS? i am sure there are people will be asking for it also. thanks for sharing.
Reply With Quote
  #3  
Old 09-18-2010, 06:53 PM
Sadikb's Avatar
Sadikb Sadikb is offline
 
Join Date: Aug 2008
Location: Internet
Posts: 111
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by DS MrSinister View Post
any luck making this to work with vBadvanced CMPS? i am sure there are people will be asking for it also. thanks for sharing.
Ah... sorry mate, haven't got vbAdvanced installed. Shouldn't be difficult to make though, given that the php code is already there. By the way I have marked the code re-usable so anyone who has vBA can go ahead and make one.
Reply With Quote
  #4  
Old 09-18-2010, 08:05 PM
Aramist Aramist is offline
 
Join Date: Apr 2006
Posts: 127
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi...All my avatars are showing like unknown avatars.

Any idea?
Reply With Quote
  #5  
Old 09-18-2010, 08:37 PM
Sadikb's Avatar
Sadikb Sadikb is offline
 
Join Date: Aug 2008
Location: Internet
Posts: 111
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Aramist View Post
Hi...All my avatars are showing like unknown avatars.

Any idea?
Yes... Should have seen this coming... My avatar's are in the database. The avatar url through image.php is probably not working for you. Will check in the morning... It's 3 am here...
Reply With Quote
  #6  
Old 09-18-2010, 08:44 PM
Aramist Aramist is offline
 
Join Date: Apr 2006
Posts: 127
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Np...i wait

Ty a lot in advance
Reply With Quote
  #7  
Old 09-18-2010, 10:20 PM
betts02's Avatar
betts02 betts02 is offline
 
Join Date: Jun 2009
Posts: 910
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nice 1 cheers

Just changed the avatar for users with none selected but will await the image.php you say
Reply With Quote
  #8  
Old 09-19-2010, 03:35 AM
Sadikb's Avatar
Sadikb Sadikb is offline
 
Join Date: Aug 2008
Location: Internet
Posts: 111
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Aramist View Post
Hi...All my avatars are showing like unknown avatars.

Any idea?
Quote:
Originally Posted by Aramist View Post
Np...i wait

Ty a lot in advance
Quote:
Originally Posted by betts02 View Post
Nice 1 cheers

Just changed the avatar for users with none selected but will await the image.php you say
Avatar Issue Fixed. Please change the PHP Code in Widget/Forum Block.

Thanks
Reply With Quote
  #9  
Old 09-19-2010, 03:45 AM
DS MrSinister DS MrSinister is offline
 
Join Date: Dec 2002
Location: the burgh
Posts: 553
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

wow thanks. thought you would not posted a fixed until much later. i am still trying to figure out how to get this to work with vbadvanced. still not luck yet. my skills are still not that good yet.
Reply With Quote
  #10  
Old 09-19-2010, 04:17 AM
Sadikb's Avatar
Sadikb Sadikb is offline
 
Join Date: Aug 2008
Location: Internet
Posts: 111
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by DS MrSinister View Post
wow thanks. thought you would not posted a fixed until much later. i am still trying to figure out how to get this to work with vbadvanced. still not luck yet. my skills are still not that good yet.
I haven't used vbA in a long time. How does vbA create a new php module? Does it allow you to? If yes, what you need to do is first put in the php code from the widget into vbA php module. Once you have the php running (check by echoing), it's a question of displaying the variable in html.
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 09:49 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.13087 seconds
  • Memory Usage 2,396KB
  • Queries Executed 27 (?)
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
  • (3)bbcode_html
  • (3)bbcode_php
  • (6)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (1)postbit_attachment
  • (10)postbit_onlinestatus
  • (10)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_postinfo_query
  • fetch_postinfo
  • 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_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete