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; }
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}"); }