PDA

View Full Version : Mark forums read then goto who's online


Ian Emu-UK
01-21-2005, 10:40 PM
I have done this myself by 'hacking' (copying and altering a few things is what I'd call it) the markread section in forumdisplay.php

I have all the code from mark read, but have made it markread online and altered the url to online.php?$session[sessionurl] on both occasions.

//##### Mark read Whos online hack #####
if ($_REQUEST['do'] == 'markreadonline')
{
$forumid = intval($_REQUEST['forumid']);
if (!$forumid)
{
if ($bbuserinfo['userid'])
{
$DB_site->query("UPDATE " . TABLE_PREFIX . "user SET lastactivity = " . TIMENOW . ", lastvisit=" . (TIMENOW - 1) . " WHERE userid=$bbuserinfo[userid]");
}
else
{
vbsetcookie('lastvisit', TIMENOW);
}
$url = "online.php?$session[sessionurl]";
eval(print_standard_redirect('markread'));
}
else
{
// temp work around code, I need to find another way to mass set some values to the cookie
$bb_cache_forum_view = unserialize(convert_bbarray_cookie($_COOKIE[COOKIE_PREFIX . 'forum_view']));
require_once('./includes/functions_misc.php');
$childforums = fetch_child_forums($forumid, 'ARRAY');
foreach ($childforums AS $val)
{ // mark the forum and all child forums read
$bb_cache_forum_view["$val"] = TIMENOW;
}
set_bbarray_cookie('forum_view', $forumid, TIMENOW);
if ($foruminfo['parentid'] == -1)
{
$url = "online.php?$session[sessionurl]";
}
else
{
$url = "online.php?$session[sessionurl]";
}
eval(print_standard_redirect('markread_single'));
}
}
//##### End Mark read whos online hack #####
Is there a better/easier way to do this? I don't really understand everthing in there so I don't know what isn't needed or what for this to still work.

Andreas
01-21-2005, 11:00 PM
IMHO, the easiest way would have been:

In forumdisplay.php COMMENT OUT

if ($foruminfo['parentid'] == -1)
{
$url = "$vboptions[forumhome].php?$session[sessionurl]";
}
else
{
$url = "forumdisplay.php?$session[sessionurl]f=$foruminfo[parentid]";
}


After this INSERT

$url = "online.php?$session[sessionurl]";

Ian Emu-UK
01-21-2005, 11:52 PM
I want both as an option (Normal return to forum and Who's online - See attachment) would it work that way?

Sorry to be a pain.