The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
![]() |
|||||||||||||||||||||||||
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
|
Comments |
#62
|
||||
|
||||
![]()
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. ![]() |
#63
|
|||
|
|||
![]()
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
|
#64
|
||||
|
||||
![]()
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
![]() |
#65
|
|||
|
|||
![]()
An option to do either would seem to make everyone happy.
![]() |
#66
|
||||
|
||||
![]() Quote:
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. ![]() |
#67
|
||||
|
||||
![]()
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! ![]() |
#68
|
|||
|
|||
![]() Quote:
I had just installed 1.2.6 this morning! ![]() Thanks! Will try out the upated mod this evening. ![]() |
#69
|
||||
|
||||
![]() Quote:
![]() 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> |
#70
|
|||
|
|||
![]() Quote:
![]() ![]() |
#71
|
||||
|
||||
![]() Quote:
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. ![]() |
#72
|
|||
|
|||
![]()
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&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&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]   $whoviewedreset     <if condition="is_member_of($bbuserinfo,6)"> (<a href="showthread.php?$session[sessionurl]do=resetwhoviewedcounter&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]   $whoviewedreset     <if condition="is_member_of($bbuserinfo,6)"> (<a href="showthread.php?$session[sessionurl]do=resetwhoviewedcounter&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 |
#73
|
||||
|
||||
![]() Quote:
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. ******************************** |
#74
|
|||
|
|||
![]()
So for no 6 I just add:
********** whats the CONFIGURATION ? |
#75
|
||||
|
||||
![]() Quote:
As for the Configuration section - the information you need is written out right there for you. Read it, and you'll understand. |
#76
|
|||
|
|||
![]()
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&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.... |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|