コード例 #1
0
 function doesVersionContainServerBinary($baseURL, $version)
 {
     $return = null;
     $thisBaseURL = $baseURL . $version . "/";
     $HTMLParser = new HTMLParser();
     $HTMLParser->setURL($thisBaseURL);
     $HTMLParser->getHTML();
     if ($HTMLParser->Status == null) {
         $dom = new DOMDocument();
         $dom->loadHTML($HTMLParser->Contents);
         $tableElements = $dom->getElementsByTagName("tr");
         foreach ($tableElements as $tableElement) {
             foreach ($tableElement->childNodes as $tableChildElement) {
                 if ($this->doesElementMatchServerBinaryRules($tableChildElement->nodeValue)) {
                     $return = $tableChildElement->nodeValue;
                     break;
                 }
             }
         }
     } else {
         echo "ERROR";
     }
     return $return;
 }
コード例 #2
0
if (!($requestedBitVersion == "amd64" || $requestedBitVersion == "x86")) {
    die("<strong>Error</strong> Supported bit versions are: amd64, x86");
}
//Base URL for the repo
$baseURL = "http://dl.4players.de/ts/releases/";
//Builds a URL so that WGET can be used against it.
function buildDownloadURLForWGET($baseURL, $fileDetails)
{
    $fileName = $fileDetails["file"];
    $fileVersion = $fileDetails["version"];
    return $baseURL . $fileVersion . "/" . $fileName;
}
$TeamspeakHandler = new Teamspeak();
$TeamspeakHandler->setBinaryBitRequired($requestedBitVersion);
$HTMLParser = new HTMLParser();
$HTMLParser->setURL($baseURL);
$HTMLParser->getHTML();
if ($HTMLParser->Status == null) {
    $teamspeakVersions = $TeamspeakHandler->getTeamspeakVersionsFromHTML($HTMLParser->Contents);
    if ($teamspeakVersions == null) {
        die("Unknown error, unable to get versions");
    }
    //Switch on the requested format (either x86 or amd64)
    switch ($requestedBitVersion) {
        case "amd64":
            $amd64Binary = null;
            //Rotate around each version found in reverse and find a server binary.
            foreach (array_reverse($teamspeakVersions) as $teamspeakVersion) {
                $serverBinaryAMD64 = $TeamspeakHandler->doesVersionContainServerBinary($baseURL, $teamspeakVersion);
                if ($serverBinaryAMD64 != null && $amd64Binary == null) {
                    $amd64Binary["file"] = $serverBinaryAMD64;