示例#1
0
function tep_compress(&$files_array)
{
    $cZip = new pkzip();
    $cZip->addArray($files_array);
    return $cZip->file();
}
示例#2
0
// 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;
示例#3
0
 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;
 }
示例#4
0
         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();