Location: PHPKode > projects > Aratix > aratix/admin/inc/core.inc.php
<?php
/*
** Aratix
** Version 0.1.0beta8 (Anubis)
**
** Autor: Manuel Burghammer
** E-Mail: hide@address.com
** Homepage: http://www.xitara.net
**
** File: core.inc.php - Version 0.1.0 build 136
** File: core.inc.php - Version 0.1.0 build 118
** Last Modified: 25.06.2006 - 00:22:21
** Last Modified: 25.06.2006 - 00:14:31
**
** Nachzulesen unter:
** http://creativecommons.org/licenses/by-sa/2.0/de/
**
** Aufgrund dieser Lizenz darf das Copyright weder
** entfernt noch unkenntlich gemacht werden.
*/

/* Anfrage, ob neue Versionen
** verfügbar sind. Um das auch
** erfolgreich zu bewerkstellingen,
** wenn allow_url_open=off gesetzt
** ist, wird die Verbindung über
** fsockopen aufgebaut
*/
function check_update(){
	global $config;
	$update_string = "";

	if($config->get('update_check') == "true"){
		$update_host = $config->get('update_server');
		$referer = $_SERVER['SERVER_NAME'] . "/" . $config->get('folder');
		$serial = md5($config->get('serial'));
		$act_version = $config->get('version');

		$update_server = explode("/", $update_host, 2);

		if(isset($update_server[1]))
			$update_folder = "/" . preg_replace("/\s+/", "", $update_server[1]);
		else
			$update_folder = "";

		$update_data = "serial=$serial&";
		$update_data .= "version=$act_version&";
		$update_host = preg_replace("/\s+/", "", $update_server[0]);

		if(!($check_socket = fsockopen($update_host, 80, $errno, $errstr)))
			echo "Fehler bei der Updateprüfung: $errstr ($errno)<br />\n";
		else{
			fputs($check_socket, "POST " . $update_folder . "/update_check.php HTTP/1.1\r\n");
			fputs($check_socket, "Host: " . $update_host . "\r\n");
			fputs($check_socket, "Referer: $referer\r\n");
			fputs($check_socket, "Content-type: application/x-www-form-urlencoded\r\n");
			fputs($check_socket, "Content-length: ". strlen($update_data) ."\r\n");
			fputs($check_socket, "Connection: close\r\n\r\n");
			fputs($check_socket, $update_data);

			while(!feof($check_socket)){
				$update_string .= fgets($check_socket);
			}
			if(strpos($update_string, "302") !== FALSE){
				$lines = explode("\n", $update_string);
				$server = ereg_replace("Location: http://", "", $lines[3]);
				$server = ereg_replace("/update_check.php", "", $server);

				$GLOBALS['db']->update(TB_CONFIG, "text", $server, "var='update_server'");

				return "302-$server";
			}
			if(strpos($update_string, "404") === FALSE){
				$update_string = ereg_replace("^.*<?xml", "<?xml", $update_string);
				$update_string = preg_replace("/\n0/", "", $update_string);
// 				$update_string = substr($update_string, 0, -1);

// 				echo "<pre>";
// 				echo htmlentities($update_string);
// 				echo "</pre>";

				$update_xml = simplexml_load_string($update_string);

				return $update_xml;
			}
			else
				return "404";
		}
	}
	else
		return FALSE;
}
?>
Return current item: Aratix