Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 3 Articles

Reply
 
Thread Tools
Adding Currently Active Users to your own vB page
Lynne's Avatar
Lynne
Join Date: Sep 2004
Posts: 41,180

 

California/Idaho
Show Printable Version Email this Page Subscription
Lynne Lynne is offline 08-05-2008, 10:00 PM

Adding Currently Active Users to your own vB page


I've seen a few users asking about how to add the list of Currently Active Users to their own vB page. Below I document the lines of code you must add after creating your own page using one of these articles - How to create your own vBulletin-powered page! (uses vB templates) or [How-To] vBulletin API Basics: Creating Custom Pages & Misc. This article only documents what to add to a working page in order to get your Currently Active Users. You should make sure your page is working first before adding this code. I'll refer to your working page as test.php and the template in your working page as 'TEST'.

Instructions

Open your working php page and ADD the maxloggedin template to the specialtemplates array (your maxloggedin users will get reset all the time if you don't add this - I learned that the hard way!):
PHP Code:
// get special data templates from the datastore
$specialtemplates = array(
    
'maxloggedin',
); 
ADD the forumhome_loggedinuser template to the globaltemplates array so it looks like this:
PHP Code:
// pre-cache templates used by all actions
$globaltemplates = array(
    
'TEST',
    
'forumhome_loggedinuser',
); 
Then ADD the functions_bigthree.php to the required files list so it looks like this:
PHP Code:
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
require_once(
DIR '/includes/functions_bigthree.php'); 
If you are creating this page outside of your normal vb forums directory, you should change directories prior to requiring these files. It would then look like this:
PHP Code:
// ######################### REQUIRE BACK-END ############################
chdir ('/path/to/your/forums');
require_once(
'./global.php');
require_once(
DIR '/includes/functions_bigthree.php'); 
Then open your index.php page and COPY the code between the following START and
END lines. Paste these lines into the main part of your page. (You might want to copy this code from a default index.php if you have modified your index.php page.)

START with:
PHP Code:
// ### LOGGED IN USERS #################################################
$activeusers '';
if ((
$vbulletin->options['displayloggedin'] == OR $vbulletin->options['displayloggedin'] == OR ($vbulletin->options['displayloggedin'] > AND $vbulletin->userinfo['userid'])) AND !$show['search_engine'])

END with:
PHP Code:
    $show['loggedinusers'] = true;
}
else
{
    
$show['loggedinusers'] = false;

Open your template that you made (TEST) and ADD the following code in the table. Make sure it is it's own new table row.
HTML Code:
<!-- logged-in users -->
<tbody>
    <tr>
        <td class="thead" colspan="2">
            <a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumhome_activeusers')"><img id="collapseimg_forumhome_activeusers" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_forumhome_activeusers].gif" alt="" border="0" /></a>
            <a href="online.php$session[sessionurl_q]" rel="nofollow">$vbphrase[currently_active_users]</a>: $totalonline (<phrase 1="$numberregistered" 2="$numberguest">$vbphrase[x_members_and_y_guests]</phrase>)
        </td>
    </tr>
</tbody>
<tbody id="collapseobj_forumhome_activeusers" style="$vbcollapse[collapseobj_forumhome_activeusers]">
    <tr>
        <td class="alt2"><a href="online.php$session[sessionurl_q]" rel="nofollow"><img src="$stylevar[imgdir_misc]/whos_online.gif" alt="$vbphrase[view_whos_online]" border="0" /></a></td>
        <td class="alt1" width="100%">
            <div class="smallfont">
                <div style="white-space: nowrap"><phrase 1="$recordusers" 2="$recorddate" 3="$recordtime">$vbphrase[most_users_ever_online_was_x_y_at_z]</phrase></div>
                <div>$activeusers</div>
            </div>
        </td>
    </tr>
</tbody>
<!-- end logged-in users -->
Also, very important if you want your page to validate correctly!, change the other columns to span 2 columns. ie.
HTML Code:
<tr>
    <td class="tcat" colspan="2">Title</td>
</tr>
<tr>
    <td class="alt1" colspan="2">Text</td>
</tr>
That should do it! I tested this on my 3.6.8 board and on my 3.7.0 board.
Reply With Quote
  #12  
Old 08-21-2008, 04:54 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What does your template look like? It needs to look something like the one shown in the first post in this article - [How-To] vBulletin API Basics: Creating Custom Pages & Misc. Notice how it calls the $header and $navbar, etc. You need to have that template working in your page first. Then you add this code into that template.
Reply With Quote
  #13  
Old 08-22-2008, 08:50 AM
Triky's Avatar
Triky Triky is offline
 
Join Date: Mar 2007
Location: [Italy]
Posts: 728
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oh, ok, I understand. Then, what could be the best solution to do this:

My example.com/index.php page:

http://img398.imageshack.us/img398/5156/38181099fi1.jpg

What I would like to do:

http://img253.imageshack.us/img253/830/11540346fo9.jpg
Reply With Quote
  #14  
Old 08-22-2008, 04:44 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Triky View Post
Oh, ok, I understand. Then, what could be the best solution to do this:

My example.com/index.php page:

http://img398.imageshack.us/img398/5156/38181099fi1.jpg

What I would like to do:

http://img253.imageshack.us/img253/830/11540346fo9.jpg
The best solution would be to use a template for your page - to follow one of those articles I linked to. If you are going to just make a basic php page instead of using a template, then you need to do something like this in your php page when you use any vb variables:

HTML Code:
<!-- logged-in users -->
            <h1>Logged in Users</h1>
            <a href="online.php<?php
            echo $session[sessionurl_q];
            ?>" rel="nofollow"><?php
            echo $vbphrase[currently_active_users];
            ?></a>:&nbsp;<?php
            echo $totalonline;
            ?>
            <div><?php
            echo $activeusers;
            ?></div>
<!-- end logged-in users -->
Reply With Quote
  #15  
Old 08-25-2008, 04:30 PM
Triky's Avatar
Triky Triky is offline
 
Join Date: Mar 2007
Location: [Italy]
Posts: 728
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for your replies, Lynne. That works correctly.
Reply With Quote
  #16  
Old 09-04-2008, 05:01 PM
TheInsaneManiac TheInsaneManiac is offline
 
Join Date: Feb 2008
Posts: 1,360
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've tried this tutorial and only want $activeusers to show up in the mini profile block, however it is not working. Help?
Reply With Quote
  #17  
Old 09-04-2008, 10:38 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You want to show the whole list of active users on each person's profile page? I think you would have to either a) add this code to the member.php page and templates or b) write plugins to add it to the page. I'd opt for plugins, but it's not something I can help with since I don't run 3.7 on my board yet.
Reply With Quote
  #18  
Old 09-05-2008, 04:57 PM
TheInsaneManiac TheInsaneManiac is offline
 
Join Date: Feb 2008
Posts: 1,360
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
You want to show the whole list of active users on each person's profile page? I think you would have to either a) add this code to the member.php page and templates or b) write plugins to add it to the page. I'd opt for plugins, but it's not something I can help with since I don't run 3.7 on my board yet.
I have a test board you can use if you wish.

However I like the A option better. However I tried adding all of your code to the member.php and it did not work.
Reply With Quote
  #19  
Old 09-05-2008, 07:48 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I just don't feel up to learning about the specifics of adding a mini-profile block which is the hard part with what you want to do (adding my own tabs and code was 'fun' enough!). Your best bet is to probably post in the appropriate forums for help doing this sort of modification. Make sure you post exactly what code you wrote to write to the template - that is going to be the challenge.
Reply With Quote
  #20  
Old 09-06-2008, 05:57 PM
TheInsaneManiac TheInsaneManiac is offline
 
Join Date: Feb 2008
Posts: 1,360
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
I just don't feel up to learning about the specifics of adding a mini-profile block which is the hard part with what you want to do (adding my own tabs and code was 'fun' enough!). Your best bet is to probably post in the appropriate forums for help doing this sort of modification. Make sure you post exactly what code you wrote to write to the template - that is going to be the challenge.
There should not be any changes? The template and php files are already there. I just don't understand why your tutorial is not working.
Reply With Quote
  #21  
Old 09-06-2008, 08:57 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by TheInsaneManiac View Post
There should not be any changes? The template and php files are already there. I just don't understand why your tutorial is not working.
This article was made to use existing templates. If you didn't put your information into a template, then it's not going to work.

This is down and dirty so you will have to caress it to look how you want. Add all the stuff to the member.php page that it said in the article (make sure you add it *before* the "member_build_blocks_start" hook gets called or the information won't be available to be displayed!), then when you get to the part about adding to the template, do this:

Create a new template called "memberinfo_block_curactive" with this:
HTML Code:
<!-- Currently Active Users -->
<div id="users_mini" class="tborder content_block">
    <h4 class="thead block_title">
        <a href="#top" class="collapse_gadget" onclick="return toggle_collapse('users_mini')"><img id="collapseimg_users_mini" src="$stylevar[imgdir_button]/collapse_generic{$vbcollapse['collapseimg_users_mini']}.gif" alt="" border="0" /></a>
        <a name="users_mini"></a>
        <span class="block_name">Currently Active Users</span>
    </h4>
    <div class="block_content" id="collapseobj_users_mini" style="{$vbcollapse['collapseobj_users_mini']}"><span class="alt1 smallfont block_row"><phrase 1="$recordusers" 2="$recorddate" 3="$recordtime">$vbphrase[most_users_ever_online_was_x_y_at_z]</phrase><br>$activeusers</span></div>
</div>
<!-- / Currently Active Users -->
Create a plugin at hook location "member_build_blocks_start" with this:
PHP Code:
eval('$template_hook[profile_right_first] .= "' fetch_template('memberinfo_block_curactive') . '";'); 

I have NOT tested it on a live site. Use at your own risk!!!!!
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 01:37 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.05007 seconds
  • Memory Usage 2,342KB
  • Queries Executed 26 (?)
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
  • (4)bbcode_html
  • (7)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)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