Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Total Time Online Hack v1.0 Details »»
Total Time Online Hack v1.0
Version: 1.00, by g-force2k2 g-force2k2 is offline
Developer Last Online: May 2008 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 08-27-2002 Last Update: Never Installs: 99
 
No support by the author.

[ Click Here ] to download the latest update!

Nifty Addon by TECK:

[View TECK's Modification]

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

Edit ::
Viewable Demo [ Here ]

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.

Comments
  #232  
Old 10-19-2002, 12:16 AM
BlueVoltage BlueVoltage is offline
 
Join Date: Dec 2001
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes, Please update TECK's code!
Reply With Quote
  #233  
Old 10-19-2002, 03:05 PM
Bison's Avatar
Bison Bison is offline
 
Join Date: Jun 2002
Location: Virginia Beach, Virginia
Posts: 522
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by groovesalad
Anyone know how to make it so regular users can't see how long the Admins have been online?
This will remove the Admin Time Online everywhere BUT the threads.... you' still be able to record the admin's time but it won't show in the "View Leaders" and "User Profile" ...

Open your timeonline.php and search for:

WHERE userid !=0 AND timeonline > 0

Change it to:

WHERE userid > 1 AND timeonline > 0

open up member.php ans search for:

$userinfo[onlinetime] = dotimeonline($userinfo[timeonline]);
if($userinfo[timeonline] > 0) {
eval("\$getinfo_timeonline = \"".gettemplate('getinfo_timeonline')."\";");
} else {
$getinfo_template = "";
}

Replace it with:

if ($userinfo[userid] != 1){
$userinfo[onlinetime] = dotimeonline($userinfo[timeonline]);
if($userinfo[timeonline] > 0) {
eval("\$getinfo_timeonline = \"".gettemplate('getinfo_timeonline')."\";");
} else {
$getinfo_template = "";
}
// +++++++ Start Time Online Hack [ g-force2k2 ] +++++++
}
Reply With Quote
  #234  
Old 10-19-2002, 05:42 PM
Bison's Avatar
Bison Bison is offline
 
Join Date: Jun 2002
Location: Virginia Beach, Virginia
Posts: 522
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

g-force2k2 ...

I would be nice if you modified your code in the zip file to include Teck's additional fixes. I just applied one (To settings.php) and it automatically removed one query from all of my pages.

You've served us well in the past, and personally have done a lot for me behind the scenes.

Everyone (Including the non-coders) here would appreciate it!

Regards,
Rolodex!
Reply With Quote
  #235  
Old 10-20-2002, 06:52 AM
xevito xevito is offline
 
Join Date: Jun 2002
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by Rolodex


This will remove the Admin Time Online everywhere BUT the threads.... you' still be able to record the admin's time but it won't show in the "View Leaders" and "User Profile" ...

Open your timeonline.php and search for:

WHERE userid !=0 AND timeonline > 0

Change it to:

WHERE userid > 1 AND timeonline > 0

open up member.php ans search for:

$userinfo[onlinetime] = dotimeonline($userinfo[timeonline]);
if($userinfo[timeonline] > 0) {
eval("\$getinfo_timeonline = \"".gettemplate('getinfo_timeonline')."\";");
} else {
$getinfo_template = "";
}

Replace it with:

if ($userinfo[userid] != 1){
$userinfo[onlinetime] = dotimeonline($userinfo[timeonline]);
if($userinfo[timeonline] > 0) {
eval("\$getinfo_timeonline = \"".gettemplate('getinfo_timeonline')."\";");
} else {
$getinfo_template = "";
}
// +++++++ Start Time Online Hack [ g-force2k2 ] +++++++
}


What other mods have you installed as my file doesnt contain the same as yours..
Reply With Quote
  #236  
Old 10-20-2002, 12:21 PM
groovesalad groovesalad is offline
 
Join Date: Aug 2002
Posts: 210
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by Rolodex


This will remove the Admin Time Online everywhere BUT the threads.... you' still be able to record the admin's time but it won't show in the "View Leaders" and "User Profile" ...

Open your timeonline.php and search for:

WHERE userid !=0 AND timeonline > 0

Change it to:

WHERE userid > 1 AND timeonline > 0

open up member.php ans search for:

$userinfo[onlinetime] = dotimeonline($userinfo[timeonline]);
if($userinfo[timeonline] > 0) {
eval("\$getinfo_timeonline = \"".gettemplate('getinfo_timeonline')."\";");
} else {
$getinfo_template = "";
}

Replace it with:

if ($userinfo[userid] != 1){
$userinfo[onlinetime] = dotimeonline($userinfo[timeonline]);
if($userinfo[timeonline] > 0) {
eval("\$getinfo_timeonline = \"".gettemplate('getinfo_timeonline')."\";");
} else {
$getinfo_template = "";
}
// +++++++ Start Time Online Hack [ g-force2k2 ] +++++++
}
Yeah, I don't seem to have that either. Here's what I have:

Quote:

if($action == "view_leader") {
$perpage = $usersperpage;
$totalusers = $DB_site->query_first("
SELECT COUNT(*) AS users
FROM user");
$totalpages = ceil($totalusers[0] / $perpage);
if($page == "") {
$page = 1;
}
$startat = ($page-1)*$perpage;
$leadtime = $DB_site->query("
SELECT userid, username, joindate, timeonline
FROM user
WHERE userid!=0
ORDER by timeonline DESC LIMIT $startat,$perpage");
while($lead = $DB_site->fetch_array($leadtime)) {
$userid = $lead[0]; $username = $lead[1]; $joindate = vbdate($dateformat,$lead[2]); $timeonline = dotimeonline($lead[3]);
$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);
$timeperday = dotimeonline($dotimeperday);
eval("\$time_leader.= \"".gettemplate("time_leader")."\";");
}
if($page!=1) {
$prv = $page - 1;
$firstpage = "<a href='timeonline.php?s=$session[sessionhash]&action=view_leader&perpage=$perpage&page=1'\">[ First Page ]</a>";
$prevpage = "<a href='timeonline.php?s=$session[sessionhash]&action=view_leader&perpage=$perpage&page=$prv' \">[ Previous Page ]</a>";
}
if ($page!=$totalpages) {
$nxt = $page+1;
$nextpage = "<a href='timeonline.php?s=$session[sessionhash]&action=view_leader&perpage=$perpage&page=$nxt' \">[ Next Page ]</a>";
$lastpage = "<a href='timeonline.php?s=$session[sessionhash]&action=view_leader&perpage=$perpage&page=$totalpa ges'\">[ Last Page ]</a>";
}
eval("dooutput(\"".gettemplate("time")."\");");
}
and

Quote:

// +++++++ Start Time Online Hack [ g-force2k2 ] +++++++
$userinfo[onlinetime] = dotimeonline($userinfo[timeonline]);
eval("\$getinfo_timeonline = \"".gettemplate('getinfo_timeonline')."\";");
// +++++++ Start Time Online Hack [ g-force2k2 ] +++++++


So, maybe you've got other hacks you're working around?
Reply With Quote
  #237  
Old 10-20-2002, 08:21 PM
Bison's Avatar
Bison Bison is offline
 
Join Date: Jun 2002
Location: Virginia Beach, Virginia
Posts: 522
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can't you see the similarities?

Change this "WHERE userid!=0"

to:

WHERE userid > 1

We all don't have the same hacks on our boards so that may answer your question. Like I did, you have to learn to improvise from others code to get yours to work the way you want.

Peace!
Reply With Quote
  #238  
Old 10-20-2002, 08:24 PM
Bison's Avatar
Bison Bison is offline
 
Join Date: Jun 2002
Location: Virginia Beach, Virginia
Posts: 522
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Place the condition around the code you showed me ....

if ($userinfo[userid] != 1){

// +++++++ Start Time Online Hack [ g-force2k2 ] +++++++
$userinfo[onlinetime] = dotimeonline($userinfo[timeonline]);
eval("\$getinfo_timeonline = \"".gettemplate('getinfo_timeonline')."\";");
// +++++++ Start Time Online Hack [ g-force2k2 ] +++++++
}
Reply With Quote
  #239  
Old 10-21-2002, 04:58 PM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Bump for optimized version
Reply With Quote
  #240  
Old 10-21-2002, 06:16 PM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

A Question: TECK, maybe you can answer this, how many queries does this hack add, and on what pages, w/o your modification?

Also, someone please modify TECK's code so it works, pwease
Reply With Quote
  #241  
Old 10-22-2002, 03:00 PM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

...bump...
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 08:18 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04778 seconds
  • Memory Usage 2,333KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_php
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete