diff --git a/svelte/src/admin_panel/BlockFiles.svelte b/svelte/src/admin_panel/BlockFiles.svelte index d5314d9..203bb5d 100644 --- a/svelte/src/admin_panel/BlockFiles.svelte +++ b/svelte/src/admin_panel/BlockFiles.svelte @@ -54,6 +54,9 @@ let block_form = { jresp.files_blocked.forEach(file => { message += "
  • pixeldrain.com/u/" + file + "
  • " }) + jresp.filesystem_nodes_blocked.forEach(file => { + message += "
  • pixeldrain.com/d/" + file + "
  • " + }) message += "" return {success: true, message: message} diff --git a/svelte/src/filesystem/Breadcrumbs.svelte b/svelte/src/filesystem/Breadcrumbs.svelte index 8763037..87e881e 100644 --- a/svelte/src/filesystem/Breadcrumbs.svelte +++ b/svelte/src/filesystem/Breadcrumbs.svelte @@ -14,7 +14,9 @@ export let fs_navigator class:button_highlight={state.base_index === i} on:click|preventDefault={() => {fs_navigator.navigate(node.path, true)}} > - {#if shared} + {#if node.abuse_type !== undefined} + block + {:else if shared} share {/if}
    diff --git a/svelte/src/filesystem/edit_window/SharingOptions.svelte b/svelte/src/filesystem/edit_window/SharingOptions.svelte index c9e42cb..971d78c 100644 --- a/svelte/src/filesystem/edit_window/SharingOptions.svelte +++ b/svelte/src/filesystem/edit_window/SharingOptions.svelte @@ -2,6 +2,7 @@ import { createEventDispatcher } from "svelte"; import { domain_url } from "../../util/Util.svelte"; import CopyButton from "../../layout/CopyButton.svelte"; +import { formatDate } from "../../util/Formatting.svelte"; let dispatch = createEventDispatcher() export let shared @@ -41,6 +42,16 @@ const toggle_example = () => {

    Share this file/directory

    + +{#if file.abuse_type !== undefined} +
    + This file or directory has received an abuse report. It cannot be + shared.
    + Type of abuse: {file.abuse_type}
    + Report time: {formatDate(file.abuse_report_time, true, true, true)} +
    +{/if} +

    When a file or directory is shared it can be accessed through a unique link. You can get the URL with the 'Copy link' button on diff --git a/svelte/src/filesystem/filemanager/FileManager.svelte b/svelte/src/filesystem/filemanager/FileManager.svelte index a8386b2..5b3561a 100644 --- a/svelte/src/filesystem/filemanager/FileManager.svelte +++ b/svelte/src/filesystem/filemanager/FileManager.svelte @@ -6,6 +6,7 @@ import ListView from './ListView.svelte' import GalleryView from './GalleryView.svelte' import Button from '../../layout/Button.svelte'; import FileImporter from './FileImporter.svelte'; +import { formatDate } from '../../util/Formatting.svelte'; let dispatch = createEventDispatcher() export let fs_navigator @@ -359,6 +360,16 @@ onMount(() => { {/if}

    + + {#if state.base.abuse_type !== undefined} +
    + This directory has received an abuse report. It cannot be + shared.
    + Type of abuse: {state.base.abuse_type}
    + Report time: {formatDate(state.base.abuse_report_time, true, true, true)} +
    + {/if} + {#if directory_view === "list"} diff --git a/svelte/src/filesystem/filemanager/ListView.svelte b/svelte/src/filesystem/filemanager/ListView.svelte index 94a5c1f..7a4d77d 100644 --- a/svelte/src/filesystem/filemanager/ListView.svelte +++ b/svelte/src/filesystem/filemanager/ListView.svelte @@ -38,7 +38,10 @@ export let large_icons = false {/if} - {#if child.id} + + {#if child.abuse_type !== undefined} + block + {:else if child.id} {dispatch("node_share_click", index)}} diff --git a/svelte/src/user_home/ActivityLog.svelte b/svelte/src/user_home/ActivityLog.svelte index a9195d9..8280d94 100644 --- a/svelte/src/user_home/ActivityLog.svelte +++ b/svelte/src/user_home/ActivityLog.svelte @@ -98,12 +98,14 @@ onMount(() => { {#if row.event === "file_instance_blocked"} {row.file_name} + {:else if row.event === "filesystem_node_blocked"} + {row.file_name} {:else} {row.file_name} {/if} - {#if row.event === "file_instance_blocked"} + {#if row.event === "file_instance_blocked" || row.event === "filesystem_node_blocked"} Blocked for abuse {:else if row.event === "file_instance_expired"} Expired diff --git a/webcontroller/filesystem.go b/webcontroller/filesystem.go index e8af73f..1d4272a 100644 --- a/webcontroller/filesystem.go +++ b/webcontroller/filesystem.go @@ -26,12 +26,12 @@ func (wc *WebController) serveDirectory(w http.ResponseWriter, r *http.Request, if err != nil { if err.Error() == "not_found" || err.Error() == "path_not_found" { wc.serveNotFound(w, r) - return } else if err.Error() == "forbidden" { wc.serveForbidden(w, r) - return } else if err.Error() == "authentication_required" { http.Redirect(w, r, "/login", http.StatusSeeOther) + } else if err.Error() == "unavailable_for_legal_reasons" { + wc.serveUnavailableForLegalReasons(w, r) } else { log.Error("Failed to get path: %s", err) wc.templates.Get().ExecuteTemplate(w, "500", td)