Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions

Reply
 
Thread Tools Display Modes
  #1  
Old 02-06-2003, 06:08 PM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Putting the NUMBER of users online on forum on a non-vB page?

I just want to have something on a webpage which is not in my forum's directory, which will say: XX Users online in forum!

How do I grab that number?
Reply With Quote
  #2  
Old 02-06-2003, 06:33 PM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Stick this code somewhere on the page maybe?

PHP Code:
$activeusers "";
$loggedinusers "";
if (
$displayloggedin) {
  
$datecut=time()-$cookietimeout;

  
$loggedins=$DB_site->query_first("SELECT COUNT(*) AS sessions FROM session WHERE userid=0 AND lastactivity>$datecut");
  
$numberguest=$loggedins['sessions'];

  
$numbervisible=0;
  
$numberregistered=0;

  
$loggedins=$DB_site->query("SELECT DISTINCT session.userid,username,invisible,usergroupid
                              FROM session
                              LEFT JOIN user ON (user.userid=session.userid)
                              WHERE session.userid>0 AND session.lastactivity>
$datecut
                              ORDER BY invisible ASC, username ASC"
);
  if (
$loggedin=$DB_site->fetch_array($loggedins)) {
    
$numberregistered++;
    if (
$loggedin['invisible']==or $bbuserinfo['usergroupid']==6) {
      
$numbervisible++;
      
$userid $loggedin['userid'];
      if (
$loggedin['invisible'] == 1) { // Invisible User but show to Admin
        
$invisibleuser '*';
      } else {
        
$invisibleuser '';
      }
      if (
$loggedin['usergroupid'] == and $highlightadmin) {
        
$username "<b><i>$loggedin[username]</i></b>";
      } else if ((
$mod["$userid"] or $loggedin['usergroupid'] == 5) and $highlightadmin) {
        
$username "<b>$loggedin[username]</b>";
      } else {
                                
$username $loggedin['username'];
                        }
      eval(
"\$activeusers = \"".gettemplate('forumhome_loggedinuser')."\";");
    }

    while (
$loggedin=$DB_site->fetch_array($loggedins)) {
      
$numberregistered++;
      
$invisibleuser '';
      if (
$loggedin['invisible']==and $bbuserinfo['usergroupid']!=6) {
        continue;
      }
      
$numbervisible++;
      
$userid=$loggedin['userid'];
      if (
$loggedin['invisible'] == 1) { // Invisible User but show to Admin
        
$invisibleuser '*';
      }
      if (
$loggedin['usergroupid'] == and $highlightadmin) {
            
$username "<b><i>$loggedin[username]</i></b>";
                        } else if ((
$mod["$userid"] or $loggedin['usergroupid'] == 5) and $highlightadmin) {
                                
$username "<b>$loggedin[username]</b>";
                        } else {
                                
$username $loggedin['username'];
                        }
      eval(
"\$activeusers .= \", ".gettemplate('forumhome_loggedinuser')."\";");
    }
  }
  
$DB_site->free_result($loggedins);

  
$totalonline=$numberregistered+$numberguest;
  
$numberinvisible=$numberregistered-$numbervisible;

  
$maxusers=explode(" "gettemplate('maxloggedin',0,0));
  if ((int)
$maxusers[0] <= $totalonline) {
    
$time time();
    
$maxloggedin "$totalonline " $time;
    
$DB_site->query("UPDATE template SET template='$maxloggedin' WHERE title='maxloggedin'");
    
$maxusers[0] = $totalonline;
    
$maxusers[1] = $time;
  }
  
$recordusers $maxusers[0];
  
$recorddate vbdate($dateformat,$maxusers[1]);
  
$recordtime vbdate($timeformat,$maxusers[1]);
  eval(
"\$loggedinusers = \"".gettemplate('forumhome_loggedinusers')."\";"); 
Take from index.php

Regards

- miSt
Reply With Quote
  #3  
Old 02-08-2003, 07:45 PM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You need global.php too though...

Would using phpinclude to include global.php then use that code work?
Reply With Quote
  #4  
Old 02-09-2003, 10:04 AM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Of course you have to include global.php

But do it in the file and not the phpinclude template

- miSt
Reply With Quote
  #5  
Old 02-09-2003, 11:54 AM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

obviously not the php include template
Reply With Quote
  #6  
Old 02-09-2003, 12:01 PM
MUG MUG is offline
 
Join Date: Apr 2002
Posts: 104
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You could:
1) include() config.php
2) connect to the database
3) SELECT count(*) as count FROM session
Reply With Quote
  #7  
Old 02-09-2003, 04:06 PM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by MUG
You could:
1) include() config.php
2) connect to the database
3) SELECT count(*) as count FROM session
I don't know much PHP/sql...could you tell me how to do this?
Reply With Quote
  #8  
Old 02-09-2003, 05:50 PM
MUG MUG is offline
 
Join Date: Apr 2002
Posts: 104
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
<?php
require('path/to/config.php');
$db mysql_connect($servername,$dbusername,$dbpassword) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());

unset(
$servername,$dbusername,$dbpassword,$dbname);

$query mysql_query("SELECT count(*) as count FROM session WHERE lastactivity > ". (time()-3600) ) or die(mysql_error()); //one hour
list($num_online) = mysql_fetch_array($query);
mysql_free_result($query);

mysql_close($db);

echo 
$num_online;
?>
Reply With Quote
  #9  
Old 02-09-2003, 06:09 PM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is the 3600 in there the timeout? Say if I have timeout set at 900 seconds on my forums, would I change it to 900 in that code?
Reply With Quote
  #10  
Old 02-09-2003, 06:12 PM
MUG MUG is offline
 
Join Date: Apr 2002
Posts: 104
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yup.
Reply With Quote
Reply

Thread Tools
Display Modes

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 02:20 PM.


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.04679 seconds
  • Memory Usage 2,292KB
  • Queries Executed 13 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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_postinfo_query
  • fetch_postinfo
  • 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