Esempio n. 1
0
 private function on_download()
 {
     json_fail(1, "downloads disabled", !$this->options["download"]["enabled"]);
     $as = use_request_param("as");
     $type = use_request_param("type");
     $hrefs = use_request_param("hrefs");
     $archive = new Archive($this->app);
     $hrefs = explode("|:|", trim($hrefs));
     set_time_limit(0);
     header("Content-Type: application/octet-stream");
     header("Content-Disposition: attachment; filename=\"{$as}\"");
     header("Connection: close");
     $rc = $archive->output($type, $hrefs);
     json_fail(2, "packaging failed", $rc !== 0);
     exit;
 }
Esempio n. 2
0
 private function on_new_folder()
 {
     $h5ai_path = '';
     $filename = '';
     json_fail(1, "folder creation disabled", !$this->options["new_folder"]["enabled"]);
     $href = use_request_param("href");
     $name = use_request_param("name");
     $d = normalize_path(dirname($href), true);
     $n = basename($href);
     if ($this->app->is_managed_url($d) && !$this->app->is_hidden($n)) {
         $path = $this->app->to_path($href);
         $folder = normalize_path(dirname($path));
         if (!mkdir($path . "/" . $name)) {
             json_fail(2, "folder creation failed" . " PATH: {$path} | FOLDER: {$folder} | NAME: {$name}");
         }
         $filename = $path . "/" . $name . "/" . ".htaccess";
         $h5ai_path = "DirectoryIndex " . INDEX_HREF;
         if (!($handle = fopen($filename, 'w'))) {
             json_fail(3, "Cannot open file ({$filename})");
         }
         if (fwrite($handle, $h5ai_path) === FALSE) {
             json_fail(3, "Cannot write to file ({$filename})");
         }
         fclose($handle);
     }
     json_exit("Success, wrote ( {$h5ai_path} ) to file ( {$filename} ). {$href}/{$name}");
 }