Version: 1.00, by Red Blaze
Developer Last Online: Mar 2016
Version: 3.5.3
Rating:
Released: 01-12-2006
Last Update: Never
Installs: 31
Template Edits
Code Changes Is in Beta Stage
No support by the author.
First off, this is my first modification. It's tiny, it's obvious, but I'm proud of it. I have Zero Tolerance to thank, he did give me some hints and tips.
Description:
This only refreshes the names of the users in the index page of the forums. Not the "currently online" number of users. It could say currently 4 users online, and there's a huge list of usernames.
I don't really see a need of a picture since there's no visual change. It only calls the names of the users currently online and removes them if they're offline without the need of refreshing the index page of the forums.
Edits:
1 Template to edit (FORUMHOME)
1 File to edit (index.php)
First the File Edit:
Open your index.php file in your forum directory.
Find:
Code:
// ### ALL DONE! SPIT OUT THE HTML AND LET'S GET OUTTA HERE... ###
Above add:
Code:
if ($_GET['do'] == 'online')
{
echo $activeusers;
exit;
}
Save, close, then upload index.php file to your forum directory.
<script type='text/javascript'>
<!--
function requestWhoOnline()
{
doReqOnline = new vB_AJAX_Handler(true)
doReqOnline.onreadystatechange(ReqOnlineDone)
doReqOnline.send('index.php?do=online')
}
function ReqOnlineDone()
{
if (doReqOnline.handler.readyState == 4 && doReqOnline.handler.status == 200)
{
fetch_object('whoisonline').innerHTML = doReqOnline.handler.responseText
setTimeout("requestWhoOnline()", 60000)
}
}
setTimeout("requestWhoOnline()", 20000)
-->
</script>
Now Find:
Code:
<div>$activeusers</div>
Replace with:
Code:
<div id="whoisonline">$activeusers</div>
====================
Since this is my first mod, I'd back up the files. Forgive me if this hack has already been done. I made a strict search and found no such thing. I decided to try to do it, and voila! Go me.
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
Please do not start flame-wars in the middle of a hack thread, or any thread for that matter. If you feel like a hack may be too server intensive, then kindly notify the hack author and I'm sure he/she will notify users that the hack is not intended for larger boards...
I have the AJAX shoutbox and my own version of this hack on my site, except I have the shoutbox set to refresh every 10 sec, and the onlilne list set to refresh every 30 sec and I have not noticed any difference in load..
Only problem i have is my online user hack does not work with IE for some unknown reason...
but I guarantee you will be back asking why your server load is spiked through the roof.
I doubt it. A single ajax call, with a single tiny indexed database query, even multipled by a hundred active users, probably only amounts to one typical full page load.
Quote:
Originally Posted by 99SIVTEC
Every time the WOL table is pulled from the database it queries the databse table which in turn places a load on the server.
A typical page refresh runs dozens of queries, and also passes much more data to the client than an ajax xml message. If you modify this hack to run only the WOL page (online.php), it would probably actually reduce server load.
I would just watch the server load. If you have even a semi active board this is going to bring it to the ground.
one thing you could do about server loads is make an admincp setting to determine how often its refreshed. Server loads wouldn't be that bad if it was every 10 or 30 secs since meny people ain't gunna hang arround on teh index for that long.
Alternativly you could make it a manual refresh in either an on mouse over of active users or on the click of a button.
Just in case anyone's wondering, my forum's on the small side so I have less concern about server load.
That said...
As an update to this query:
Quote:
Originally Posted by Tralala
Small forum here. I've replaced names with avatars, using this hack.
My users love it.
Will "AJAX Who's Online" still work for me, updating the avatars displayed instead? That'd be hella cool.
I went ahead and tried it, and these hacks work GREAT together. The avatar display updates on it's own every 60 seconds, without refreshing the whole page! VERY cool indeed.
As far as server load goes, the Who's Online page (online.php) has a default auto-refresh setting (every 60 seconds) that many admins leave on... I don't see how this is much different. Compared to that, this is actually sending less data!
Not many folks leave their browser on the forum home anyway, I don't think... they'd be more likely to stay on UserCP, or inside one of the forums where new threads appear.
In any case, as I mentioned above, I have a small forum. And this is a great hack for me, I appreciate Red Blaze sharing it, and I'm happy that it works so well with the avatar hack I'd already installed!