Esempio n. 1
0
function ParseHostnames_hours($servername)
{
    $q = new nginx_stats($servername);
    $hourstables = $q->LIST_TABLES_HOURS_TEMP();
    while (list($tablename, $rows) = each($hourstables)) {
        $sql = "SELECT ipaddr FROM `{$tablename}` WHERE LENGTH(hostname)=0 GROUP BY `ipaddr`";
        $results = $q->QUERY_SQL($sql);
        while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
            $ipaddr = $ligne["ipaddr"];
            if (!isset($GLOBALS[$ipaddr])) {
                $GLOBALS[$ipaddr] = gethostbyaddr($ipaddr);
            }
            $q->QUERY_SQL("UPDATE `{$tablename}` SET `hostname`='{$GLOBALS[$ipaddr]}' WHERE `ipaddr`='{$ipaddr}'");
        }
    }
}
function parse_table_array($array, $database)
{
    $q = new nginx_stats($database);
    while (list($tabledest, $rows) = each($array)) {
        if ($rows == 0) {
            events("{$database}/{$tabledest} No row, continue", __FUNCTION__, __LINE__);
            continue;
        }
        if (!$q->MonthTable($tabledest)) {
            events("{$database}/{$tabledest} unable to create table", __FUNCTION__, __LINE__);
            return false;
        }
        events("{$database}/{$tabledest} add " . count($rows) . " elements", __FUNCTION__, __LINE__);
        $sql = "INSERT IGNORE INTO `{$tabledest}` \n\t\t(`zmd5`,`zDay`,`ipaddr`,`hostname`,`country`,`size`,`hits`) \n\t\tVALUES " . @implode(",", $rows);
        $q->QUERY_SQL($sql);
        if (!$q->ok) {
            events($q->mysql_error, __FUNCTION__, __LINE__);
            return false;
        }
    }
    return true;
}