Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases

Reply
 
Thread Tools
Who's online on non-vB page (with usernames, same rules as Who's Online on forumhome) Details »»
Who's online on non-vB page (with usernames, same rules as Who's Online on forumhome)
Version: 1.00, by Gary King Gary King is offline
Developer Last Online: Jun 2020 Show Printable Version Email this Page

Version: 3.0.0 Rating:
Released: 01-09-2004 Last Update: Never Installs: 64
 
No support by the author.

PLEASE CLICK ON THE INSTALL BUTTON IF YOU INSTALLED THIS! THANKS!

What does this hack do?

Using this hack, you can show who is currently on your forums from anywhere else on your website! The page, though, must be a PHP page.

If you want to display this information on another webpage by integrating it (which you'll probably want to ), just put
PHP Code:
<?php require_once("online.php"); ?>
or
PHP Code:
<?php

require_once("online_external.php");

?>
depending on the location of the online.php file

THE BELOW IS ONLY IF YOU ARE USING ONLINE.PHP

If you are using online.php, then this line of code MUST be at the top of the page!

If you don't want to show the total users online at the top of the page, though, then remove
PHP Code:
print $show
and copy that to wherever you want to show the info instead (remember to surround this with PHP tags, such as:
PHP Code:
<?php

print $show;

?>
THE ABOVE IS ONLY IF YOU ARE USING ONLINE.PHP

Features
  • supports phrases!
  • option to display either usernames or a total number of registered members instead
  • only administrators can see users who choose to be invisible

Instructions

Download the attached online.php if you want to show invisible users to administrators, etc., or download online_external.php if you don't want to worry as much about things , and follow these instructions:
  1. Find
    PHP Code:
    $path "./vb3/"// path to your forums folder, normally /forum/ 
    , change the ./vb3/ to whatever the path is to your forums directory
  2. Find
    PHP Code:
    $showusernames 0// 1 to show usernames online, 0 to only show the number of users online 
    and change $showusernames to 1 if you want to display usernames, instead of the total number of registered members browsing

That's it!

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #22  
Old 01-11-2004, 04:25 PM
Loon Loon is offline
 
Join Date: Nov 2003
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi

I had a similar problem when i made some external site stats for my board. I think it's counting the total number of sessions in the table for members rather than for each unique id

replace:

PHP Code:
SELECT DISTINCT COUNT(userid
with:

PHP Code:
SELECT COUNT(DISTINCT userid
And it should solve the incorrect count of members.
Reply With Quote
  #23  
Old 01-11-2004, 05:31 PM
Gary King's Avatar
Gary King Gary King is offline
 
Join Date: Jan 2002
Posts: 2,046
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Loon
Hi

I had a similar problem when i made some external site stats for my board. I think it's counting the total number of sessions in the table for members rather than for each unique id

replace:

PHP Code:
SELECT DISTINCT COUNT(userid
with:

PHP Code:
SELECT COUNT(DISTINCT userid
And it should solve the incorrect count of members.
Okay could someone please confirm and if it is the correct query then let me know, I'll change in the instructions
Reply With Quote
  #24  
Old 01-12-2004, 04:54 AM
eva2000's Avatar
eva2000 eva2000 is offline
 
Join Date: Oct 2001
Location: Brisbane, Australia
Posts: 577
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Gary W
Okay could someone please confirm and if it is the correct query then let me know, I'll change in the instructions
spot on.. .
PHP Code:
SELECT COUNT(DISTINCT userid
fixed it
Reply With Quote
  #25  
Old 01-12-2004, 11:04 PM
Gary King's Avatar
Gary King Gary King is offline
 
Join Date: Jan 2002
Posts: 2,046
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by eva2000
spot on.. .
PHP Code:
SELECT COUNT(DISTINCT userid
fixed it
Okay I'll change in instructions then
Reply With Quote
  #26  
Old 03-04-2004, 05:22 PM
Yuneek Yuneek is offline
 
Join Date: Feb 2004
Posts: 24
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Gary W
Okay I'll change in instructions then
Okay.. I'm kind of confused.

What directory should online.php be located? I want all the names of the users online to be listed, so, I think I eed to use online.php. I tried putting it in the same directory as my files I want it to be displayed on, but it couldn't find the files it needed such as global.php. So, I tried to put it in the /forum directory, but it overwrote the online.php that vB needs, so I didn't want to do that.

What do I do?
Reply With Quote
  #27  
Old 03-04-2004, 06:41 PM
Gary King's Avatar
Gary King Gary King is offline
 
Join Date: Jan 2002
Posts: 2,046
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If you place the online.php outside of vB directory then just change the path to something else in the require_once() code.
Reply With Quote
  #28  
Old 03-05-2004, 05:02 PM
Yuneek Yuneek is offline
 
Join Date: Feb 2004
Posts: 24
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Errors:
Quote:
Warning: chdir(): No such file or directory (errno 2) in /home/dp/public_html/beta/online.php on line 9

Warning: main(./includes/init.php): failed to open stream: No such file or directory in /home/dp/public_html/forum/global.php on line 18

Fatal error: main(): Failed opening required './includes/init.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/dp/public_html/forum/global.php on line 18
Online.php:
Quote:
<?php

error_reporting(E_ALL & ~E_NOTICE);

$path = "./forum/"; // path to your forums folder, normally /forum/

$phrasegroups = array('wol');

chdir($path);
require_once("/home/dp/public_html/forum/global.php");

$showusernames = 1; // 1 to show usernames online, 0 to only show the number of users online

$datecut = time()-$vboptions['cookietimeout'];

if ($showusernames == 1)
{
$regmembers = $DB_site->query("SELECT DISTINCT username,options FROM ".$tableprefix."user,".$tableprefix."session
WHERE ".$tableprefix."session.userid=".$tableprefix."use r.userid AND ".$tableprefix."session.lastactivity>$datecut
ORDER BY username ASC") or exit("oops2");

while($regmember = $DB_site->fetch_array($regmembers))
{
$regmember['options'] = intval($regmember['options']);

foreach($_USEROPTIONS as $optionname => $optionval)
{
$regmember["$optionname"] = iif($regmember['options'] & $optionval, 1, 0);
}

if ((($regmember['invisible'] == 0)) and $regmemberson or ($bbuserinfo['usergroupid'] == 6 and $regmember['invisible'] == 1))
{
$regmemberson .= ", ";
}

$regmembercomma++;
if ($regmember['invisible'] == 0 or $bbuserinfo['usergroupid'] == 6) {
if ($regmember['invisible'] == 1) {
$userinvisible = "*";
}

$regmemberson .= $regmember['username'].$userinvisible;
} else {
$regmembercomma++;
}
}

if (!$regmemberson)
{
$regmemberson = "(none)";
}

} else {
$regmembers = $DB_site->query_first("SELECT COUNT(DISTINCT userid) AS membersonline FROM ".$tableprefix."session WHERE userid>0 AND ".$tableprefix."session.lastactivity>$datecut" ) or exit("oops3");

$regmemberson = number_format($regmembers['membersonline']);
}

$howmany = substr_count($regmemberson,",");

if (($showusernames == 1 and $howmany >= 1) or ($showusernames == 0 and $regmemberson > 1))
{
$memberstext = $vbphrase['members'];
}
else
{
$memberstext = $vbphrase['member'];
}

$guests = $DB_site->query_first("SELECT COUNT(userid) AS guestsonline FROM ".$tableprefix."session WHERE userid=0 AND ".$tableprefix."session.lastactivity>$datecut" ) or exit("oops4");
if ($guests['guestsonline'] > 1)
{
$gueststext = $vbphrase['guests'];
}
else
{
$gueststext = $vbphrase['guest'];
}
$guestson = number_format($guests['guestsonline']);

$show = $memberstext.' '.strtolower($vbphrase['online']).': '.$regmemberson.'. '.$gueststext.' '.strtolower($vbphrase['online']).': '.$guestson.'.';
?>
Top of PHP page I want to include members on:
Quote:
<?php require_once("online.php"); ?>
Table I want members to show up in, same page as last quote:
Quote:
<table class="online">
<tr>
<td class="online" valign="top">
<span class="head">Who's Online</span><br /><br />
<?php
print $show;
?>
</td>
</tr>
</table>
Online.php and the file I want the members to show up on are in the same directory which is public_html/beta/ and the forum is public_html/forum/.

What am I doing wrong?
Reply With Quote
  #29  
Old 03-05-2004, 07:34 PM
Gary King's Avatar
Gary King Gary King is offline
 
Join Date: Jan 2002
Posts: 2,046
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Yuneek
Errors:


Online.php:


Top of PHP page I want to include members on:


Table I want members to show up in, same page as last quote:


Online.php and the file I want the members to show up on are in the same directory which is public_html/beta/ and the forum is public_html/forum/.

What am I doing wrong?
Change $path = "./forum/"; to $path = "./../forum/";
Reply With Quote
  #30  
Old 03-05-2004, 09:08 PM
webrats webrats is offline
 
Join Date: May 2002
Posts: 102
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

if i still this on a non vb page will it show the users browseing that page as guest?
Reply With Quote
  #31  
Old 03-05-2004, 10:38 PM
Gary King's Avatar
Gary King Gary King is offline
 
Join Date: Jan 2002
Posts: 2,046
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by webrats
if i still this on a non vb page will it show the users browseing that page as guest?
Yep it should I believe.
Reply With Quote
Reply

Thread Tools

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 03:07 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.05337 seconds
  • Memory Usage 2,325KB
  • 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
  • (12)bbcode_php
  • (10)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
  • (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