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

Reply
 
Thread Tools
Who viewed this thread? Details »»
Who viewed this thread?
Version: 1.00, by Johannes de Le?n Johannes de Le?n is offline
Developer Last Online: Aug 2006 Show Printable Version Email this Page

Version: 3.5.0 RC2 Rating:
Released: 06-29-2005 Last Update: Never Installs: 76
DB Changes Uses Plugins Template Edits
 
No support by the author.

This is a port of: https://vborg.vbsupport.ru/showthread.php?t=61222
(ported with permission)

Who viewed this thread?
This hack shows who has viewed any thread. View the screenshot to see how it looks.

Details
1 Query
1 New Phrase
1 Template Edit
1 Plugin XML

Screenshots
Available here, though now the box appears below the Current Active Users instead of above the post reply button, and it is not collapsible anymore.

Credits
Gary King, for allowing me to port his hack.

-----------

Instructions

Run query [sql]ALTER TABLE thread ADD whoviewed TEXT NOT NULL;[/sql]

Create new phrase
already_viewed_this_thread / Already viewed this thread:

Edit template
Open SHOWTHREAD and find:
HTML Code:
<!-- currently active users -->
<if condition="$show['activeusers']">
	<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
	<tr>
		<td class="tcat" colspan="2">
			<phrase 1="$totalonline" 2="$numberregistered" 3="$numberguest">$vbphrase[users_viewing_this_thread_x_y_z]</phrase>
		</td>
	</tr>
	<tr>
		<td class="alt1" colspan="2">
			<span class="smallfont">$activeusers</span>
		</td>
	</tr>
	</table>
</if>
<!-- currently active users -->
Below this add:
HTML Code:
<!-- who viewed this thread -->
	<br />
	<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
	<tr>
		<td class="tcat" colspan="2">
			$vbphrase[already_viewed_this_thread]
		</td>
	</tr>
	<tr>
		<td class="alt1" colspan="2">
			<span class="smallfont">$thread[viewers]</span>
		</td>
	</tr>
	</table>
<!-- who viewed this thread -->
Plugin
Just upload it, and it's all done.

Options
If you want to have invisible users in the list, go to the plugin manager, click edit to edit this plugin then add this to the beginning:
HTML Code:
$showinvisible = 1;

Show Your Support

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

Comments
  #2  
Old 06-30-2005, 09:04 PM
.Tim's Avatar
.Tim .Tim is offline
 
Join Date: Jan 2005
Location: Oklahoma City
Posts: 353
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks! Great hack, been waiting for this one a while. Will have a lot of happy users now.
Is there anyway to add the time read to this?

Like it is in this one:

https://vborg.vbsupport.ru/showthread.php?t=61225
Reply With Quote
  #3  
Old 06-30-2005, 09:58 PM
Johannes de Le?n Johannes de Le?n is offline
 
Join Date: Dec 2004
Location: Gallaecia, Las Espa?as
Posts: 36
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by .Tim
Thanks! Great hack, been waiting for this one a while. Will have a lot of happy users now.
Is there anyway to add the time read to this?

Like it is in this one:

https://vborg.vbsupport.ru/showthread.php?t=61225
I'll see what I can do.
Reply With Quote
  #4  
Old 06-30-2005, 10:11 PM
Chris M's Avatar
Chris M Chris M is offline
 
Join Date: Dec 2001
Location: Northampton, England
Posts: 6,186
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

While this is a nice idea, I have to worry about the performance issues associated with this on a large board - Potentially every user could have viewed it, and with a large board which is active the likelyhood of causing performance issues is greatly increased :ermm:

Satan
Reply With Quote
  #5  
Old 07-01-2005, 11:09 AM
Loki12 Loki12 is offline
 
Join Date: Jul 2004
Posts: 152
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Excellent Johannes! I will install when I get home tonight ...
Reply With Quote
  #6  
Old 08-12-2005, 08:41 AM
welo welo is offline
 
Join Date: Jan 2004
Location: Portland, Oregon
Posts: 172
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by hellsatan
While this is a nice idea, I have to worry about the performance issues associated with this on a large board - Potentially every user could have viewed it, and with a large board which is active the likelyhood of causing performance issues is greatly increased
This will create a performance hit if you allow everyone access to it (especially guests). However, you can restrict the usergroups who can see the "who viewed" box (thus eliminating uneccessary queries) by wrapping all the injected template code in an <if> statement:

Code:
<if condition="in_array($bbuserinfo['usergroupid'], array( 5, 6, 7))">
<!-- who viewed this thread code-->
</if>
...will restrict viewing only to admins and mods. Add other usergroups at your discretion.

Installed, and thanks. :up:
Reply With Quote
  #7  
Old 08-12-2005, 10:35 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by welo
This will create a performance hit if you allow everyone access to it (especially guests). However, you can restrict the usergroups who can see the "who viewed" box (thus eliminating uneccessary queries) by wrapping all the injected template code in an <if> statement:
Putting a condition in the template will not stop queries from being executed. Limiting guests, will not have any influence on performance.
Reply With Quote
  #8  
Old 08-12-2005, 11:31 AM
welo welo is offline
 
Join Date: Jan 2004
Location: Portland, Oregon
Posts: 172
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay, replies like that, especially from a moderator, just irk the hell out of me. If you're going to slap down my solution you'd better have one handy that works, or at least tell me why mine won't. If a template condition doesn't render then no query is executed. If you prove me wrong I'll gladly apologize.
Reply With Quote
  #9  
Old 08-12-2005, 11:54 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Simple, this is in general how things work (and don't see it as slapping down, just don't always have the time to give a more extended asnwer):
- PHP Script is run
- Logic of the script is followed
- Script will retrieve all needed information from the database and place the information in variables.
- Once all info is available, the script will evaluate a template, in which the variables get replaced by their values.

As you see a condition placed in a template, only effect what is displayed, not what is retrieved from the database.

I can't give you an alternative solution, because i never even looked into this hack. But if you want to improve performance by excluding guests, you will have to edit the PHP-script to make that it will not query the database if a guest is viewing.
Reply With Quote
  #10  
Old 08-18-2005, 08:36 PM
Wordplay Wordplay is offline
 
Join Date: Nov 2001
Location: Dengoku
Posts: 864
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

just showing my appriciation for the hack, installed! thank you for making it.
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 06:13 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.05642 seconds
  • Memory Usage 2,307KB
  • Queries Executed 23 (?)
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)bbcode_code
  • (3)bbcode_html
  • (3)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
  • (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
  • (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