Esempio n. 1
0
 public function addTime($user)
 {
     $sql = 'INSERT INTO usage(user, day, timestamp) VALUES (:user, date("now", "localtime"), datetime("now", "localtime"))';
     $params = array(':user' => $user);
     if (!$this->db->execute($sql, $params)) {
         $this->log->error("Unable to update time for {$user}");
         return false;
     }
     return true;
 }
Esempio n. 2
0
$isGuest = $uid == -1 || $uid == 0 ? 1 : 0;
$isIntranet = substr($ip, 0, 2) == '10.' ? 1 : 0;
$cTime = time();
$ext = '';
//加载数据库查询类
require SITE_PATH . '/addons/library/SimpleDB.class.php';
//全局配置
$config = (require SITE_PATH . '/config/config.inc.php');
//数据库配置
$dbconfig = !empty($config['ONLINE_DB']) ? array_merge($config, $config['ONLINE_DB']) : $config;
$db = new SimpleDB($dbconfig);
//记录在线统计.
if ($_GET['action'] == 'trace') {
    /* ===================================== step 1 record track ========================================== */
    $sql = "INSERT INTO " . $config['DB_PREFIX'] . "online_logs \n\t\t\t\t(day,uid,uname,action,refer,isGuest,isIntranet,ip,agent,ext)\n\t\t\t\tVALUES ( CURRENT_DATE,'{$uid}','{$uname}','{$action}','{$refer}','{$isGuest}','{$isIntranet}','{$ip}','{$agent}','{$ext}');";
    $result = $db->execute("{$sql}");
    /* ===================================== step 2 update hits ========================================== */
    //memcached更新.写入全局点击量.每个应用的点击量.每个版块的点击量.
    /* ===================================== step 3 update heartbeat ========================================== */
    if (cookie('online_update') + $check_time < $cTime) {
        //刷新用户在线时间
        //设置10分钟过期
        cookie('online_update', $cTime, 7200);
        //$_SESSION['online_pageviews']	=	0;
        //判断是否存在记录.
        if ($uid > 0) {
            $where = "WHERE (uid='{$uid}')";
        } else {
            $where = "WHERE (uid=0 AND ip='{$ip}')";
        }
        $sql = "SELECT uid FROM " . $config['DB_PREFIX'] . "online " . $where;
Esempio n. 3
0
    {
        return $this->queryStr;
    }
}
// 类定义结束
$db = new SimpleDB($config);
$data['publicid'] = safe($_GET['publicid']);
$data['uid'] = safe($_GET['uid']);
$data['module_name'] = isset($_GET['_addons']) ? safe($_GET['_addons']) : safe($_GET['m']);
$data['controller_name'] = isset($_GET['_controller']) ? safe($_GET['_controller']) : safe($_GET['c']);
$data['action_name'] = isset($_GET['_action']) ? safe($_GET['_action']) : safe($_GET['a']);
unset($_GET['publicid'], $_GET['uid'], $_GET['_addons'], $_GET['_controller'], $_GET['_action'], $_GET['m'], $_GET['c'], $_GET['a'], $_GET['mdm']);
$data['param'] = json_encode($_GET);
$data['ip'] = getClientIp();
$data['brower'] = getBrower();
$data['referer'] = $_SERVER['HTTP_REFERER'];
$data['cTime'] = time();
$sql = "INSERT INTO " . $config['DB_PREFIX'] . "visit_log (publicid,uid,module_name,controller_name,action_name,param,ip,brower,referer,cTime) VALUES ( '{$data[publicid]}','{$data[uid]}','{$data[module_name]}','{$data[controller_name]}','{$data[action_name]}','{$data[param]}','{$data[ip]}','{$data[brower]}','{$data[referer]}','{$data[cTime]}');";
// dump ( $sql );
echo $db->execute("{$sql}");
// dump ( $result );
// 自动删除7天前的数据
$file = 'delete_visit_log.lock';
$time = filemtime(RUNTIME_PATH . $file);
$over_time = $data['cTime'] - 7 * 24 * 3600;
if ($time === false || $time < $over_time) {
    $fo = fopen(RUNTIME_PATH . $file, "w");
    $sql = "DELETE FROM " . $config['DB_PREFIX'] . "visit_log where cTime<" . $over_time;
    //dump ( $sql );
    $db->execute("{$sql}");
}