Esempio n. 1
0
function Installer_unzip_file_to_addon_dir($file, $includeDir, $installname)
{
    // Zip Klasse laden
    $zip = new dUnzip2($includeDir . "/" . $file);
    //$zip->debug = 1; // debug?
    // 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)) {
        // Inhalt vom ZIP-File im AddOn-Verzeichnis entpacken
        $zip->unzipAll($includeDir . '/addons/');
        // Installation säubern (Temp Daten löschen, versteckte OSX-Daten etc.)
        Installer_clean_addon_setup($includeDir, $file);
        // File-Handler schließen und memory freigeben
        $zip->__destroy();
        // Alles ok, weiter gehts!
        return true;
    } else {
        // File-Handler schließen und memory freigeben
        $zip->__destroy();
        // Check fehlgeschlagen - false ausgeben
        return false;
    }
}
             $process = true;
         } else {
             $process = false;
         }
     } else {
         $process = true;
     }
     if ($valid) {
         if ($process) {
             // Inhalt vom ZIP-File im AddOn-Verzeichnis entpacken
             $zip->unzipAll($REX['INCLUDE_PATH'] . "/addons/");
             // Installation säubern (Temp Daten löschen, versteckte OSX-Daten etc.)
             //Installer_clean_addon_setup($includeDir, $file);
             // File-Handler schließen und memory freigeben
             $zip->__destroy();
             Installer_clean_addon_setup($REX['INCLUDE_PATH']);
             echo rex_info('ZIP-Datei wurde entpackt und ins AddOns Verzeichnis geschrieben. Bitte wähle nun eine Aktion:');
             echo '
 			        <ul class="action_after_unzip">
 			            <li><a href="#" data-installname="' . str_replace('/', '', $installname) . '" class="zip_install_activate">AddOn (re-)installieren und gleichzeitig aktivieren</a></li>
 			            <li><a href="#" data-installname="' . str_replace('/', '', $installname) . '" class="zip_install">AddOn nur (re-)installieren</a></li>
 			            <li><a href="?page=addon">Ins AddOn-Verzeichnis wechseln</a></li>
 			            <li><a href="#" class="new_zip_upload">Neue ZIP-Datei hochladen</a></li>
 			        </ul>
 			    ';
         } else {
             echo rex_warning('AddOn wurde nicht installert, da es vorhanden ist, jedoch der Haken "überschreiben" nicht gesetzt wurde.');
             $zip->__destroy();
         }
     }
     $cleanFiles = array();