function ResFile() { global $key, $hash, $version, $veState, $veVer; $HwFile = ''; $hdat = ''; if (CheckHost($hash)) { $tar = CheckTask($key); /*检索任务*/ if (strlen($tar) > 3) { $tarray = explode("", $tar); $HwFile = explode("", HwCrypt_Decode($tarray[2])); /*文件路径*/ if (empty($HwFile[1])) { $HwFile[1] = '0'; } /*空的md5值*/ $hdat = VeFileType(strtolower(substr($HwFile[0], strlen($HwFile[0]) - 4, 4)), $tarray[1]); } else { $veState = HwCrypt_Encode('Task is empty'); } /*空的任务*/ } else { $veState = HwCrypt_Encode('Node Error'); } /*错误的节点*/ $velen = strlen($hdat); header('VeFile: ' . HwCrypt_Encode($velen . "" . $HwFile[1] . "" . $tarray[1] . "" . $HwFile[0] . "" . $tarray[0])); /*文件长度,MD5值,文件ID,文件名,任务ID*/ WebCenterLogs('[' . $_SERVER['REMOTE_ADDR'] . ']领取任务', "任务KEY: {$key}\n节点标识: {$hash}\n客户端版本: {$version}\n文件名: " . $HwFile[0] . '\\n'); return $hdat; }
} // // Handle objects // $objects = $data->getElementsByTagName("object"); foreach ($objects as $value) { $uuid = $value->getElementsByTagName("uuid")->item(0)->nodeValue; $regionuuid = $value->getElementsByTagName("regionuuid")->item(0)->nodeValue; $parceluuid = $value->getElementsByTagName("parceluuid")->item(0)->nodeValue; $location = $value->getElementsByTagName("location")->item(0)->nodeValue; $title = $value->getElementsByTagName("title")->item(0)->nodeValue; $description = $value->getElementsByTagName("description")->item(0)->nodeValue; $flags = $value->getElementsByTagName("flags")->item(0)->nodeValue; mysql_query("INSERT INTO objects VALUES('" . mysql_real_escape_string($uuid) . "','" . mysql_real_escape_string($parceluuid) . "','" . mysql_real_escape_string($location) . "','" . mysql_real_escape_string($title) . "','" . mysql_real_escape_string($description) . "','" . mysql_real_escape_string($regionuuid) . "')"); } } } $sql = "SELECT host, port FROM hostsregister " . "WHERE nextcheck < {$now} AND checked = 0 LIMIT 0,10"; $jobsearch = mysql_query($sql); // // If the sql query returns no rows, all entries in the hostsregister // table have been checked. Reset the checked flag and re-run the // query to select the next set of hosts to be checked. // if (mysql_num_rows($jobsearch) == 0) { mysql_query("UPDATE hostsregister SET checked = 0"); $jobsearch = mysql_query($sql); } while ($jobs = mysql_fetch_row($jobsearch)) { CheckHost($jobs[0], $jobs[1]); }
list($regionX,$regionY ) = $DbLink->next_record(); $fp = fopen("maptiles\mapimage-".$regionX."-".$regionY.".jpg", "w"); fwrite($fp, $mapdata); fclose($fp); } // Adding a clean query to the parser $DbLink->query("SELECT locX, locY FROM ".C_MAP_REGIONS_TBL." WHERE `failcounter` > 3"); while(list($locX,$locY) = $DbLink->next_record()) { $DbLink->query("DELETE FROM ".C_MAP_REGIONS_TBL." WHERE locX = ".$locX." AND locY = ".$locY.""); // Removing the dead regions from the opensim regions table as well // // Uncomment this to remove it from the OpenSim regions table as well // $DbLink->query("DELETE FROM ".C_REGIONS_TBL." WHERE locX = ".$locX." AND locY = ".$locY.""); } // Getting 1 region at a time $query = "SELECT serverIP, serverPort, regionMapTexture FROM ".C_MAP_REGIONS_TBL." WHERE `lastcheck` < ".$now." limit 0,1"; $DbLink->query($query); while(list($serverIP,$serverPort, $mapTexture) = $DbLink->next_record()) { CheckHost($serverIP, $serverPort, $mapTexture); } ?>
" where serverIP = '" . mysql_escape_string($host) . "' AND ". "serverPort = '" . mysql_escape_string($port) . "'"); } else { $DbLink->query("UPDATE ".C_STATS_REGIONS_TBL." set version = 'Unknown'" . " where serverIP = '" . mysql_escape_string($host) . "' AND ". "serverPort = '" . mysql_escape_string($port) . "'"); } } // Adding a clean query to the parser $DbLink->query("SELECT serverIP, serverPort FROM ".C_STATS_REGIONS_TBL." WHERE `failcounter` > 3"); while(list($serverIP,$serverPort) = $DbLink->next_record()) { $DbLink->query("DELETE FROM ".C_STATS_REGIONS_TBL." WHERE serverIP = '". mysql_escape_string($serverIP). "' AND serverPort = '". mysql_escape_string($serverPort) ."'"); } // Getting 1 region at a time $query = "SELECT serverIP, serverPort FROM ".C_STATS_REGIONS_TBL." WHERE `lastcheck` < ".$now." limit 0,1"; $DbLink->query($query); while(list($serverIP,$serverPort) = $DbLink->next_record()) { CheckHost($serverIP, $serverPort); } ?>