Вход Регистрация
Файл: apwa/includes/hooks/hook_referrers.php
Строк: 34
<?php
//
//    file: includes/hooks/hook_referrers.php
//    author: abdev
//    begin: 07/13/2013
//    version: 0.0.5 - 07/16/2013
//    licence: http://opensource.org/licenses/gpl-license.php GNU Public License
//

// ignore
if ( !defined('IN_PHPBB') )
{
    exit;
}

// define constant
if ( !defined('REFERRERS_TABLE') )
{
    
define('REFERRERS_TABLE'$table_prefix 'referrers');
}

// define main function
function get_ref()
{
    global 
$user$config$db;
    global 
$phpEx;

    
// get the referer
    
$ref_url $user->referer;
    
$ref_url strtolower($ref_url);

    
// remove the sid, if the website runs phpbb too !
    
if ( strpos($ref_url'sid=') !== false )
    {
        
$ref_url preg_replace('/(?)?(&amp;|&)?sid=[a-z0-9]+/'''$ref_url);
        
$ref_url preg_replace("/$phpEx(&amp;|&)+?/""$phpEx?"$ref_url);
    }

    
// get the host
    
$cur_host $config['server_name'] . $config['script_path'];

    if ( !empty(
$ref_url) && (strpos($ref_url$cur_host) === false) )
    {
        
$ref_host substr($ref_urlstrpos($ref_url'//') + 2);
        if ( 
strpos($ref_host'/') === false )
        {
            
$ref_url .= '/';
        }
        else
        {
            
$ref_host substr($ref_host0strpos($ref_host'/'));
        }

        if ( 
substr($ref_host, -1) == '.' )
        {
            
$ref_host substr($ref_host0, -1);
        }

        
$sql 'SELECT ref_url FROM ' REFERRERS_TABLE '
            WHERE ref_url = '' . $db->sql_escape($ref_url) . '''
;
        
$result $db->sql_query_limit($sql1);
        
$found = ($row $db->sql_fetchrow($result));
        
$db->sql_freeresult($result);

        
// get timestamp
        
$now time();

        
$fields = array('ref_ip' => $user->ip'ref_last' => $now);
        if ( !
$found )
        {
            
$fields += array(
                
'ref_host' => $ref_host,
                
'ref_url' => $ref_url,
                
'ref_hits' => 1,
                
'ref_first' => $now,
            );
            
$sql 'INSERT INTO ' REFERRERS_TABLE ' ' $db->sql_build_array('INSERT'$fields);
        }
        else
        {
            
$sql 'UPDATE ' REFERRERS_TABLE '
                SET ref_hits = ref_hits + 1, ' 
$db->sql_build_array('UPDATE'$fields) . '
                WHERE ref_url = '' . $db->sql_escape($ref_url) . '''
;
        }
        
$db->sql_query($sql);
    }
}

// start hook
$phpbb_hook->register('phpbb_user_session_handler''get_ref');
Онлайн: 0
Реклама