PDA

View Full Version : How would I start this?


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????