Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
  #1  
Old 11-24-2005, 04:30 AM
richard4339's Avatar
richard4339 richard4339 is offline
 
Join Date: Aug 2002
Posts: 32
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Help Finding Code...

I'm trying to write a mod to not count spiders towards the maxloggedin variable that vB stores in the database. I've looked through amykhar's spider hack (with her permission) to try and determine what to do. It's helped me a little bit, as I see how she is popping the spiders to the stack, and unpopping them (technically, its an array, but oh well) to print them. What I'm trying to find is where vB actually counts the maxloggedin variable and updates it in the database. I figure by installing her code there and adding mine to that file, I can get this to work.

My problem is, I can't find where the vB calculates the maxloggedin users. Can anyone help me find this location in the source code?

Thanks.

Note: I asked about this in requests as well, but figured I could work on it on my own too. If you want to see my thread there... https://vborg.vbsupport.ru/showthread.php?t=101401
Reply With Quote
  #2  
Old 11-24-2005, 05:37 AM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The only place I can find where build_datastore() is called to build maxloggedin is in forumhome.php (or index.php if you've got a default install).

Seems a bit flawed, because most of my members dont visit that page (which might explain why my numbers are so low
Reply With Quote
  #3  
Old 11-24-2005, 06:29 PM
richard4339's Avatar
richard4339 richard4339 is offline
 
Join Date: Aug 2002
Posts: 32
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, I was thinking index.php, but that seemed flawed to me too.

*goes to look*
Reply With Quote
  #4  
Old 11-24-2005, 09:04 PM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It is done in the index.php. The number is determined from the session table, and then written to the datastore.

It doesn't matter if people visit the index.php, they are always logged in the session table. All that is needed is that sometimes someone visits index.php to update the counters in the datastore.

You could either count the number of spiders in the index.php, based on the user agent stored in the session table, or add a is_spider column to the session table and set that accordingly at the time the session row is written and then count selecting the is_spider column.
Reply With Quote
  #5  
Old 11-25-2005, 04:18 AM
richard4339's Avatar
richard4339 richard4339 is offline
 
Join Date: Aug 2002
Posts: 32
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What I was thinking was to find where it actually adds the users together to find the number, then add up the number of spiders currently found, and subtract it to find the total number. Its kindof a bad workaround, but it would work.
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 01:09 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.03811 seconds
  • Memory Usage 2,191KB
  • 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
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete