Go Back   vb.org Archive > vBulletin Modifications > Archive > Modification Graveyard
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Who has read a Thread Details »»
Who has read a Thread
Version: 3.41, by Paul M Paul M is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Category: Show Thread Enhancements - Version: 3.6.x Rating:
Released: 07-30-2006 Last Update: 03-29-2008 Installs: 1029
DB Changes Uses Plugins Auto-Templates
Translations  
No support by the author.

This modification is no longer available or supported.

This displays who has read a thread, and the time they last looked at it.

Hovering over a name will show when the member last viewed the thread, and (optionally) what IP address they viewed it from (Note: as of v3.34 you can only view the ip addresses in the 'View-All' display).

There is now an option to allow a thread author to view who has read their thread when they are not in one of the allowed usergroups. The IP and number of days restrictions still apply.

A new time set/reset facility has been added. Members allowed to use this facility can click on the 'set' link and it will set a personal 'cutoff' time - only showing who has read the thread after that time. The time can be reset as many times as you want, and also completely cleared again. When using this facility there is also a link to allow you to view a seperate list of all readers of the thread.

A cron job has now been added that can (optionally) delete records from the whoread table that are over a certain age - this is provided for large forums where the number of table entries can start to reach a million or more after 12 months. The delete age is a setting in the ACP.

Warning: When using the set/reset option - there is only a limited capacity of entries per thread (several thousand) - therefore you should only allow this feature to be used by a limited number of people - typically Staff usergroups. Allowing all members to use it will probably slow down your forum and cause errors if more than about 3000 members set a date on one thread.


There are settings for the following (in vBulletin Options > Who Has Read a Thread) ;

1. Turn the system on/off.
2. Restrict the display to certain usergroups
3. Restrict the IP display to certain usergroups.
4. Restrict the display to a set number of days.

New in v3.28

5. Option to allow thread author to view who read information.
6. Option to turn on the who read cutoff date (reset) function
7. Restrict use of reset function to certain usergroups.
8. Option to set whoread data records to be cleaned out after xxx days.

New in v3.39

9. Clicking on a user will display a page of their thread viewing history, most recent first.


Note: When using option 4 or the set/reset facility, the data is still kept beyond this limit, so they can be changed at any time.

Download the zip, extract the XML file and import using the vb Product Manager.


History:

v3.20 : First Release for vb 3.6, a few code changes.
v3.21 : Dependancies updated for 3.6.0 Gold.
v3.22 : Updated for Version Checking.
v3.23 : Internal Development version.
v3.24 : Internal Development version.
v3.25 : Internal Development version.
v3.26 : Internal Development version.
v3.27 : Private release.
v3.28 : Public release of new features.
v3.29 : Fixed bug in clean-up, the setting was hours, not days.
v3.30 : Added options to disable/change auto template insert (not released).
v3.31 : Internal Code Changes, Settings Group renamed.
v3.32 : Minor template change.
v3.33 : SQL Changes to use slave.
v3.34 : Added new template for username display code, made 'View-All' always available.
v3.35 : Added last post marker to 'View-All' display.
v3.36 : Fix uncached templates.
v3.37 : Fixed missing date/time display when 'set' function is used.
v3.38 : Moved auto-template options to mods main settings group.
v3.39 : Version infomation added, display of user thread reading activity added.
v3.40 : Bugfix : Correct bugs reported in posts #308 & #318.
v3.41 : Minor changes to install code only.

Show Your Support

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

Comments
  #442  
Old 03-14-2008, 03:46 PM
yinyang's Avatar
yinyang yinyang is offline
 
Join Date: May 2004
Location: Los Angeles
Posts: 580
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

NICE! anyone try this on 3.7?
Reply With Quote
  #443  
Old 03-29-2008, 05:44 PM
Makc666's Avatar
Makc666 Makc666 is offline
 
Join Date: Dec 2002
Location: MSK-RU
Posts: 392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

(View-All)

1.
ACP -> Who Has Read a Thread
  • Who has read days limit -> 0
  • Enable thread reset feature -> Yes

2.
Having a very-very old thread.
Code:
"Members who have read this thread : 747 (Set)"
3.
In ACP -> Who Has Read a Thread now set:
  • Who has read days limit -> 7

4.
Going to the thread again.
Code:
"Members who have read this thread in the last 7 days : 747 (Set)"
5.
In ACP -> Who Has Read a Thread now set:
  • Who has read days limit -> 1

6.
Going to the thread again.
Code:
"Members who have read this thread in the last 1 days : 747 (Set)"
--------------------------

Also.
If I have noticed that Who has read days limit influence the "(View-All)" URL.

In other words if you have:
  • Who has read days limit -> 0 then "(View-All)" will show you all users
  • Who has read days limit -> 7 then "(View-All)" will show you users who has read the thread in last 7 days
  • Who has read days limit -> 1 then "(View-All)" will show you users who has read the thread in last 1 day

This is very strange.
I think that there is some mess up here.
As "(View-All)" must show all users.
And Who has read days limit must influence who has read a thread feature.
Reply With Quote
  #444  
Old 03-30-2008, 01:24 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The day limit is designed as a cutoff for all views (including View-All) so that part is correct - the only bug is that it is not being used if reset is enabled, but no date has actually been set. In this case it defaults to showing all readers of the thread, ignoring the days limit. That is fixed in version 3.7.004 (the 3.7 version). It will not be fixed in the 3.6 version.
Reply With Quote
  #445  
Old 03-31-2008, 06:03 PM
Makc666's Avatar
Makc666 Makc666 is offline
 
Join Date: Dec 2002
Location: MSK-RU
Posts: 392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Paul M View Post
The day limit is designed as a cutoff for all views (including View-All) so that part is correct
Paul M, a very little question.

I am 100% sure that it will be wonderful if options of this modification allows as to select (set) if we want "View-All" to show as all messages nevertheless (in spite of) "Who has read days limit" option is set to.

It will be really nice if in thread we will be able to see, for example, only last 3 days "reads" and when we press "View-All" we will be able to see all "reads".

Can you please add this one to your future request list?!

Thanks
Maxim
Reply With Quote
  #446  
Old 03-31-2008, 07:27 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry but no, the limit is working as designed and I have no intention of changing it.
Reply With Quote
  #447  
Old 04-02-2008, 11:38 AM
Makc666's Avatar
Makc666 Makc666 is offline
 
Join Date: Dec 2002
Location: MSK-RU
Posts: 392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just a little notice.
There is a point in line of file "Who-has-read-thread.xml"
Code:
<title>Who Has Read a Thread.</title>
Quote:
Originally Posted by Paul M View Post
Sorry but no, the limit is working as designed and I have no intention of changing it.
I think that adding one little option which will be used in IF condition will not brake any functionality.

Now:
Code:
// Set Cutoff Date //
$cutoff = 0;
if ($vbulletin->options['wrtlimit']) 
{
	$cutoff = TIMENOW - 86400 * $vbulletin->options['wrtlimit'];
}
Will be:
Code:
// Set Cutoff Date //
$cutoff = 0;
if ($vbulletin->options['wrtlimit'] AND $vbulletin->options['wrtlimit_all']) 
{
	$cutoff = TIMENOW - 86400 * $vbulletin->options['wrtlimit'];
}
I am ready to assist you if you don't have time for this one
Reply With Quote
  #448  
Old 04-02-2008, 05:58 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Makc666 View Post
I am ready to assist you if you don't have time for this one
Perhaps you didnt understand me. I didnt say anything about not having time. I said I have no intention of changing it. It works as I designed it, and I see no reason to change that design.
Reply With Quote
  #449  
Old 04-02-2008, 07:15 PM
Evolution06 Evolution06 is offline
 
Join Date: May 2006
Location: California
Posts: 161
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Awesome mod! this will help my free hosting site I can see who actually read the TOS now.
Reply With Quote
  #450  
Old 04-03-2008, 04:40 PM
Makc666's Avatar
Makc666 Makc666 is offline
 
Join Date: Dec 2002
Location: MSK-RU
Posts: 392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Paul M View Post
Perhaps you didnt understand me. I didnt say anything about not having time. I said I have no intention of changing it. It works as I designed it, and I see no reason to change that design.
And I thought you didn't understand me
The only reasons for this one I proporsed are:
  1. On the viewthread.php page we have to limit the request to save some database time/page load time
  2. It will be nice to see some times all the list of users who read the thread and when

For me it is.
Any way - I can change it for my need any time
And maybe my proporse will "help" some one

Paul M, thanks for replies
Reply With Quote
  #451  
Old 04-04-2008, 08:55 AM
Golzarion's Avatar
Golzarion Golzarion is offline
 
Join Date: Jan 2008
Posts: 214
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It does not work with 3.7.0 ! any similar hack for 3.7.0 ?
thx
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 05:40 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.05051 seconds
  • Memory Usage 2,328KB
  • 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
  • (6)bbcode_code
  • (4)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
  • (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