Add removal status for filesystem

This commit is contained in:
2024-05-17 16:32:53 +02:00
parent 2335c82153
commit f76fc8dcf3
7 changed files with 37 additions and 5 deletions

View File

@@ -54,6 +54,9 @@ let block_form = {
jresp.files_blocked.forEach(file => {
message += "<li>pixeldrain.com/u/" + file + "</li>"
})
jresp.filesystem_nodes_blocked.forEach(file => {
message += "<li>pixeldrain.com/d/" + file + "</li>"
})
message += "</ul>"
return {success: true, message: message}

View File

@@ -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}
<i class="icon small">block</i>
{:else if shared}
<i class="icon small">share</i>
{/if}
<div class="node_name" class:base={state.base_index === i}>

View File

@@ -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 = () => {
</script>
<h2>Share this file/directory</h2>
{#if file.abuse_type !== undefined}
<div class="highlight_red">
This file or directory has received an abuse report. It cannot be
shared.<br/>
Type of abuse: {file.abuse_type}<br/>
Report time: {formatDate(file.abuse_report_time, true, true, true)}
</div>
{/if}
<p>
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

View File

@@ -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}
</div>
{#if state.base.abuse_type !== undefined}
<div class="highlight_red">
This directory has received an abuse report. It cannot be
shared.<br/>
Type of abuse: {state.base.abuse_type}<br/>
Report time: {formatDate(state.base.abuse_report_time, true, true, true)}
</div>
{/if}
<slot></slot>
{#if directory_view === "list"}

View File

@@ -38,7 +38,10 @@ export let large_icons = false
{/if}
</td>
<td class="node_icons">
{#if child.id}
{#if child.abuse_type !== undefined}
<i class="icon" title="This file / directory has received an abuse report. It cannot be shared">block</i>
{:else if child.id}
<a
href="/d/{child.id}"
on:click|preventDefault|stopPropagation={() => {dispatch("node_share_click", index)}}

View File

@@ -98,12 +98,14 @@ onMount(() => {
<td>
{#if row.event === "file_instance_blocked"}
<a href="/u/{row.file_id}">{row.file_name}</a>
{:else if row.event === "filesystem_node_blocked"}
<a href="/d/{row.file_id}">{row.file_name}</a>
{:else}
{row.file_name}
{/if}
</td>
<td>
{#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

View File

@@ -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)