Koutaru
05-03-2003, 02:34 AM
I want to add a "who's browsing this page" to the webtemplates hack by Logican. I've been looking at the code to Firefly's User Browsing This thread hack
WEBTEMPLATES:
https://vborg.vbsupport.ru/showthread.php?s=&threadid=36419
USERS BROWSING THIS THREAD:
https://vborg.vbsupport.ru/showthread.php?s=&threadid=36841
From what I understand I should create a section in the table user called onpage.
The files I need to edit are functions.php and show.php
I'm not exactly sure WHAT to update though. See, Firefly's hack is to update the thread # the user is on. I don't know if I should update the template # or template name since the URL is pg=templatename.
I'm not exactly sure how to start. If there's anything .. anything you can tell me that will help please do ^^; ! Thanks!
Koutaru
05-05-2003, 08:56 AM
I basically did some very bad coding. I've looked through it though I don't know why it isn't working :paranoid:
In admin/functions.php I added:
// ############## Update the page that the user is in ###########
function updateuserpage($requestedtemplate) {
global $showpageusers, $bbuserinfo, $bypass, $cookietimeout, $shutdownqueries, $noshutdownfunc, $DB_site,
$DB_site->query("UPDATE user SET inforum=0,inthread=0,inpage='$requestedtemplate' WHERE userid='$bbuserinfo[userid]'");
$ourtimenow;
if ($showpageusers AND $bbuserinfo['userid'] != 0 AND !isset($bypass)) {
// This overwrites the shutdown query in sessions.php so we can update the $forumid and not have to run
// two queries
if ($ourtimenow - $bbuserinfo['lastactivity'] > $cookietimeout) {
if ($noshutdownfunc) {
$DB_site->query("UPDATE user SET inforum=0,inthread=0 WHERE userid='$bbuserinfo[userid]'");
} else {
$shutdownqueries[99]="UPDATE user SET lastvisit=lastactivity,lastactivity=$ourtimenow,in forum='0'
WHERE userid='$bbuserinfo[userid]'";
}
} else {
if ($noshutdownfunc) {
$DB_site->query("UPDATE user SET inforum=0,inthread=0 WHERE userid='$bbuserinfo[userid]'");
} else {
$shutdownqueries[99]="UPDATE user SET lastactivity=$ourtimenow,inforum=0 WHERE
userid='$bbuserinfo[userid]'";
}
}
}
}
before
// ############## Send out email notification ############
Then in show.php (from the webtemplates hack) I added
updateuserpage($requestedtemplate);
// Get users browsing this page
if ($showpageusers) {
$datecut = $ourtimenow - $cookietimeout;
$browsers = '';
$comma = '';
$threadusers = $DB_site->query("
SELECT username,invisible,userid
FROM user
WHERE inpage=$requestedtemplate
AND lastactivity>$datecut
AND lastvisit<>lastactivity
");
while ($threaduser = $DB_site->fetch_array($threadusers)) {
if ((!$threaduser['invisible'] or $bbuserinfo['usergroupid'] == 6) and $bbuserinfo['userid'] !=
$threaduser['userid']) {
$userid = $threaduser['userid'];
$username = $threaduser['username'];
if ($threaduser['invisible'] == 1) {
$invisibleuser = '*';
} else {
$invisibleuser = '';
}
eval("\$browsers .= \"".$comma.gettemplate('forumdisplay_loggedinuser')."\";");
$comma = ', ';
}
}
if ((!$bbuserinfo['invisible'] or $bbuserinfo['usergroupid'] == 6) and $bbuserinfo['userid'] <> 0) {
$userid = $bbuserinfo['userid'];
$username = $bbuserinfo['username'];
if ($bbuserinfo['invisible'] == 1) {
$invisibleuser = '*';
} else {
$invisibleuser = '';
}
eval("\$browsers .= \"".$comma.gettemplate('forumdisplay_loggedinuser')."\";");
}
if ($browsers) {
eval("\$onlineusers = \"".gettemplate('showthread_browsing')."\";");
}
}
if (in_array('templatequeryon',$options)) {$requestedtemplate=queryparse($requestedtemplate) ;}
// echo $requestedtemplate;exit;
eval("dooutput(\"".$requestedtemplate."\");");
}
else //user not allowed so we show login page.
{
show_nopermission(); exit;
}
}
before
function queryparse($rt)
// parses query templates
I'm pretty new to PHP so -.-; I might not know what I'm doing at all. Can someone help...
Please????
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.