function Installer_fast_file_check($file, $installname, $includeDir)
{
    // Prüfen, ob das Ergebnis nicht bereits in einer Session steht
    // um Dauerverbindungen zu Redaxo.de zu vermeiden.
    if (isset($_SESSION['fastcheck'][$file])) {
        // Session exisitert - um overhead zu sparen, wird das Ergebnis der
        // letzten Session ausgegeben
        return $_SESSION['fastcheck'][$file];
    } else {
        // Session besteht noch nicht, also First-Run OK!
        // Pfad zum TEMP-Verzeichnis
        // TODO: Variablen ersetzen!
        $path = $includeDir . "/addons/installer/temp/" . md5($file) . ".zip";
        $file_output = '';
        try {
            $socket = rex_installer_socket::createByUrl($file);
            $socket->doGet();
            $res = fopen($path, 'w');
            $file_output = $socket->writeBodyTo($res);
        } catch (rex_installer_socket_exception $e) {
            // fehlermeldung:
            echo rex_warning($e->getMessage());
            return FALSE;
        }
        if (!$file_output) {
            echo rex_warning("Das AddOn konnte aufgrund von Serverproblemen nicht überprüft werden! Fast-Check Ergebnisse sind deswegen fehlerhaft (Alle fallen durch, obwohl das AddOn in Ordnung sein könnte). Korrete AddOns lassen sich normalerweise dennoch ohne Probleme installieren. Eine zweite Sicherheitsroutine wird versuchen die Sicherheit weiterhin zu gewährleisten. Für weitere Versuche klicke auf das Plus-Symbol");
            return FALSE;
        }
        // Zip Klasse laden
        $zip = new dUnzip2($path);
        // Inhalt vom ZIP-FILE laden. Liefert ARRAY zurück
        $zipList = $zip->getList();
        // Ruft die Sicherheitsfunktion auf, um zu prüfen, ob es sich
        // um ein richtiges AddOn handelt, wenn ja, true, ansonsten false
        if (Installer_check_if_file_is_addon($zipList, $installname)) {
            $zip->__destroy();
            // fclose && memory free
            @unlink($path);
            // Datei löschen
            // Um ständige Verbindungen zu Redaxo.de zu unterbinden,
            // wird das Ergebnis in eine Session geschrieben
            $_SESSION['fastcheck'][$file] = true;
            return true;
        } else {
            $zip->__destroy();
            // fclose && memory free
            @unlink($path);
            // Datei löschen
            // Um ständige Verbindungen zu Redaxo.de zu unterbinden,
            // wird das Ergebnis in eine Session geschrieben
            $_SESSION['fastcheck'][$file] = false;
            return false;
        }
    }
}
     // Inhalt vom ZIP-FILE laden. Liefert ARRAY zurück
     $zipList = $zip->getList();
 } else {
     $zipList = array();
 }
 if ($file_output) {
     //tempfile wieder löschen
     @unlink($path);
 }
 if ($installname = zip_installer_check_if_file_is_addon($zipList)) {
     //echo rex_info('AddOn Paket scheint gültig zu sein!');
     $valid = true;
 } else {
     echo rex_warning('Kein gültiges AddOn. Installation abgebrochen');
     if ($valid) {
         $zip->__destroy();
     }
     $valid = false;
 }
 if (Installer_check_if_addon_exists($REX['INCLUDE_PATH'] . "/addons/" . $installname)) {
     if ($overwrite) {
         $process = true;
     } else {
         $process = false;
     }
 } else {
     $process = true;
 }
 if ($valid) {
     if ($process) {
         // Inhalt vom ZIP-File im AddOn-Verzeichnis entpacken