PDA

View Full Version : [RELEASE vb 1.x 2.0?] High number of users online


Overgrow
13 Mar 2001, 18:37
Object: display the highest number of user sessions your board has ever had.

Disclaimer: for snyx.. I don't use 2.0 so I have no idea if anything has changed. This is for 1.x and I have NOT tested this. I wrote it at work and decided to post it since you needed it ASAP. It's something I will use as well, but I can't install and test until later tonight. There is a good chance this will work on 2.0 if it hasn't changed in this area.


1) Create table

CREATE TABLE highsessions (
high int(10) unsigned DEFAULT '0' NOT NULL,
timestamp int(11) unsigned DEFAULT '0' NOT NULL,
PRIMARY KEY (high)
);


2) Modify your index.php. Find:

if ($displayloggedin==1) {
$datecut=time()-$cookietimeout;
$loggedins=$DB_site->query_first("SELECT COUNT(sessionid) AS sessions FROM session");
$totalonline=$loggedins[sessions];


and under it, ADD:

// record high sessions hack

$oldhighsessions=$DB_site->query_first("SELECT high,timestamp FROM highsessions");
$numberoldhigh=$oldhighsessions[high];
$timeoldhigh=date("M j, Y G:i",$oldhighsessions[timestamp]);

if ($totalonline > $numberoldhigh) {
$DB_site->query("UPDATE highsessions SET high='$totalonline',timestamp='".time()."'");
$numberoldhigh = $totalonline;
$timeoldhigh="right now!";
}

// end high sessions hack


3) Open your forumhome template and use the variable $numberoldhigh wherever you want to display your "record" number of sessions. Use $timeoldhigh to display the date of that record.

enjoy

13 Mar 2001, 20:09
Anyone test this with 2.0 yet?

13 Mar 2001, 20:54
Anyone test this with 1.x yet?


heheh :)

13 Mar 2001, 21:21
You might wanna include a timestamp to recall the date and time when the record was added

13 Mar 2001, 21:31
Uh oh.. a little piece of code is turning into an actual hack.



I changed the first post to now use a timestamp.

13 Mar 2001, 22:18
Well testing this with Beta 3 it doesn't have

if ($displayloggedin==1) {

it has

if ($displayloggedin) {


So I pasted below that and added to my template, but it prints Dec 31, 1969 16:00


Any ideas?

13 Mar 2001, 22:48
Wow it works! 2.0 even... hehe

OK the problem is that when you created the table, there is no value for "TIMESTAMP"

Soooo either you need to enter a value for timestamp manually, or delete the "high" mark and let it set itself again that way it writes a timestamp into the database.

That is assuming there are no errors in my code (haven't tested the timestamp part, just threw it in).

13 Mar 2001, 22:58
Originally posted by Overgrow
. . . . . Disclaimer: for snyx.. I don't use 2.0 so I have no idea if anything has changed . . . . .

LOL! Thankz man, just Kier saved me on that one!

theprof
08 Apr 2001, 06:11
May I please have the code for vB 1.x? It doesnt seem to be working on my board. No values are entered into the highsessions table. Instead, the total number of people are shown as the maximum number.

Spider
15 Apr 2001, 23:01
Looks like a cool hack to me.
Unfortunatly, I have the same problem as theprof.

The date of record keeps standing on Dec 31, 1969 19:00 and the record of simultanious logged in users is the same as the number of users logged in at the moment.

Could you please tell us what to do so that we can enjoy this cool hack too?

[EDIT: Forgot to tell you that I'm using vbb 1.xx]

Greetings,
Spider

Overgrow
25 Apr 2001, 17:46
It sounds like the query is never performing since there is no data in the table to select. Try this...

change:

if ($totalonline > $numberoldhigh) {

to

if ( ($totalonline > $numberoldhigh) or ($numberoldhigh < 1) ) {


Check your highsessions table and see if any data is being entered.

Spider
03 May 2001, 18:33
Great! I finally got it to work.

I changed

if ($totalonline > $numberoldhigh) {

to

if ( ($totalonline > $numberoldhigh) or ($numberoldhigh < 1) ) {

But after that it still didn't work. Then I just went bold, went into the database and setted a
value of 0 in the "high" field. After I did that, it worked like a charm.

Thanks alot for helping me out. :D

Greetings,
Spider

theprof
20 May 2001, 04:31
Thanks!