Esempio n. 1
0
 // TODO: use "inmemory"=>false, so that you can download bigger archives faster!
 $action_title = T_('Download');
 if (!$selected_Filelist->count()) {
     $Messages->add(T_('Nothing selected.'), 'error');
     $action = 'list';
     break;
 }
 param('zipname', 'string', '');
 param('exclude_sd', 'integer', 0);
 if (empty($zipname)) {
     if (param('action_invoked', 'integer', 0)) {
         // Action was invoked, add "hint"
         param_error('zipname', T_('Please provide the name of the archive.'));
     }
     if ($selected_Filelist->count() == 1) {
         $only_File = $selected_Filelist->get_array();
         $only_File = $only_File[0];
         // TODO: once we support additional formats, use the default extension here:
         $zipname = $only_File->get_name() . '.zip';
     }
     break;
 }
 // Downloading
 load_class('_ext/_zip_archives.php', 'zip_file');
 $arraylist = $selected_Filelist->get_array('get_name');
 $options = array('basedir' => $fm_Filelist->get_ads_list_path(), 'inmemory' => 1, 'recurse' => 1 - $exclude_sd);
 $zipfile = new zip_file($zipname);
 $zipfile->set_options($options);
 $zipfile->add_files($arraylist, array('_evocache'));
 $zipfile->create_archive();
 if ($zipfile->error) {