$impname = basename($impname); if ($function == 'dbimport' && substr($impname, -4, 4) != '.sql') { $impname = ''; } elseif ($function == 'fileimport' && substr($impname, -7, 7) != '.tar.gz') { $impname = ''; } elseif (($function == 'delete' || $function == 'download') && substr($impname, -4, 4) != '.sql' && substr($impname, -7, 7) != '.tar.gz') { $impname = ''; } } if ($function == 'delete' && $impname) { // ------------------------------ FUNC DELETE if (rex_file::delete(rex_backup::getDir() . '/' . $impname)) { } $success = rex_i18n::msg('backup_file_deleted'); } elseif ($function == 'download' && $impname && is_readable(rex_backup::getDir() . '/' . $impname)) { rex_response::sendFile(rex_backup::getDir() . '/' . $impname, substr($impname, -7, 7) != '.tar.gz' ? 'tar/gzip' : 'plain/test', 'attachment'); exit; } elseif ($function == 'dbimport') { // ------------------------------ FUNC DBIMPORT // noch checken das nicht alle tabellen geloescht werden // install/temp.sql aendern if (isset($_FILES['FORM']) && $_FILES['FORM']['size']['importfile'] < 1 && $impname == '') { $error = rex_i18n::msg('backup_no_import_file_chosen_or_wrong_version') . '<br>'; } else { if ($impname != '') { $file_temp = rex_backup::getDir() . '/' . $impname; } else { $file_temp = rex_backup::getDir() . '/temp.sql'; } if ($impname != '' || @move_uploaded_file($_FILES['FORM']['tmp_name']['importfile'], $file_temp)) { $state = rex_backup::importDb($file_temp);
// ------------------------------ /FUNC EXPORT SQL } elseif ($exporttype == 'files') { // ------------------------------ FUNC EXPORT FILES $header = 'tar/gzip'; if (empty($EXPDIR)) { $error = rex_i18n::msg('backup_please_choose_folder'); } else { $content = rex_backup::exportFiles($EXPDIR); $hasContent = rex_file::put($export_path . $filename . $ext, $content); } // ------------------------------ /FUNC EXPORT FILES } if ($hasContent) { if ($exportdl) { $filename = $filename . $ext; rex_response::sendFile($export_path . $filename, $header, 'attachment'); rex_file::delete($export_path . $filename); exit; } else { $success = rex_i18n::msg('backup_file_generated_in') . ' ' . strtr($filename . $ext, '\\', '/'); } } else { $error = rex_i18n::msg('backup_file_could_not_be_generated') . ' ' . rex_i18n::msg('backup_check_rights_in_directory') . ' ' . $export_path; } } } if ($success != '') { echo rex_view::success($success); } if ($error != '') { echo rex_view::error($error);