Пример #1
0
function nv_stat_update()
{
    global $db, $client_info;
    list($last_update) = $db->sql_fetchrow($db->sql_query("SELECT `c_count` FROM `" . NV_COUNTER_TABLE . "` WHERE `c_type` = 'c_time' AND `c_val`= 'last'"));
    $last_year = date("Y", $last_update);
    $last_month = date("M", $last_update);
    $last_day = date("d", $last_update);
    if ($last_year != NV_CURRENTYEAR_FNUM) {
        $query = "UPDATE `" . NV_COUNTER_TABLE . "` SET `c_count`= 0 WHERE (`c_type`='month' OR `c_type`='day' OR `c_type`='hour')";
        $db->sql_query($query);
    } elseif ($last_month != NV_CURRENTMONTH_STXT) {
        $query = "UPDATE `" . NV_COUNTER_TABLE . "` SET `c_count`= 0 WHERE (`c_type`='day' OR `c_type`='hour')";
        $db->sql_query($query);
    } elseif ($last_day != NV_CURRENTDAY_2NUM) {
        $query = "UPDATE `" . NV_COUNTER_TABLE . "` SET `c_count`= 0 WHERE `c_type`='hour'";
        $db->sql_query($query);
    }
    $bot_name = ($client_info['is_bot'] and !empty($client_info['bot_info']['name'])) ? $client_info['bot_info']['name'] : "Not_bot";
    $browser = $client_info['is_mobile'] ? "Mobile" : $client_info['browser']['key'];
    $country = nv_getCountry_from_file($client_info['ip']);
    $query = "UPDATE `" . NV_COUNTER_TABLE . "` SET `c_count`= c_count + 1, `last_update`=" . NV_CURRENTTIME . " WHERE \r\n\t(`c_type`='total' AND `c_val`='hits') OR \r\n\t(`c_type`='year' AND `c_val`='" . NV_CURRENTYEAR_FNUM . "') OR \r\n\t(`c_type`='month' AND `c_val`='" . NV_CURRENTMONTH_STXT . "') OR \r\n\t(`c_type`='day' AND `c_val`='" . NV_CURRENTDAY_2NUM . "') OR \r\n    (`c_type`='dayofweek' AND `c_val`='" . date('l', NV_CURRENTTIME) . "') OR \r\n\t(`c_type`='hour' AND `c_val`='" . NV_CURRENT24HOUR_2NUM . "') OR \r\n\t(`c_type`='bot' AND `c_val`=" . $db->dbescape($bot_name) . ") OR \r\n\t(`c_type`='browser' AND `c_val`=" . $db->dbescape($browser) . ") OR \r\n\t(`c_type`='os' AND `c_val`=" . $db->dbescape($client_info['client_os']['key']) . ") OR \r\n    (`c_type`='country' AND `c_val`=" . $db->dbescape($country[0]) . ")";
    $db->sql_query($query);
    $query = "UPDATE `" . NV_COUNTER_TABLE . "` SET `c_count`= " . NV_CURRENTTIME . " WHERE `c_type`='c_time' AND `c_val`= 'last'";
    $db->sql_query($query);
}
Пример #2
0
/**
 * nv_getCountry_from_cookie()
 *
 * @param mixed $ip
 * @return
 */
function nv_getCountry_from_cookie($ip)
{
    global $global_config, $countries;
    $numbers = preg_split('/\\./', $ip);
    $code = $numbers[0] * 16777216 + $numbers[1] * 65536 + $numbers[2] * 256 + $numbers[3];
    if (isset($_COOKIE[$global_config['cookie_prefix'] . '_ctr'])) {
        $codecountry = base64_decode($_COOKIE[$global_config['cookie_prefix'] . '_ctr']);
        if (preg_match('/^' . $code . '\\.([A-Z]{2})$/', $codecountry, $matches)) {
            if (isset($countries[$matches[1]])) {
                return $matches[1];
            }
        }
    }
    $country = nv_getCountry_from_file($ip);
    $codecountry = base64_encode($code . '.' . $country);
    $livecookietime = time() + 31536000;
    if (isset($_SERVER['SERVER_NAME']) and !empty($_SERVER['SERVER_NAME'])) {
        $cookie_domain = $_SERVER['SERVER_NAME'];
    } else {
        $cookie_domain = $_SERVER['HTTP_HOST'];
    }
    $cookie_domain = preg_replace(array('/^[a-zA-Z]+\\:\\/\\//', '/^([w]{3})\\./'), array('', ''), $cookie_domain);
    $cookie_domain = preg_match('/^([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,6}$/', $cookie_domain) ? '.' . $cookie_domain : '';
    setcookie($global_config['cookie_prefix'] . '_ctr', $codecountry, $livecookietime, '/', $cookie_domain, (bool) $global_config['cookie_secure'], (bool) $global_config['cookie_httponly']);
    return $country;
}
Пример #3
0
<?php

/**
 * @Project NUKEVIET 3.0
 * @Author VINADES.,JSC (contact@vinades.vn)
 * @Copyright (C) 2010 VINADES., JSC. All rights reserved
 * @Createdate 3-6-2010 0:19
 */
if (!defined('NV_IS_MOD_BANNERS')) {
    die('Stop!!!');
}
global $client_info;
$bot_name = ($client_info['is_bot'] and !empty($client_info['bot_info']['name'])) ? $client_info['bot_info']['name'] : "Not_bot";
$browser = $client_info['is_mobile'] ? "Mobile" : $client_info['browser']['key'];
$country = nv_getCountry_from_file($client_info['ip']);
$links = NV_MY_DOMAIN;
$id = $nv_Request->get_int('id', 'get', 0);
if ($id > 0) {
    list($id, $click_url) = $db->sql_fetchrow($db->sql_query("SELECT id, click_url FROM " . NV_BANNERS_ROWS_GLOBALTABLE . " WHERE id='{$id}' AND act='1'"));
    if ($id > 0 and !empty($click_url)) {
        $links = $click_url;
        $time_set = $nv_Request->get_int($module_name . '_clickid_' . $id, 'cookie', 0);
        if ($time_set == 0) {
            $nv_Request->set_Cookie($module_name . '_clickid_' . $id, 3600, NV_LIVE_COOKIE_TIME);
            $db->sql_query("UPDATE " . NV_BANNERS_ROWS_GLOBALTABLE . " SET hits_total=hits_total+1 WHERE id='" . $id . "'");
            $sql = "INSERT INTO " . NV_BANNERS_CLICK_GLOBALTABLE . " (`bid`, `click_time`, `click_day`, `click_ip`, `click_country`, `click_browse_key`, `click_browse_name`, `click_os_key`, `click_os_name`, `click_ref`) \r\n            \t\tVALUES ('" . $id . "', UNIX_TIMESTAMP( ), '0', '" . $client_info['ip'] . "', '" . $country[0] . "', '', '" . $browser . "', '','" . $client_info['client_os']['name'] . "','" . $client_info['referer'] . "');";
            $db->sql_query($sql);
        }
    }
}
echo '<script type="text/javascript">';