vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4.x Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=245)
-   -   Add-On Releases - Hall of Fame - Top vBExperience Members - Widget, Forum Block and VBA CMPS Module (https://vborg.vbsupport.ru/showthread.php?t=250768)

Sadikb 09-17-2010 10:00 PM

Hall of Fame - Top vBExperience Members - Widget, Forum Block and VBA CMPS Module
 
1 Attachment(s)
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... :)

DS MrSinister 09-18-2010 06:50 PM

any luck making this to work with vBadvanced CMPS? i am sure there are people will be asking for it also. thanks for sharing.

Sadikb 09-18-2010 06:53 PM

Quote:

Originally Posted by DS MrSinister (Post 2100145)
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.

Aramist 09-18-2010 08:05 PM

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

Any idea?

Sadikb 09-18-2010 08:37 PM

Quote:

Originally Posted by Aramist (Post 2100176)
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... :(

Aramist 09-18-2010 08:44 PM

Np...i wait :D

Ty a lot in advance :D

betts02 09-18-2010 10:20 PM

Nice 1 cheers

Just changed the avatar for users with none selected but will await the image.php you say

Sadikb 09-19-2010 03:35 AM

Quote:

Originally Posted by Aramist (Post 2100176)
Hi...All my avatars are showing like unknown avatars.

Any idea?

Quote:

Originally Posted by Aramist (Post 2100190)
Np...i wait :D

Ty a lot in advance :D

Quote:

Originally Posted by betts02 (Post 2100220)
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

DS MrSinister 09-19-2010 03:45 AM

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.

Sadikb 09-19-2010 04:17 AM

Quote:

Originally Posted by DS MrSinister (Post 2100318)
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.

gwerzal 09-19-2010 10:49 AM

Thanksd mate

Looking good

Aramist 09-19-2010 02:09 PM

Ty u for the update Sadikb.

warrior uw 09-20-2010 06:15 AM

installed thanks

Sadikb 09-21-2010 08:36 AM

Quote:

Originally Posted by gwerzal (Post 2100422)
Thanksd mate

Looking good

Quote:

Originally Posted by Aramist (Post 2100500)
Ty u for the update Sadikb.

Quote:

Originally Posted by warrior uw (Post 2100830)
installed thanks

You are welcome! :)

Phalynx 09-21-2010 09:05 AM

I have referenced this widget in my readme. Thank you for sharing.

Gn_Snake 09-21-2010 04:32 PM

Thanks man!! Good job

//edit
Not working widget cms. I see a small square
Any idea?

CoZmicShReddeR 09-21-2010 09:47 PM

Quote:

Originally Posted by Gn_Snake (Post 2101479)
Thanks man!! Good job


//edit
Not working widget cms. I see a small square
Any idea?

Yeah me too @ www.cozworld.com :(

Sadikb 09-22-2010 12:40 AM

Quote:

Originally Posted by Phalynx (Post 2101327)
I have referenced this widget in my readme. Thank you for sharing.

Thanks Phalynx! :)

Quote:

Originally Posted by Gn_Snake (Post 2101479)
Not working widget cms. I see a small square
Any idea?

Quote:

Originally Posted by CoZmicShReddeR (Post 2101617)
Yeah me too @ www.cozworld.com :(

I couldn't find the widget or forum block on cozworld.com. If you guys could share the link where it's not working i could figure out the reason.

Edit: Sorry I just noticed. Have fixed the Widget Php code. Please again copy-paste the widget php code. It should be working now.

Thanks

DS MrSinister 09-27-2010 01:49 PM

1 Attachment(s)
OK this is the best i can do with my limited knowledge of php and vba.

Hall Of Fame for vBadvanced CMPS. also attach screen shot so you can see what it looks like.
enjoy. if anyone wants to clean it up some feel free.

Sadikb. feel free to added it to the main post or what ever you would like to do..

Sadikb 09-29-2010 05:54 AM

Quote:

Originally Posted by DS MrSinister (Post 2103696)
OK this is the best i can do with my limited knowledge of php and vba.

Hall Of Fame for vBadvanced CMPS. also attach screen shot so you can see what it looks like.
enjoy. if anyone wants to clean it up some feel free.

Sadikb. feel free to added it to the main post or what ever you would like to do..

Added VBA Module to OP. Thanks! :)

DS MrSinister 09-30-2010 01:18 AM

very welcome sir.. thanks for adding it.

betts02 11-12-2010 11:17 PM

Is it possible to only allow a set number of usergroups ?

pedroenf 11-14-2010 02:19 PM

This is an interesting MOD, in deed. But has to many MySQL DB querys - unninstalled :(

lycheepassion 06-02-2011 04:38 PM

I dont use the cms of vb4 can i do this just for the forum block?

Sadikb 06-02-2011 04:45 PM

Quote:

Originally Posted by lycheepassion (Post 2202742)
I dont use the cms of vb4 can i do this just for the forum block?

Yes, there is no dependency.

lycheepassion 06-02-2011 04:58 PM

Awesome thanks!

glen290 06-03-2011 10:12 PM

installed and workin great, quick question though, is there any way to reduce the size of the avatars ?

Sadikb 06-04-2011 03:14 AM

Quote:

Originally Posted by glen290 (Post 2203234)
installed and workin great, quick question though, is there any way to reduce the size of the avatars ?

I looked at your site. Your CSS isn't loading. Did you add the css in additional.css?

glen290 06-05-2011 12:36 PM

Quote:

Originally Posted by Sadikb (Post 2203289)
I looked at your site. Your CSS isn't loading. Did you add the css in additional.css?

Sorted, i had done the css for the default style, but not for the others...cheers :up:


All times are GMT. The time now is 05:49 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.01391 seconds
  • Memory Usage 1,866KB
  • 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
  • (3)bbcode_html_printable
  • (3)bbcode_php_printable
  • (17)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (29)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