function tep_compress(&$files_array) { $cZip = new pkzip(); $cZip->addArray($files_array); return $cZip->file(); }
// Released under the GNU General Public License //---------------------------------------------------------------------------- */ require 'includes/application_top.php'; require_once DIR_FS_CLASSES . 'pkzip.php'; require_once DIR_FS_CLASSES . 'pkunzip.php'; require_once DIR_FS_FUNCTIONS . 'compression.php'; switch ($action) { case 'backupnow': extract(tep_load('database_backup')); $plain_name = 'db_' . DB_DATABASE . '-' . date('YmdHis'); $backup_file = $plain_name . '.sql'; $tables_array = $g_db->get_tables(); $database_backup->save_tables(DIR_FS_BACKUP . $backup_file, $tables_array); if (isset($_POST['compress'])) { $cZip = new pkzip(); $result = $cZip->splitFile(DIR_FS_BACKUP . $backup_file, DIR_FS_BACKUP . $plain_name . '.zip'); if (!$result) { $msg->add_session(sprintf(ERROR_INVALID_FILE, $input_file)); } else { @unlink(DIR_FS_BACKUP . $backup_file); $backup_file = DIR_FS_BACKUP . $plain_name . '.zip'; } } if (isset($_POST['download']) && is_file($backup_file)) { header('Content-type: application/x-octet-stream'); header('Content-disposition: attachment; filename=' . $backup_file); $fp = fopen($backup_file, 'rb'); while (!feof($fp)) { $buffer = fread($fp, 10485760); echo $buffer;
function create_zip_plugin() { $result = false; $pdir = DIR_FS_PLUGINS . $this->key . '/'; $zip_file = $pdir . $this->key . '.zip'; $cZip = new pkzip(); $cZip->addDir($pdir); if (tep_write_contents($zip_file, $cZip->file())) { $result = true; } return $result; }
tep_redirect(tep_href_link($g_script, tep_get_all_get_params('action'))); } $plugin->process_options(); tep_redirect(tep_href_link($g_script, tep_get_all_get_params('action'))); break; case 'decompress_confirm': $result_array = tep_decompress($plugins_compressed_array[$cplgID]['file'], $plugins_compressed_array[$cplgID]['path']); for ($i = 0, $j = count($result_array['messages']); $i < $j; $i++) { $messageStack->add_session($result_array['messages'][$i]); } tep_redirect(tep_href_link($g_script, tep_get_all_get_params('action', 'plgID', 'cplgID') . 'plgID=' . $cplgID)); break; case 'archive_confirm': $pdir = DIR_FS_PLUGINS . tep_trail_path($plugin->key); $zip_file = $pdir . $plugin->key . '.zip'; $cZip = new pkzip(); if (isset($_POST['store'])) { $cZip->addDir($pdir); } else { $cZip->addDir($pdir, '', array()); } $contents = $cZip->file(); if (isset($_POST['store'])) { tep_write_contents($zip_file, $contents); } $archive = $plugin->key; $filename = $plugin->key . '.zip'; header('Content-type: application/x-octet-stream'); header('Content-disposition: attachment; filename=' . $filename); echo $contents; $g_session->close();