View Single Post
  #5  
Old 01-23-2011, 04:46 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If you just wanted to log the info every time someone accessed a page, you could probably do it in global_start plugin and just fwrite a line to a file, something like:

Code:
$logdir = DIR . '/iplogs';
$logfile = $logdir . '/' . date('Y-m-d', TIMENOW) . '_ip.log';

$fp = fopen($logfile, 'a');
fwrite($fp, IPADDRESS . '|' . $vbulletin->userinfo['username'] . '|' . date(DATE_RFC1123, TIMENOW) . "\n");
fclose($fp);

But what you'd probably want is to log every time a session gets created and not every time a page is requested, and I don't know how you'd do that. There are no hooks where the session gets created (maybe because it's too early and the hook mechanisms haven't been initialized, or maybe just that you shouldn't be messing with it, I don't know). Still, you could edit the files if you really wanted to and you understood the session creation logic. Maybe someone else can help.

BTW, I tried the above and noticed that every page access got me two logged lines, one like I'd expect, and another with "Unregistered" and the user name. I don't know why.

ETA: curiosity got the best of me so I also logged $_SERVER['REQUEST_URI'] and found out that the 'Unregistered' lines are coming from the thing that gets inserted to run cron jobs.

ETA: By coincidence I had reason to look in to some of this stuff, and I found that there's a $vbulletin->session->created that is true only on the page where the session is created, so by checking this you can log only new sessions, or "visits", if that's what you want. One thing about that, if the user is actually logging in it might not contain their user name yet, but I think you could get around that by loggin at a later hook (like maybe global_complete).
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01527 seconds
  • Memory Usage 1,765KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete