예제 #1
0
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;
}
예제 #2
0
        }
        //
        // 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);
}
?>