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; }