public static function getAvailableUpdates($currentRev = null)
{
if (!$currentRev) {
$currentRev = Version::$revision;
}
self::cleanup();
if (PIMCORE_DEVMODE) {
$xmlRaw = Tool::getHttpData("https://" . self::$updateHost . "/v2/getUpdateInfo.php?devmode=1&revision=" . $currentRev);
} else {
$xmlRaw = Tool::getHttpData("https://" . self::$updateHost . "/v2/getUpdateInfo.php?revision=" . $currentRev);
}
$xml = simplexml_load_string($xmlRaw, null, LIBXML_NOCDATA);
$revisions = [];
$releases = [];
if ($xml instanceof \SimpleXMLElement) {
if (isset($xml->revision)) {
foreach ($xml->revision as $r) {
$date = new \DateTime();
$date->setTimestamp((int) $r->date);
if (strlen(strval($r->version)) > 0) {
$releases[] = ["id" => strval($r->id), "date" => strval($r->date), "version" => strval($r->version), "text" => strval($r->id) . " - " . $date->format("Y-m-d H:i")];
} else {
$revisions[] = ["id" => strval($r->id), "date" => strval($r->date), "text" => strval($r->id) . " - " . $date->format("Y-m-d H:i")];
}
}
}
} else {
throw new \Exception("Unable to retrieve response from update server. Please ensure that your server is allowed to connect to update.pimcore.org:443");
}
return ["revisions" => $revisions, "releases" => $releases];
}