<?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;
}
?>