Esempio n. 1
0
 public function download()
 {
     global $config;
     $post = $this->post();
     $files = isset($post['files']) ? $post['files'] : array();
     $disabled = isset($post['disabled']) ? $post['disabled'] : array();
     $compress = isset($post['compress']) ? true : false;
     $pkg = new Packager($config['packages']);
     foreach ($disabled as $key => $package) {
         if ($package) {
             $pkg->remove_package($package);
         } else {
             unset($disabled[$key]);
         }
     }
     $contents = $pkg->build_from_files($files);
     $useonly = count($disabled) ? $pkg->get_packages() : null;
     if ($compress) {
         $contents = $this->compress($contents);
     }
     header('Content-Type: ' . $config['packager']['contenttype'] . '; charset=' . $config['packager']['charset']);
     header('Content-Disposition: attachment; filename="' . $config['packager']['exports'] . '"');
     echo $this->get_packager_command($files, $useonly);
     if ($compress) {
         echo $this->get_headers($pkg, $files);
     }
     echo $contents;
 }