Thread: Administrative and Maintenance Tools - Log Logins Hack
View Single Post
  #25  
Old 08-27-2006, 07:46 PM
serg472 serg472 is offline
 
Join Date: Mar 2005
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quick solution for those who want this mod to log cookie logins as well (UNOFFICIAL, UNSUPPORTED, USE AT YOUR OWN RISK etc.).

The only minor issue after the following modification is that when user logs in using a standart login form it will log this twice - as a standart login and a cookie login. I don't want to modify this hack too much, so I left it as it is.

1. Open product-log_logins.xml and find:
PHP Code:
<phrase name="reg_login" date="0" username="" version=""><![CDATA[Standard]]></phrase
add below:
PHP Code:
<phrase name="cookie_login" date="0" username="" version=""><![CDATA[Cookie]]></phrase
2. Open loginlog.php and find:
PHP Code:
else if ($log['logintype'] == 'modcplogin')
{
    
$log['logintype'] = $vbphrase['mod_login'];

add below:
PHP Code:
else if ($log['logintype'] == 'cookie')
{
    
$log['logintype'] = $vbphrase['cookie_login'];

3. Open includes/class_core.php and find:
PHP Code:
// or maybe we can use a cookie..
if (($gotsession == false OR empty($session['userid'])) AND $userid AND $password AND !defined('SKIP_SESSIONCREATE'))
{
    
    
$useroptions = (defined('IN_CONTROL_PANEL') ? 16 0) + (defined('AVATAR_ON_NAVBAR') ? 0);
    
$userinfo fetch_userinfo($userid$useroptions$languageid);

    if (
md5($userinfo['password'] . COOKIE_SALT) == $password)
    {
        
$gotsession true;
        
        

        
// combination is valid
        
if (!empty($session['sessionhash']))
        {
            
// old session still exists; kill it
            
$db->shutdown_query("
                DELETE FROM " 
TABLE_PREFIX "session
                WHERE sessionhash = '" 
$this->registry->db->escape_string($session['sessionhash']). "'
            "
);
        }

        
$this->vars $this->fetch_session($userinfo['userid']);
        
$this->created true;

        
$this->userinfo =& $userinfo
add below:
PHP Code:
//LOGINS HACK - START
$db->query_write("INSERT INTO " TABLE_PREFIX "logins (userid, username, ipaddress, phpdate, logintype) VALUES (" $this->userinfo['userid'] . ", '" $db->escape_string($this->userinfo['username']) . "', '" $db->escape_string(IPADDRESS) . "', " TIMENOW ", 'cookie')");
//LOGINS HACK - END 
4. Reinstall product.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01124 seconds
  • Memory Usage 1,805KB
  • 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
  • (6)bbcode_php
  • (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