= FROM_UNIXTIME("'.(int)$expire.'");'); if (!isset($res[0][0])) { $browser = UserAgent::extractInfos($datas['ua']); if ($browser['id'] == 1000) { $browser['id'] = self::getRobotId($datas['ua']); } list($screen_w, $screen_h) = explode('x', $datas['screen']); DB::uQuery('INSERT INTO visitors (site, ip, host, country, screen_w, screen_h, browser, browser_version, browser_engine, browser_os, firstseen, lastseen, uniqueHash) VALUES ("'.(int)$datas['site'].'", \''.DB::esc($datas['ip']).'\', \''.DB::esc(gethostbyaddr($datas['ip'])).'\', \''.self::getUserCountry($datas['ip']).'\', \''.(int)$screen_w.'\', \''.(int)$screen_h.'\', \''.DB::esc($browser['id']).'\', \''.DB::esc($browser['version']).'\', \''.DB::esc($browser['engine']).'\', \''.DB::esc($browser['os']).'\', FROM_UNIXTIME("'.$datas['time'].'"), FROM_UNIXTIME("'.$datas['time'].'"), "'.DB::esc($hash).'");'); $id = DB::getInsertId(); if (!empty($datas['plugins'])) { $query = array(); $plugins = explode(',', $datas['plugins']); foreach ($plugins as $plugin) { if ($plugin_id = UserAgent::getPluginId($plugin)) { $query[] = '("'.(int)$plugin_id.'", "'.(int)$id.'")'; } } if (!empty($query)) { DB::uQuery('INSERT IGNORE INTO visitor_plugins (plugin_id, visitor_id) VALUES '.implode(',', $query).';'); } } if (!empty($datas['langs'])) { $query = array(); $langs = UserAgent::extractLangs($datas['langs']); foreach ($langs as $prio=>$lang) { $query[] = '("'.DB::esc($lang).'", "'.(int)$id.'", "'.(int)$prio.'")'; } if (!empty($query)) { // FIXME: ne fonctionne pas ! DB::uQuery('INSERT INTO visitor_langs (lang, visitor_id, priority) VALUES '.implode(',', $query).';'); } } } else { $id = $res[0][0]; DB::uQuery('UPDATE visitors SET lastseen=FROM_UNIXTIME("'.$datas['time'].'") WHERE id="'.(int)$id.'";'); } if (!empty($datas['page']) && !empty($datas['uri'])) { DB::uQuery('INSERT INTO visitor_pages (page, uri) VALUES("'.DB::esc($datas['page']).'", "'.DB::esc($datas['uri']).'") ON DUPLICATE KEY UPDATE id=id;'); $page = '"' . DB::getInsertId() . '"'; } else { $page = 'NULL'; } if (!empty($datas['referrer'])) { $referrer = '"' . self::getReferrerId($datas['referrer']) . '"'; } else { $referrer = 'NULL'; } $marqueur = !empty($datas['marqueur']) ? '"'.(int)$datas['marqueur'].'"' : 'NULL'; $loadTime = !empty($datas['loadTime']) ? '"'.(float)$datas['loadTime'].'"' : 'NULL'; DB::uQuery('INSERT INTO logs (marqueur, site, visitor_id, page_id, referrer_id, load_time, time) VALUES ('.$marqueur.', "'.(int)$datas['site'].'", "'.(int)$id.'", '.$page.', '.$referrer.', '.$loadTime.', FROM_UNIXTIME("'.$datas['time'].'") );'); return true; } } ?>