function VOLUME_LOG_HOURLY_DUMP($MEM)
{
    return;
    $FINAL = array();
    $q = new influx();
    if (count($MEM) == 0) {
        events("No data sent by previous function ( feature should disabled )...");
        return;
    }
    while (list($KEYMD5, $subarray) = each($MEM)) {
        $array["precision"] = "s";
        $array["time"] = $subarray["TIME"];
        $array["fields"]["TIME"] = $subarray["ZDATE"];
        $array["fields"]["RQS"] = $subarray["RQS"];
        $array["fields"]["SIZE"] = $subarray["SIZE"];
        $array["tags"]["uid"] = $subarray["USERID"];
        $array["tags"]["MAC"] = $subarray["MAC"];
        $array["tags"]["IPADDR"] = $subarray["IPADDR"];
        $array["tags"]["familysite"] = $subarray["FAMILYSITE"];
        $array["tags"]["contenttype"] = $subarray["CONTENT_TYPE"];
        $array["tags"]["proxyname"] = $subarray["PROXYNAME"];
        $line = $q->prepare("contenttype", $array);
        if ($GLOBALS["VERBOSE"]) {
            echo "{$line}\n";
        }
        $FINAL[] = $line;
    }
    if (count($FINAL) == 0) {
        events("No data sent by previous function ( feature should disabled )...");
        return;
    }
    if (count($FINAL) > 0) {
        $backupdir = "{$GLOBALS["LogFileDeamonLogDir"]}/volume-backup";
        $faildir = "{$GLOBALS["LogFileDeamonLogDir"]}/volume-failed";
        @mkdir($faildir, 0755, true);
        @mkdir($backupdir, 0755, true);
        $backupfile = "{$backupdir}/" . time() . ".influx.log";
        $failedPath = "{$faildir}/" . time() . ".influx.log";
        if (!$q->bulk_inject($FINAL)) {
            events("INJECTION Failed: backup to {$failedPath} ({$q->curl_error})");
            @file_put_contents($failedPath, @implode("\n", $FINAL));
            return false;
        }
        events("INJECTION Success: backup to {$backupfile}");
        @file_put_contents($backupfile, @implode("\n", $FINAL));
        $FINAL = array();
    }
    return true;
}
function tests_import()
{
    $q = new influx();
    $array[] = "access_log,CATEGORY=,USERID=,IPADDR=192.168.1.206,MAC=9c:02:98:8c:ee:b9,SITE=198.38.120.151,FAMILYSITE=198.38.120.151,proxyname=routeur.touzeau.biz SIZE=19724540,ZDATE=2015,RQS=186 " . time();
    $q->bulk_inject($array);
}
function UFDB_LOG_HOURLY_DUMP($MEM)
{
    events("Dumping " . count($MEM) . " entries");
    $q = new influx();
    while (list($KEYMD5, $subarray) = each($MEM)) {
        $array["precision"] = "s";
        $array["time"] = $subarray["TIME"];
        $array["tags"]["uid"] = $subarray["uid"];
        $array["fields"]["TIME"] = $subarray["ZDATE"];
        $array["fields"]["RQS"] = $subarray["RQS"];
        $array["tags"]["category"] = $subarray["category"];
        $array["tags"]["rulename"] = $subarray["rulename"];
        $array["tags"]["public_ip"] = $subarray["public_ip"];
        $array["tags"]["blocktype"] = $subarray["blocktype"];
        $array["tags"]["why"] = $subarray["why"];
        $array["tags"]["hostname"] = $subarray["hostname"];
        $array["tags"]["website"] = $subarray["website"];
        $array["tags"]["client"] = $subarray["client"];
        $line = $q->prepare("webfilter", $array);
        if ($GLOBALS["VERBOSE"]) {
            echo "{$line}\n";
        }
        $FINAL[] = $line;
    }
    if (count($FINAL) > 0) {
        $backupdir = "{$GLOBALS["LogFileDeamonLogDir"]}/webfilter-backup";
        $faildir = "{$GLOBALS["LogFileDeamonLogDir"]}/webfilter-failed";
        @mkdir($faildir, 0755, true);
        @mkdir($backupdir, 0755, true);
        $backupfile = "{$backupdir}/" . time() . ".influx.log";
        $failedPath = "{$faildir}/" . time() . ".influx.log";
        if (!$q->bulk_inject($FINAL)) {
            events("INJECTION Failed: backup to {$failedPath} ({$q->curl_error})");
            @file_put_contents($failedPath, @implode("\n", $FINAL));
            return false;
        }
        events("INJECTION Success: backup to {$backupfile}");
        @file_put_contents($backupfile, @implode("\n", $FINAL));
        $FINAL = array();
    }
    return true;
}