Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 01-05-2009, 04:42 PM
Ghost Shadow's Avatar
Ghost Shadow Ghost Shadow is offline
 
Join Date: Aug 2005
Posts: 66
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Top 5 posters

Is it possible to list the top 5 posters? Such as using a "$"?

TIA

-Joseph
Reply With Quote
  #2  
Old 01-05-2009, 05:04 PM
Bellardia Bellardia is offline
 
Join Date: Jul 2007
Location: Hamilton, Ontario
Posts: 378
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can't call them by any defined function, but you could make a short plugin that uses a single query to find the top 5, and then style them as you want.
Reply With Quote
  #3  
Old 01-05-2009, 05:37 PM
Ghost Shadow's Avatar
Ghost Shadow Ghost Shadow is offline
 
Join Date: Aug 2005
Posts: 66
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Bellardia View Post
You can't call them by any defined function, but you could make a short plugin that uses a single query to find the top 5, and then style them as you want.
How difficult is this to do Bellardia?
Reply With Quote
  #4  
Old 01-05-2009, 06:57 PM
Bellardia Bellardia is offline
 
Join Date: Jul 2007
Location: Hamilton, Ontario
Posts: 378
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Ghost Shadow View Post
How difficult is this to do Bellardia?
Depends how much of the information you want to be displayed and how you want it to be styled, simply listing the top 5 posters in commas in plain text would be very simple; a few lines of code.

Styling them wouldn't be much harder either if using basic styles. However pulling other information with them would take joins (say, color of username, usertitle etc) but nonetheless quite simple in essence.

Depending on what your needs are I could write up a quick script for you.
Reply With Quote
  #5  
Old 01-05-2009, 07:34 PM
Ghost Shadow's Avatar
Ghost Shadow Ghost Shadow is offline
 
Join Date: Aug 2005
Posts: 66
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Bellardia View Post
Depends how much of the information you want to be displayed and how you want it to be styled, simply listing the top 5 posters in commas in plain text would be very simple; a few lines of code.

Styling them wouldn't be much harder either if using basic styles. However pulling other information with them would take joins (say, color of username, usertitle etc) but nonetheless quite simple in essence.

Depending on what your needs are I could write up a quick script for you.
Bellardia, thank you so much!!!

I created a sidebar and I want it to go within "Top 5 Posters" block, 3rd from the top.
I just want the nick of the poster on the far left, and number of posts on the far right. With the highest poster on top, to the lowest on bottom.

If possible, making the numbers yellow and keeping the names default.

I'll open the forum so you can see the side block I'm referring to.

Thank you so much for your kindness!
-Joseph
http://www.warfaith.com/
Reply With Quote
  #6  
Old 01-05-2009, 08:15 PM
Bellardia Bellardia is offline
 
Join Date: Jul 2007
Location: Hamilton, Ontario
Posts: 378
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have class now, so just give me 3-4 hours ;p
Reply With Quote
  #7  
Old 01-05-2009, 08:23 PM
Ghost Shadow's Avatar
Ghost Shadow Ghost Shadow is offline
 
Join Date: Aug 2005
Posts: 66
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Bellardia View Post
I have class now, so just give me 3-4 hours ;p
KoOL

I'll close the forum back up...Thank you!!!!!
Reply With Quote
  #8  
Old 01-06-2009, 01:20 AM
Bellardia Bellardia is offline
 
Join Date: Jul 2007
Location: Hamilton, Ontario
Posts: 378
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Open a plaintext editor, paste in the code below, and save it as something. Upload it as a product.
Where you want the names to appear, place '$Top5' in the template, and they will be inserted in yellow color. You can specify your own color of yellow by finding and replacing '#ff0' with any hex color of your choice. I just used the default yellow because I don't know what you're after

Please don't repost, submit, or distribute without asking!
Feel free to use as you need.
1 Query, 0 File edits, 0 Uploads
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>

<product productid="top5posters" active="1">
	<title>Top 5 Posters</title>
	<description>Gets a string of the top five posters, and parses where $Top5 is included in a template</description>
	<version>0.1</version>
	<url />
	<versioncheckurl />
	<dependencies>
	</dependencies>
	<codes>
	</codes>
	<templates>
	</templates>
	<plugins>
		<plugin active="1" executionorder="5">
			<title>Top5Posters</title>
			<hookname>forumhome_start</hookname>
			<phpcode><![CDATA[global $vbulletin;
$GrabString = $vbulletin->db->query_read("select `username`, `posts` from `".TABLE_PREFIX."user` ORDER BY `posts` DESC limit 0, 4;");
while ($GrabTop = $vbulletin->db->fetch_array($GrabString))
{
	$Top5Store[] = '<tr><td width="100%">'.$GrabTop['username'].'</td><td style="white-space:nowrap">'.$GrabTop['posts'].'</td></tr>';	
}
$Top5Store = '<table width="100%" border="0" style="color:#FF0">'.implode('', $Top5Store).'</table>';
htmlspecialchars_uni($Top5Store);
build_datastore('TopPosters', $Top5Store);
unset($GrabTop, $Top5Store, $GrabString);]]></phpcode>
		</plugin>
		<plugin active="1" executionorder="10">
			<title>Parse Names</title>
			<hookname>global_start</hookname>
			<phpcode><![CDATA[$Top5 = $vbulletin->TopPosters;]]></phpcode>
		</plugin>
		<plugin active="1" executionorder="5">
			<title>DataStore</title>
			<hookname>init_startup</hookname>
			<phpcode><![CDATA[$datastore_fetch[] = "'TopPosters'";
$Top5 = $vbulletin->TopPosters;]]></phpcode>
		</plugin>
	</plugins>
	<phrases>
	</phrases>
	<options>
	</options>
	<helptopics>
	</helptopics>
	<cronentries>
	</cronentries>
	<faqentries>
	</faqentries>
</product>
Reply With Quote
  #9  
Old 01-06-2009, 02:46 AM
Ghost Shadow's Avatar
Ghost Shadow Ghost Shadow is offline
 
Join Date: Aug 2005
Posts: 66
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

First, thank you for the time you spent on writing this code.

It partially works. Does not show the number of posts. Just shows users in sequence separated by a comma.
Reply With Quote
  #10  
Old 01-06-2009, 02:52 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

1) You do not need to evaluate that code...
2) And therefore, do not need addslashes().
3) You should run htmlspecialchars_uni() on the username.
4) This is the sort of data that the datastore should cache. No one cares if the data is 10 minutes off or so...
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 01:17 PM.


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.11770 seconds
  • Memory Usage 2,263KB
  • Queries Executed 11 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_code
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)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
  • (10)postbit
  • (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_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