Exemplo n.º 1
0
$dirhelper->deleteOldIPs($fstat_cache_dir . "ip", $fstat_new_user);
//get the user from cache, on success it is a old user is_new is false then
$user->getFromCache(__DIR__ . "/" . $fstat_cache_dir . "ip");
if ($user->is_new) {
    //Daten auswerten
    $current_folder = __DIR__ . "/" . $fstat_data_dir . "stat/" . gmdate("Y", $user->time) . "/" . gmdate("m", $user->time);
    if ($dirhelper->checkExists($fstat_data_dir . "stat") == false || $dirhelper->checkExists($fstat_data_dir . "stat/" . gmdate("Y", $user->time)) == false || $dirhelper->checkExists($current_folder, true) == false) {
        //quit the execution here
        return 0;
    }
    //User Agent Parser
    $parser = new UAS\Parser(__DIR__ . "/" . $fstat_cache_dir, $fstat_update_interval, false, $fstat_update_auto);
    $uaa = $parser->Parse($user->agent);
    //ReferParser
    $ref = new Reference(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : "");
    $ref->parse();
    //Country Parser
    $country = new Country(__DIR__ . "/dbip-country-1.csv", __DIR__ . "/dbip-country-2.csv", __DIR__ . "/dbip-country-3.csv", __DIR__ . "/dbip-country-4.csv", __DIR__ . "/dbip-country-5.csv");
    $country->parse($user->ip);
    //Browser Typ ist bis jetzt nicht deklariert
    $user->type = $uaa['typ'];
    //Daten in XML schreiben:
    $tmp_filename = $current_folder . "/" . gmdate("d", $user->time) . ".xml";
    if (file_exists($tmp_filename)) {
        $xmldoc = new DOMDocument();
        $xmldoc->preserveWhiteSpace = false;
        $xmldoc->formatOutput = true;
        $xmldoc->load($tmp_filename);
        $root = $xmldoc->documentElement;
    } else {
        $xmldoc = new DOMDocument('1.0', 'UTF-8');