Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools
Who Viewed This Thread - Enhanced Version Details »»
Who Viewed This Thread - Enhanced Version
Version: 1.3.1, by Ocean Ocean is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Version: 3.0.3 Rating:
Released: 08-29-2004 Last Update: 12-14-2004 Installs: 69
DB Changes
 
No support by the author.

Who Viewed This Thread - Enhanced Version v1.3.2


Version: 1.3.2
vB Version: 3.0.3
Developer: Ocean
Install Difficulty: Moderately Easy



The original hack this references was done by Gary King (https://vborg.vbsupport.ru/showthread.php?t=61222). I modified his hack in order to gain some additional functionality.

This hack is meant to be installed instead of Gary's original version - not in addition to it (for sanity's sake, as far as managing the code is concerned).


(This was submitted as a seperate hack with Gary's permission. If this belongs in a different group, I'm sure a Moderator will move it accordingly. )


Description:

This hack will allow you to see which users have viewed any given Thread. In addition, there is a second section that is resettable. What this means, is that there are two sections that show a list of users who have viewed the Thread in question.

The first section is a Master List - it shows all users who have viewed that thread at ANY point in time (since the hack was installed).

The second section works like your car's Trip Meter. You can Reset that second section at any time and it will then show only the users that have viewed that thread FROM THAT POINT ON. In addition, this second section will show you the Date/Time of the last Reset, so that you know from what point that second list is showing. This is useful, for example, if you want to be able to see which users have viewed a thread after you have updated it, or after a particular post of interest has been made.

You can choose which UserGroups can view the Who Viewed information, or even if you want all users to be able to see the first section - but only certain UserGroups to see the second.

You can also choose whether you want the Who Viewed information to be displayed directly on the ShowThread page, or if you would prefer to only show a link that opens a Pop Up Window with the Who Viewed information there.




Release Notes:


v1.3.2

Fixed the problem where the Pop-Up Link was visible to users who didn't have permission to view that information. (They still wouldn't be shown the information - but the link shouldn't have been visible to them in the first place)


v1.3.1

Minor modifications to the Aesthetics of the ShowThread page, as well as the Who Viewed Pop Up Window. No functional changes. If you are using v1.3.0, you do not need to upgrade, unless you wish to have the new aesthetics.


v1.3.0

Added the ability to choose whether you want the Who Viewed information to be displayed directly on the ShowThread page (as it was for all prior versions of this hack), or if you would prefer to only show a link that opens a Pop Up Window with the Who Viewed information there. Also consolidated and cleaned up the code.


v1.2.6

Fixed the problem with the "Who Viewed Since" table collapsing the wrong object


v1.2.5

Minor changes to optimize code. No functional changes. If you have v1.2.4, you do not need to upgrade to v1.2.5.


v1.2.4

Reworked the Security Sections so that they are exponentially easier to set. Now, other than choosing which UserGroups you want to have access to this hack, you only need to change ONE variable in order to choose which Security Layout you want to use.


v1.2.3

Updated all of the Security Sections to allow for more flexibility in selecting which UserGroups may view the WhoViewed Information.


v1.2.1

Upgrade Notes have been updated, and an Upgrade Script provided for those who have Gary's original version installed. If you have already successfully installed v1.2 of this hack, there is no need to do anything further.


v1.2

The original hack allowed you to see which users had viewed any particular thread on your board. It was and is an excellent hack - however, I desired some additional functionality, and so I made the following changes:


1. The format of stored User IDs has changed to a comma delineated format. This was done to optimize the code by stripping out the need for an additional explode() and implode().

2. An additional set of information is now being kept and maintained. However, unlike the first set (which will show you who has viewed a particular thread - ever), the second set is resettable at any time by Admins. This gives you a "tripmeter" of sorts, as you can now tell who has viewed a particular thread from the last time you reset that counter for that thread.

3. The date and time of the last reset for each thread is kept and displayed. Otherwise, it would be self-defeating, as you wouldn't remember when you last reset it.

4. This hack has been written so that all functions are for Admins only. Instructions are included for modifying this, if you wish. (Note: Even if you make ALL information viewable to ALL users, only Admins are allowed to Reset Counters. It is recommended that you do not change this)

5. I have the template additions being added at the bottom of the ShowThread page (right above the posting permissions). It seems to make more sense putting it there, as it doesn't get in the way, aesthetically speaking. Basically, if you want to check that section, it's there - if not, you'll never be bothered by it. If you prefer to have it somewhere else, feel free to insert the ShowThread Template portion of the code wherever you wish.



UPGRADE NOTES:

The instructions for this hack assume that you do NOT have any prior version installed.

At the moment, if you already have Gary's original 1.0 version installed, you will either need to completely clear out the existing data, before installing this hack - or you can download the "WhoViewedUpgradeFormat.php" script in order to convert the data format over to the new style.

Instructions are included for upgrading.

Show Your Support

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

Comments
  #62  
Old 10-23-2004, 04:26 PM
Ocean's Avatar
Ocean Ocean is offline
 
Join Date: Mar 2004
Posts: 208
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Alright, everyone - I have a question for you.

I'm looking at filling the requests that this hack show up as a link which opens a Pop Up Window with the requisite information.


The question I'm posing to all of you is this: if I do this, does anyone still feel that it is beneficial to be able to optionally have the information display on the thread itself (the way it does currently)?

Or would everyone unanimously prefer that it only display the information as a Pop Up?


If everyone wants it as a Pop Up, I may not retain the current format. On the other hand, if there are those who like it as it is - I may make it an option, so that you can select which format you prefer.

Let me know.
Reply With Quote
  #63  
Old 10-23-2004, 04:51 PM
bnn121 bnn121 is offline
 
Join Date: May 2004
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I would like to see it as an option...Mine is set to display on admin and staff...but if this where to be visable boaRd wide...then yes a popup would be nice
Reply With Quote
  #64  
Old 10-23-2004, 07:51 PM
rjordan's Avatar
rjordan rjordan is offline
 
Join Date: Sep 2004
Posts: 326
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Personally, I think the popup is what is prefered. You might not want to see who viewed ALL topics, just the ones you really want to monitor. Besides, this might open the door for my previous request !
Reply With Quote
  #65  
Old 10-26-2004, 01:06 PM
Torqued Torqued is offline
 
Join Date: Oct 2004
Location: Houston, TX
Posts: 180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

An option to do either would seem to make everyone happy.
Reply With Quote
  #66  
Old 10-26-2004, 04:48 PM
Ocean's Avatar
Ocean Ocean is offline
 
Join Date: Mar 2004
Posts: 208
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Torqued

An option to do either would seem to make everyone happy.
That's what I figured.

Well, everyone - I'm working on the next version, which will have a user-selectable option to make the "Who Viewed" information available via a Pop Up Window (or, you could choose to see them on the ShowThread page, as it is now).

I should have it released this week, if all goes well.
Reply With Quote
  #67  
Old 10-26-2004, 07:27 PM
Ocean's Avatar
Ocean Ocean is offline
 
Join Date: Mar 2004
Posts: 208
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Alright everyone!

I have just released v1.3.0 of this hack, and I have given you what you asked for: the ability to have the Who Viewed information displayed in a Pop Up, instead of directly in the ShowThread page.


I made it so that you can choose which Display Mode you prefer - to have the Who Viewed information show up directly on the ShowThread page (as it was for all prior versions), or to only show a Link on the ShowThread page that opens a Pop Up Window with the Who Viewed information there.

I also consolidated and cleaned up the code - so now (among other changes) there is a distinct Configuration Section in the ShowThread.php code addition.




For users upgrading from v1.2.6 (and these instructions ONLY apply to users coming from v1.2.6), download the v1.3.0 instructions and do the following:


1. Remove the code addition you previously had added to Misc.php. It is no longer needed.

2. Follow Steps 3-4 in the v1.3.0 Instructions file.

3. Replace the old (v1.2.6) code additions to ShowThread.php with the new version of code (Steps 5-6).

4. Replace the old (v1.2.6) code additions to the SHOWTHREAD Template with the new version of code (Steps 8-9).

5. Follow Steps 10-11 in the v1.3.0 Instructions file.

6. Test to make sure the hack works properly (do this BEFORE you change anything in the Configuration Section).

7. Optional: Edit the Configuration Section in the new Code you just added.


That's it!

Let me know what you think of the new Pop Up functionality!
Reply With Quote
  #68  
Old 10-26-2004, 07:31 PM
Torqued Torqued is offline
 
Join Date: Oct 2004
Location: Houston, TX
Posts: 180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Ocean
Alright everyone!

I have just released v1.3.0 of this hack, and I have given you what you asked for: the ability to have the Who Viewed information displayed in a Pop Up, instead of directly in the ShowThread page.
:angry: Darn you for being so efficient!

I had just installed 1.2.6 this morning!

Thanks! Will try out the upated mod this evening. :banana:
Reply With Quote
  #69  
Old 10-26-2004, 07:38 PM
Ocean's Avatar
Ocean Ocean is offline
 
Join Date: Mar 2004
Posts: 208
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Torqued

:angry: Darn you for being so efficient!

I had just installed 1.2.6 this morning!

Thanks! Will try out the upated mod this evening. :banana:
Sorry about that!

I know how much I hate waiting weeks or months for other developers to make changes or improvements - so I try to not do the same thing.

If it really bothers you, I could start waiting a month or two longer than necessary before releasing new versions... <grin>
Reply With Quote
  #70  
Old 10-27-2004, 05:37 PM
Torqued Torqued is offline
 
Join Date: Oct 2004
Location: Houston, TX
Posts: 180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Ocean
Sorry about that!

I know how much I hate waiting weeks or months for other developers to make changes or improvements - so I try to not do the same thing.

If it really bothers you, I could start waiting a month or two longer than necessary before releasing new versions... <grin>
Nooooooooo!
Reply With Quote
  #71  
Old 10-27-2004, 10:03 PM
Ocean's Avatar
Ocean Ocean is offline
 
Join Date: Mar 2004
Posts: 208
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Torqued

Nooooooooo!
Oh, all right then. Just for you, I released v1.3.1. <grin>

There are no functional changes with v1.3.1 (versus v1.3.0) - I made some minor improvements to the aesthetics, that's all.

I updated the screenshots on the first post in this thread - so you can take a look and decide if you want those changes now, or if you'd rather wait until the next functional release.


For anyone upgrading from v1.3.0 to v1.3.1 - just replace the code inserted into the SHOWTHREAD Template, as well as the entire contents of the WhoViewedTemplate Template. That's it. You're not overwriting any configuration settings - so it's just two quick replacements and you're completely done.
Reply With Quote
  #72  
Old 12-01-2004, 01:30 PM
rh2004 rh2004 is offline
 
Join Date: Nov 2004
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi im confused I done the phrase but and all upto number 6 then I have no idea
what this is talking about, is it a New template, a new file


Code:
6.  Above, Add:



**********







################################################################################
########################## Who Viewed This Thread ##############################

##########################      CONFIGURATION     ##############################
################################################################################







/* 



By default, only Admins can see either of the two sections of "Who Viewed" information, and only Admins can Reset the second section.  





There are three ways you can deviate from this default setup (Regardless of which deviation you may choose, ONLY admins can Reset the second section):





OPTION 1:  If you want ALL users to be able to see BOTH sections of "Who Viewed" information...



	Located immediately below these three options, you will find a line that starts with "$whoviewed_security_option = ".  The number that follows the equals sign indicates which Security Option you wish to use (It is set to "2" by default).  For Option 1, change the number "2" to a "1".





OPTION 2:  If you want to specify ONLY certain UserGroups IN ADDITION to Admins that can see BOTH sections of "Who Viewed" information...



	Located immediately below these three options, you will find a line that starts with "$whoviewed_security_option = ".  The number that follows the equals sign indicates which Security Option you wish to use (It is set to "2" by default).  For Option 2, change the number to "2", if it is not already set that way.



	In addition, in the following section of code, insert the Usergroup IDs of the User Groups that you want this hack to work for.  Each UserGroup ID needs to be surrounded by single-quotes ( ' ), and all but the last one needs to have a comma after each entry.  In the following example, UserGroups 6 and 5 have been specified (although the actual code to be executed only specifies UserGroup 6). Change this to suit your needs.



**********************************************

EXAMPLE

**********************************************



$whoviewed_selective_usergroups = array( 

    '6', 

    '5' 

); 



**********************************************

END OF EXAMPLE

**********************************************



*/







// List of Approved UserGroups

$whoviewed_selective_usergroups = array( 

    '6' 

); 











/*



OPTION 3:  If you want ALL users to see the first section of "Who Viewed" information, but wish to specify that ONLY certain UserGroups can see the second section of "Who Viewed" information...



	Located immediately below these three options, you will find a line that starts with "$whoviewed_security_option = ".  The number that follows the equals sign indicates which Security Option you wish to use (It is set to "2" by default).  For Option 3, change the number "2" to a "3".



	In addition, set the List of Approved UserGroups above as described in Option 2.





*/









// Set the number on this line equal to which Security Option you chose.  It is set to 2, by default.
$whoviewed_security_option = 2;







/*



DISPLAY METHOD:



Display Option 1:	All "Who Viewed" information is displayed right on the ShowThread page.



Display Option 2:	The ShowThread page will have a link which opens a Pop Up Window with the "Who Viewed" information.



*/





// Set the number on this line equal to which Display Option you chose.  It is set to 1, by default.

$whoviewed_display_option = 1;






################################################################################

##########################         End of         ##############################
########################## Who Viewed This Thread ##############################

##########################      CONFIGURATION     ##############################
################################################################################


















// Section - Check if user has already viewed thread, and add UserID if they have not





$showinvisible = 1; 



// Get who has already viewed this thread 

$currentthread = $DB_site->query_first("SELECT whoviewed FROM ".TABLE_PREFIX."thread WHERE threadid = $threadid"); 

$currentthread2 = $DB_site->query_first("SELECT whoviewedcounter FROM ".TABLE_PREFIX."thread WHERE threadid = $threadid"); 

$userinfo = fetch_userinfo($bbuserinfo['userid']); 



if (!$userinfo['invisible'] OR $showinvisible) 

{ 

    if (!empty($currentthread['whoviewed'])) 

    { 

        $vieweduserids = explode(",", $currentthread['whoviewed']); 

        if (!in_array($bbuserinfo['userid'], $vieweduserids)) 

        { 

            $adduserid = ",".$bbuserinfo[userid]; 

            $DB_site->query("UPDATE " . TABLE_PREFIX . "thread SET whoviewed = CONCAT(whoviewed, '$adduserid') WHERE threadid = $threadid"); 

        } 

    } 

    else 

    { 

        $DB_site->query("UPDATE " . TABLE_PREFIX . "thread SET whoviewed = $bbuserinfo[userid] WHERE threadid = $threadid"); 

    } 





// Duplicate Set



    if (!empty($currentthread2['whoviewedcounter'])) 

    { 

        $vieweduserids2 = explode(",", $currentthread2['whoviewedcounter']); 

        if (!in_array($bbuserinfo['userid'], $vieweduserids2)) 

        { 

            $adduserid = ",".$bbuserinfo[userid]; 

            $DB_site->query("UPDATE " . TABLE_PREFIX . "thread SET whoviewedcounter = CONCAT(whoviewedcounter, '$adduserid') WHERE threadid = $threadid"); 

        } 

    } 

    else 

    { 

        $DB_site->query("UPDATE " . TABLE_PREFIX . "thread SET whoviewedcounter = $bbuserinfo[userid] WHERE threadid = $threadid"); 

    } 





} 


	

// End Section - Check if user has already viewed thread, and add UserID if they have not








// Main "Who Viewed" Function



function whoviewedfunction()
{


	// Globalize all variables to that external variables are available within the function, and so internal variables are available outside the function



	global $showinvisible, $DB_site, $threadid, $userinfo, $bbuserinfo, $currentthread, $thread, $vbphrase, $user, $session;

	global $currentthread, $currentthread2, $vieweduserids, $adduserid, $vieweduserids2, $whoviewed_selective_usergroups, $whoviewed_security_option, $whoviewed_group_approved, $show_whoviewed, $result, $viewers, $result2, $viewers2, $whoviewedreset, $whoviewed_display_option;

	

	

	

	

	

	

	

	// Section - Security - Evaluate if user has permission to view "Who Viewed" information, and which sections they have permissions to access

	
	
	
	if ((in_array($bbuserinfo['usergroupid'], $whoviewed_selective_usergroups)) OR (in_array($bbuserinfo['membergroupids'], $whoviewed_selective_usergroups)))
	{
	
		$whoviewed_group_approved = true;
	
	}
	else
	{
	
		$whoviewed_group_approved = false;
	
	}
	

	
	if ( ($whoviewed_group_approved == true) OR ($whoviewed_security_option == 1) OR ($whoviewed_security_option == 3))
	
	{
		
		

		$show_whoviewed = true; 

		
		
		

		// End Section - Security - Evaluate if user has permission to view "Who Viewed" information, and which sections they have permissions to access

		

		

		

		// Section - Get list of users who has viewed this thread - First Counter

		

		

		if (empty($currentthread['whoviewed'])) 

		{ 

		    $thread['viewers'] = '('.strtolower($vbphrase['none']).')'; 

		} 

		else 

		{ 

		    $result = $DB_site->query("SELECT userid, username FROM " . TABLE_PREFIX . "user WHERE userid IN ($currentthread[whoviewed])"); 

		    $viewers = array(); 

		    while ($user = $DB_site->fetch_array($result)) 

		    { 

		            array_push($viewers, "<a href=\"member.php?".$session['sessionurl'] . "u=".$user['userid'] . "\">" . htmlspecialchars($user['username']) .    "</a>"); 

		    } 

		    $thread['viewers'] = implode(", ", $viewers); 

		} 

		

	

		// End Section - Get list of users who has viewed this thread - First Counter

	

	

	

		// Section - Get list of users who has viewed this thread - Second Counter

	

		

		if (empty($currentthread2['whoviewedcounter'])) 

		{ 

		    $thread['viewerscounter'] = '('.strtolower($vbphrase['none']).')'; 

		} 

		else 

		{ 

		    $result2 = $DB_site->query("SELECT userid, username FROM " . TABLE_PREFIX . "user WHERE userid IN ($currentthread2[whoviewedcounter])"); 

		    $viewers2 = array(); 

		    while ($user = $DB_site->fetch_array($result2)) 

		    { 

		            array_push($viewers2, "<a href=\"member.php?".$session['sessionurl'] . "u=".$user['userid'] . "\">" . htmlspecialchars($user['username']) .    "</a>"); 

		    } 

		    $thread['viewerscounter'] = implode(", ", $viewers2); 

		} 

	

	

		// End Section - Get list of users who has viewed this thread - Second Counter

		

	

		

		// Section - Get the date/time of last reset
	

		
		if ($thread['whoviewedreset'] != '0')

		{

		

		//	$whoviewedreset = vbdate($vboptions[dateformat], '$thread[whoviewedreset]');

			$whoviewedreset = vbdate("m/d/Y - h:i a", $thread[whoviewedreset]);

		

		}

		

		else

		{

		

			$whoviewedreset = "Never";

		

		}

		

	

		// End Section - Get the date/time of last reset

		

		
	
	}
	
	else
	{
	

	        $show_whoviewed = false; 

	

	}

	

	

}





// End of Main "Who Viewed" Function











if ($whoviewed_display_option == 1)

{





	whoviewedfunction();





}







if ($_REQUEST['do'] == 'whoviewedpopup')
{
	// global.php handles $threadid..
	//$threadid = intval($threadid);

	$thread = verify_id('thread', $threadid, 1, 1);
	$forumperms = fetch_permissions($thread['forumid']);

	if (!($forumperms & CANVIEW))
	{
		print_no_permission();
	}
	if (!($forumperms & CANVIEWOTHERS) AND ($thread['postuserid'] != $bbuserinfo['userid'] OR !$bbuserinfo['userid']))
	{
		print_no_permission();
	}



	whoviewedfunction();




	unset($shutdownqueries['pmpopup']);
	eval('print_output("' . fetch_template('WhoViewedTemplate') . '");');






}







if ($_REQUEST['do'] == "resetwhoviewedcounter") 

{ 

	

	if(!is_member_of($bbuserinfo, 6)) // only admins may reset counter (usergroup: 6) 

	{ 

	

		print_no_permission(); 

	

	} 

	

	

	$threadid = addslashes($_REQUEST['threadid']); 

	

	//***insert mysql queries 

	$DB_site->query("UPDATE " . TABLE_PREFIX . "thread SET whoviewedcounter='' WHERE threadid=$threadid");

	$DB_site->query("UPDATE " . TABLE_PREFIX . "thread SET whoviewedreset = " . TIMENOW . " WHERE threadid = $threadid");

	

	

	if ($whoviewed_display_option == 1)

	{

	

		//redirect back to thread 

		$url = "showthread.php?$session[sessionurl]t=$threadid"; 

		eval(print_standard_redirect('redirecting')); 

	

	}

	

	

	if ($whoviewed_display_option == 2)

	{

	

		//redirect back to Pop Up Window 

		$url = "showthread.php?$session[sessionurl]do=whoviewedpopup&amp;t=$threadid"; 

		eval(print_standard_redirect('redirecting')); 

	

	}







}





********************************





7.  Optional Step:  In the code you just added in the previous step, there is a Configuration Section. If you wish, you can modify this hack's behavior and permissions there.  Instructions can be found within the Configuration Section.





********************************



8.  Open the "SHOWTHREAD" template and Find:



**********





<!-- forum rules and admin links -->

<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">





********************************



9.  Above, Add:



**********







<br/>



<!-- Section - If the Display Option is set to Pop Up, show the Pop Up Link -->





<if condition="$whoviewed_display_option == 2">





	<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">

	<tr>

		<td class="tcat" colspan="2">

			

		<a href="showthread.php?$session[sessionurl]do=whoviewedpopup&amp;t=$threadid" target="threadpop" onclick="window.open(this.href, this.target, 'width=640, height=400, resizable'); return false;">List users who viewed this thread</a> 



		</td>

	</tr>

	</table>



	<br/>

	<br/>





</if>





<!-- End Section - If the Display Option is set to Pop Up, show the Pop Up Link -->









<!-- Section - If the Display Option is set to ShowThread, show the Who Viewed information right on the ShowThread page -->





<if condition="$whoviewed_display_option == 1">

	





<!-- Master Section - Display Who Viewed information, based on permissions. -->

<!-- Section Note:  "WhoViewedTemplate" Template has a mirror of this section -->

	



	<if condition="$show_whoviewed">

		



	

		<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">

		<tbody>

		<tr>

			<td class="tcat" colspan="2">

			<a style="float:right" href="#top" onclick="return toggle_collapse('whoviewed1')"><img id="collapseimg_whoviewed1" src="images/buttons/collapse_tcat.gif" alt="" border="0" /></a>

	

				$vbphrase[already_viewed_this_thread]

	

			</td>

		</tr>

	

		</tbody>

		<tbody id="collapseobj_whoviewed1" style="">

	

		<tr>

			<td class="alt1" colspan="2">

				<span class="smallfont">$thread[viewers]</span>

			</td>

		</tr>

		</tbody>

		</table>



		<br />

		

		

	</if>

	

	

	

	

	<if condition="$whoviewed_group_approved OR $whoviewed_security_option == 1">

	

		

	

		<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">

		<tbody>

		<tr>

			<td class="tcat" colspan="2">

			<a style="float:right" href="#top" onclick="return toggle_collapse('whoviewed2')"><img id="collapseimg_whoviewed2" src="images/buttons/collapse_tcat.gif" alt="" border="0" /></a>

	

	

			$vbphrase[already_viewed_this_thread_since] &nbsp $whoviewedreset &nbsp &nbsp 

			

			

			<if condition="is_member_of($bbuserinfo,6)">

			

				(<a href="showthread.php?$session[sessionurl]do=resetwhoviewedcounter&amp;t=$threadid">Reset Counter</a>)

			

			</if>

			

	

	

			</td>

		</tr>

	

		</tbody>

		<tbody id="collapseobj_whoviewed2" style="">

	

		<tr>

			<td class="alt1" colspan="2">

				<span class="smallfont">$thread[viewerscounter]</span>

			</td>

		</tr>

		</tbody>

		</table>



		<br />

		<br />

		

	

	

	

	</if>





<!-- End Master Section - Display Who Viewed information, based on permissions. -->

	



</if>







<!-- End Section - If the Display Option is set to ShowThread, show the Who Viewed information right on the ShowThread page -->





********************************



10.  In the Parent Style of your choice, create a New Template (Style Manager/<Pulldown Menu> Add New Template) with the following information:



**********





New Template Title:  WhoViewedTemplate





********************************



11.  For the contents of this New Template - "WhoViewedTemplate", enter the following:



**********







$stylevar[htmldoctype]

<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">

<head>

	<title>Who Viewed this Thread? - $vboptions[bbtitle]</title>

	$headinclude

</head>

<body onload="self.focus()" style="margin:0px">



<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%">

<tr>

	<td class="tcat" colspan="1">



		Who Viewed this Thread?

		<div class="smallfont">Thread: <a href="showthread.php?$session[sessionurl]t=$thread[threadid]">$thread[title]</a></div>



	</td>

</tr>



</table>



<br/>

<br/>







<!-- Mirror Section - Display Who Viewed information, based on permissions. -->

<!-- Section Note:  This is a mirror of the Master Section, located in the ShowThread Template addition.  -->









	<if condition="$show_whoviewed">

		



	

		<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">

		<tbody>

		<tr>

			<td class="tcat" colspan="2">

			<a style="float:right" href="#top" onclick="return toggle_collapse('whoviewed1')"><img id="collapseimg_whoviewed1" src="images/buttons/collapse_tcat.gif" alt="" border="0" /></a>

	

				$vbphrase[already_viewed_this_thread]

	

			</td>

		</tr>

	

		</tbody>

		<tbody id="collapseobj_whoviewed1" style="">

	

		<tr>

			<td class="alt1" colspan="2">

				<span class="smallfont">$thread[viewers]</span>

			</td>

		</tr>

		</tbody>

		</table>



		<br />

		

		

	</if>

	

	

	

	

	<if condition="$whoviewed_group_approved OR $whoviewed_security_option == 1">

	

		

	

		<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">

		<tbody>

		<tr>

			<td class="tcat" colspan="2">

			<a style="float:right" href="#top" onclick="return toggle_collapse('whoviewed2')"><img id="collapseimg_whoviewed2" src="images/buttons/collapse_tcat.gif" alt="" border="0" /></a>

	

	

			$vbphrase[already_viewed_this_thread_since] &nbsp $whoviewedreset &nbsp &nbsp 

			

			

			<if condition="is_member_of($bbuserinfo,6)">

			

				(<a href="showthread.php?$session[sessionurl]do=resetwhoviewedcounter&amp;t=$threadid">Reset Counter</a>)

			

			</if>

			

	

	

			</td>

		</tr>

	

		</tbody>

		<tbody id="collapseobj_whoviewed2" style="">

	

		<tr>

			<td class="alt1" colspan="2">

				<span class="smallfont">$thread[viewerscounter]</span>

			</td>

		</tr>

		</tbody>

		</table>



		<br />

		<br />

		

	

	

	

	</if>









<!-- End Mirror Section - Display Who Viewed information, based on permissions. -->







<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%">



<tr>

	<td class="tfoot" colspan="1" align="center"><div class="smallfont">

		<a href="#" onclick="self.close();"><strong>$vbphrase[close_this_window]</strong></a>

	</div></td>

</tr>

</table>



</body>

</html>







********************************











Installation Complete!

Can someone explain please
Reply With Quote
  #73  
Old 12-01-2004, 01:38 PM
Ocean's Avatar
Ocean Ocean is offline
 
Join Date: Mar 2004
Posts: 208
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by rh2004

Hi im confused I done the phrase but and all upto number 6 then I have no idea
what this is talking about, is it a New template, a new file


Can someone explain please
It should be self-explanatory.


Step 5 tells you to find a bit of code in the ShowThread.php file. Step 6 tells you to insert the following segment above the code you found in Step 5.

The segment is defined as the code between


********************************
6. Above, Add:
**********


Insert the code that appears between these two lines of asterisks.



********************************

7. Optional Step: In the code you just added in the previous step, there is a Configuration Section. If you wish, you can modify this hack's behavior and permissions there. Instructions can be found within the Configuration Section.

********************************
Reply With Quote
  #74  
Old 12-01-2004, 01:46 PM
rh2004 rh2004 is offline
 
Join Date: Nov 2004
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So for no 6 I just add:

**********

whats the CONFIGURATION ?
Reply With Quote
  #75  
Old 12-01-2004, 01:51 PM
Ocean's Avatar
Ocean Ocean is offline
 
Join Date: Mar 2004
Posts: 208
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by rh2004

So for no 6 I just add:


**********


whats the CONFIGURATION ?
No, you don't add the asterisks right beneath the instructions for Step 6 - those are meant to be seperators (the same as the last 5 instructions before them) - you add what's between the asterisks. Follow the instructions.

As for the Configuration section - the information you need is written out right there for you. Read it, and you'll understand.
Reply With Quote
  #76  
Old 12-01-2004, 02:26 PM
rh2004 rh2004 is offline
 
Join Date: Nov 2004
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi, I did it this is my showthread.php file...


Code:
$whoviewed_group_approved = true;
	
	}
	else
	{
	
		$whoviewed_group_approved = false;
	
	}
	
	
	if ( ($whoviewed_group_approved == true) OR ($whoviewed_security_option == 1) OR ($whoviewed_security_option == 3))
	
	{
		
		
		$show_whoviewed = true; 
		
		
		
		// End Section - Security - Evaluate if user has permission to view "Who Viewed" information, and which sections they have permissions to access
		
		
		
		// Section - Get list of users who has viewed this thread - First Counter
		
		
		if (empty($currentthread['whoviewed'])) 
		{ 
		    $thread['viewers'] = '('.strtolower($vbphrase['none']).')'; 
		} 
		else 
		{ 
		    $result = $DB_site->query("SELECT userid, username FROM " . TABLE_PREFIX . "user WHERE userid IN ($currentthread[whoviewed])"); 
		    $viewers = array(); 
		    while ($user = $DB_site->fetch_array($result)) 
		    { 
		            array_push($viewers, "<a href=\"member.php?".$session['sessionurl'] . "u=".$user['userid'] . "\">" . htmlspecialchars($user['username']) .    "</a>"); 
		    } 
		    $thread['viewers'] = implode(", ", $viewers); 
		} 
		
	
		// End Section - Get list of users who has viewed this thread - First Counter
	
	
	
		// Section - Get list of users who has viewed this thread - Second Counter
	
		
		if (empty($currentthread2['whoviewedcounter'])) 
		{ 
		    $thread['viewerscounter'] = '('.strtolower($vbphrase['none']).')'; 
		} 
		else 
		{ 
		    $result2 = $DB_site->query("SELECT userid, username FROM " . TABLE_PREFIX . "user WHERE userid IN ($currentthread2[whoviewedcounter])"); 
		    $viewers2 = array(); 
		    while ($user = $DB_site->fetch_array($result2)) 
		    { 
		            array_push($viewers2, "<a href=\"member.php?".$session['sessionurl'] . "u=".$user['userid'] . "\">" . htmlspecialchars($user['username']) .    "</a>"); 
		    } 
		    $thread['viewerscounter'] = implode(", ", $viewers2); 
		} 
	
	
		// End Section - Get list of users who has viewed this thread - Second Counter
		
	
		
		// Section - Get the date/time of last reset
	
		
		if ($thread['whoviewedreset'] != '0')
		{
		
		//	$whoviewedreset = vbdate($vboptions[dateformat], '$thread[whoviewedreset]');
			$whoviewedreset = vbdate("m/d/Y - h:i a", $thread[whoviewedreset]);
		
		}
		
		else
		{
		
			$whoviewedreset = "Never";
		
		}
		
	
		// End Section - Get the date/time of last reset
		
		
	
	}
	
	else
	{
	
	        $show_whoviewed = false; 
	
	}
	
	
}


// End of Main "Who Viewed" Function





if ($whoviewed_display_option == 1)
{


	whoviewedfunction();


}




if ($_REQUEST['do'] == 'whoviewedpopup')
{
	// global.php handles $threadid..
	//$threadid = intval($threadid);

	$thread = verify_id('thread', $threadid, 1, 1);
	$forumperms = fetch_permissions($thread['forumid']);

	if (!($forumperms & CANVIEW))
	{
		print_no_permission();
	}
	if (!($forumperms & CANVIEWOTHERS) AND ($thread['postuserid'] != $bbuserinfo['userid'] OR !$bbuserinfo['userid']))
	{
		print_no_permission();
	}


	whoviewedfunction();


	unset($shutdownqueries['pmpopup']);
	eval('print_output("' . fetch_template('WhoViewedTemplate') . '");');



}



if ($_REQUEST['do'] == "resetwhoviewedcounter") 
{ 
	
	if(!is_member_of($bbuserinfo, 6)) // only admins may reset counter (usergroup: 6) 
	{ 
	
		print_no_permission(); 
	
	} 
	
	
	$threadid = addslashes($_REQUEST['threadid']); 
	
	//***insert mysql queries 
	$DB_site->query("UPDATE " . TABLE_PREFIX . "thread SET whoviewedcounter='' WHERE threadid=$threadid");
	$DB_site->query("UPDATE " . TABLE_PREFIX . "thread SET whoviewedreset = " . TIMENOW . " WHERE threadid = $threadid");
	
	
	if ($whoviewed_display_option == 1)
	{
	
		//redirect back to thread 
		$url = "showthread.php?$session[sessionurl]t=$threadid"; 
		eval(print_standard_redirect('redirecting')); 
	
	}
	
	
	if ($whoviewed_display_option == 1)
	{
	
		//redirect back to Pop Up Window 
		$url = "showthread.php?$session[sessionurl]do=whoviewedpopup&amp;t=$threadid"; 
		eval(print_standard_redirect('redirecting')); 
	
	}



}
//set thread last view
$threadview = fetch_bbarray_cookie('thread_lastview', $thread['threadid']);
if ($thread['pollid'] AND $vboptions['updatelastpost'] AND ($displayed_dateline == $thread['lastpost'] OR $threadview == $thread['lastpost']) AND $pollinfo['lastvote'] > $thread['lastpost'])
{
	$displayed_dateline = $pollinfo['lastvote'];
}

There is no errors but I can't see it anywhere....
Reply With Quote
 


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 04:20 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.05699 seconds
  • Memory Usage 2,432KB
  • Queries Executed 30 (?)
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
  • (2)bbcode_code
  • (7)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
  • (4)pagenav_pagelink
  • (16)post_thanks_box
  • (16)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (16)post_thanks_postbit_info
  • (15)postbit
  • (16)postbit_onlinestatus
  • (16)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