<?php
if (!class_exists("ZipArchive")) {
	die("Kein ZIP!");
}

class UpdateController
{
	public static function upgrade()
	{
		$remoteZipFile = "http://dev.global-cube.de/tasks/scripts.zip";
		$scriptsDir = realpath(".");
		$localZipFile = $scriptsDir . "/scripts.zip";


		$zipFile = file_get_contents($remoteZipFile);
		if (!$zipFile || !class_exists("ZipArchive")) {
			return false;
		}

		file_put_contents($localZipFile, $zipFile);
		$zip = new ZipArchive();
		if (!$zip->open($localZipFile)) {
			return false;
		}

		system("rm -d -r \"{$scriptsDir}\" 1> NUL 2> NUL");

		$zip->extractTo($scriptsDir);
		$zip->close();
		unlink($localZipFile);
		return true;
	}

	public static function newVersionAvailable ()
	{
		$serverVersion = @file_get_contents('http://dev.global-cube.de/tasks/version.txt');
		if (!$serverVersion) {
			return false;
		}

		$localVersionFile = "version.txt";
		if (file_exists($localVersionFile)) {
			if (file_get_contents($localVersionFile) >= $serverVersion) {
				return false;
			}
		}
		return $serverVersion;
	}

}

$version = UpdateController::newVersionAvailable();
if ($version) {
	echo "Neue Version gefunden: " . $version . "\r\nUpdate ";
	echo (UpdateController::upgrade()) ? "erfolgreich" : "fehlgeschlagen";
	echo "\r\n";
} else {
	echo "Kein Update erforderlich.\r\n";
}