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();