Yeah my first hack for vb2.2.7 but then again its compatible with vb2.2.6 as well tested on both
What does this hack do? Just as the title states it calculates the total time online for each user
Configurable::
The time limit before a user is considered inactive is configurable and is included in the install txt file... so if you want a user to be defined as inactive after 3 minutes then there'll be a variable in the script to limit that configure that
Also Configurable is the amount of users to show per page on the leader time online board That is also configurable in the timeonline.php included with the zip...
Features ::
Includes both viewable on the postbit and getinfo templates...
Includes a leader board for the top users time online
What to do? ::
Queries to Run (1)
File Modification (5)
Template Modificatiion (2)
Templates to Add (3)
Files to Upload (1) :: [ timeonline.php ] (forum directory)
It's an easy hack to install (took me a little time to configure) but it looks great imo... probably a hack that will use and that i can see every forum having... why not right Enjoy yet another release... And if you like this hack i would be greatful if you could click install thanks...
Note ::
If for some odd reason you get a division by zero error
find:
PHP Code:
$daysreg = floor((time() - $lead[2]) / 86400);
$daysreg = iif($daysreg == 0,'1','$daysreg'); // checking to see if not registered for more then a day to prevent division by zero
$dotimeperday = floor($lead[3] / $daysreg);
replace with:
PHP Code:
$daysregs = floor((time() - $lead[2]) / 86400);
if($daysregs == 0) { // checking to see if not registered for more then a day to prevent division by zero
$daysreg = 1;
} else {
$daysreg = $daysregs;
}
$dotimeperday = floor($lead[3] / $daysreg);
g-force2k2
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
I'm not anywhere near as good as you on this stuff. I just seem to find more bugs with my setup than anyone else. I figure, if you can fix it to work with my site, then it will work with anyone's site. At least, that's the way it seems most of the time.
Quote:
Originally posted by g-force2k2 Boofo try using this query then? ::
PHP Code:
$totalusers = $DB_site->query_first("
SELECT COUNT(*) AS users
FROM user
WHERE timeonline > 0");
regards... hope that fixes the final issue btw i think you're getting better then me Boofo
$leadtime = $DB_site->query("
SELECT userid, username, joindate, timeonline
FROM user
WHERE userid!=0
ORDER by timeonline DESC LIMIT $startat,$perpage");
replace with:
PHP Code:
$leadtime = $DB_site->query("
SELECT userid, username, joindate, timeonline
FROM user
WHERE userid!=0 AND timeonline > 0
ORDER by timeonline DESC LIMIT $startat,$perpage");
Time online per day is out of whack for everyone but users who register after the hack is installed... any way to change it to start averaging from 0 rather than looking at how long the user has been registered? IMHO, that calc as it is now isn't very useful. I for example have been registered for nearly 3 years, was online 3 hours after installing the hack. Shows my online time as 3 hours, but my per day average as 8 seconds