コード例 #1
0
function ParseSubDir($dir)
{
    $unix = new unix();
    $q = new mysql_squid_builder();
    $countDefile = $unix->COUNT_FILES($dir);
    events("{$dir} -> {$countDefile} files on Line: ", __LINE__);
    if ($countDefile == 0) {
        events("ParseSubDir():: {$dir}: no files... remove... ", __LINE__);
        @rmdir($dir);
        return;
    }
    $FINAL = array();
    if (!($handle = opendir($dir))) {
        events("ParseSubDir():: Fatal: {$dir} no such directory", __LINE__);
        return;
    }
    $DUSTBIN["mx.yahoo.com"] = true;
    $DUSTBIN["row.bc.yahoo.com"] = true;
    $DUSTBIN["us.bc.yahoo.com"] = true;
    $DUSTBIN["xiti.com"] = true;
    $c = 0;
    while (false !== ($filename = readdir($handle))) {
        if ($filename == ".") {
            continue;
        }
        if ($filename == "..") {
            continue;
        }
        $targetFile = "{$dir}/{$filename}";
        $arrayFile = unserialize(@file_get_contents($targetFile));
        if (!is_array($arrayFile)) {
            @unlink($targetFile);
            continue;
        }
        if ($GLOBALS["VERBOSE"]) {
            echo "{$targetFile}\n";
        }
        while (list($index, $array) = each($arrayFile)) {
            $words = mysql_escape_string2(trim($array["WORDS"]));
            if ($words == null) {
                continue;
            }
            $sitename = $array["SITENAME"];
            $familysite = $q->GetFamilySites($sitename);
            if (isset($DUSTBIN[$sitename])) {
                continue;
            }
            if (isset($DUSTBIN[$familysite])) {
                continue;
            }
            $ipaddr = $array["ipaddr"];
            $zDate = $array["date"];
            $uid = mysql_escape_string2($array["uid"]);
            $MAC = mysql_escape_string2($array["mac"]);
            $hostname = mysql_escape_string2($array["hostname"]);
            $time = strtotime($zDate);
            $prefix = date("YmdH", $time);
            $zmd5 = md5(serialize($array));
            $account = 0;
            $line = "('{$zmd5}','{$sitename}','{$zDate}','{$ipaddr}','{$hostname}','{$uid}','{$MAC}','{$account}','{$familysite}','{$words}')";
            if ($GLOBALS["VERBOSE"]) {
                echo "{$prefix} -> {$line}\n";
            }
            $f[$prefix][] = $line;
        }
        @unlink($targetFile);
    }
    if (count($f) > 0) {
        inject_array($f);
    }
}
コード例 #2
0
function ParseSquidLogMainError()
{
    if (!is_dir("/var/log/artica-postfix/dansguardian-stats2-errors")) {
        return;
    }
    if (!($handle = opendir("/var/log/artica-postfix/dansguardian-stats2-errors"))) {
        return;
    }
    $unix = new unix();
    $c = 0;
    while (false !== ($filename = readdir($handle))) {
        if ($filename == ".") {
            continue;
        }
        if ($filename == "..") {
            continue;
        }
        $c++;
        $targetFile = "/var/log/artica-postfix/dansguardian-stats2-errors/{$filename}";
        $minutes = $unix->file_time_min($targetFile);
        events("ParseSquidLogMainError():: {$filename} {$minutes}Mn");
        if ($minutes > 2880) {
            @unlink($targetFile);
            continue;
        }
        $array["TABLES"] = unserialize(@file_get_contents($targetFile));
        @unlink($targetFile);
        echo "Inject file {$targetFile}\n";
        events("Inject file {$targetFile} on Line: " . __LINE__);
        inject_array($array["TABLES"]);
        unset($array["TABLES"]);
    }
    events("ParseSquidLogMainError():: Done... ({$c} files)");
}
コード例 #3
0
function PURGE_GLOBAL_QUEUE($QUEUE)
{
    if (count($QUEUE) == 0) {
        return;
    }
    while (list($index, $FINAL_ARRAY) = each($QUEUE)) {
        $NewArray = $GLOBALS["squidtail"]->ArrayToMysql($FINAL_ARRAY);
        if (!is_array($NewArray)) {
            events("Failed Index({$index}), not an array... Load:{$GLOBALS["SYSTEM_INTERNAL_LOAD"]}: on Line: " . __LINE__);
            continue;
        }
        $array["TABLES"][$NewArray[0]][] = $NewArray[1];
    }
    if (count($array["TABLES"]) > 0) {
        events("Injecting " . count($array["TABLES"]) . " lines Load:{$GLOBALS["SYSTEM_INTERNAL_LOAD"]}: on Line: " . __LINE__);
        inject_array($array["TABLES"]);
    }
}