diff --git a/res/template/fragments/meta_tags.html b/res/template/fragments/meta_tags.html
index 1cd02c4..8839f4f 100644
--- a/res/template/fragments/meta_tags.html
+++ b/res/template/fragments/meta_tags.html
@@ -2,7 +2,7 @@
{{.}} ~ pixeldrain
-
+
diff --git a/svelte/src/filesystem/Filesystem.svelte b/svelte/src/filesystem/Filesystem.svelte
index 63be476..4fd2879 100644
--- a/svelte/src/filesystem/Filesystem.svelte
+++ b/svelte/src/filesystem/Filesystem.svelte
@@ -227,6 +227,9 @@ const keydown = e => {
if (e.ctrlKey || e.altKey || e.metaKey) {
return // prevent custom shortcuts from interfering with system shortcuts
}
+ if (document.activeElement.type && document.activeElement.type === "text") {
+ return // Prevent shortcuts from interfering with input fields
+ }
switch (e.key) {
case "Escape":
diff --git a/webcontroller/file_viewer.go b/webcontroller/file_viewer.go
index 6ce5ffe..bf08685 100644
--- a/webcontroller/file_viewer.go
+++ b/webcontroller/file_viewer.go
@@ -87,7 +87,7 @@ func (wc *WebController) serveFileViewer(w http.ResponseWriter, r *http.Request,
templateData := wc.newTemplateData(w, r)
- var finfo []apitype.ListFile
+ var files []apitype.ListFile
for _, id := range ids {
inf, err := templateData.PixelAPI.GetFileInfo(id)
if err != nil {
@@ -97,37 +97,37 @@ func (wc *WebController) serveFileViewer(w http.ResponseWriter, r *http.Request,
}
continue
}
- finfo = append(finfo, apitype.ListFile{FileInfo: inf})
+ files = append(files, apitype.ListFile{FileInfo: inf})
}
- if len(finfo) == 0 {
+ if len(files) == 0 {
w.WriteHeader(http.StatusNotFound)
wc.templates.Get().ExecuteTemplate(w, "file_not_found", templateData)
return
}
- templateData.OGData = wc.metadataFromFile(finfo[0].FileInfo)
+ templateData.OGData = wc.metadataFromFile(files[0].FileInfo)
var vd = viewerData{
CaptchaKey: wc.captchaKey(),
ViewToken: wc.viewTokenOrBust(),
AdType: adType(),
- FileAdsEnabled: finfo[0].ShowAds,
+ FileAdsEnabled: files[0].ShowAds,
UserAdsEnabled: !(templateData.Authenticated && templateData.User.Subscription.DisableAdDisplay),
}
if len(ids) > 1 {
- templateData.Title = fmt.Sprintf("%d files on pixeldrain", len(finfo))
+ templateData.Title = fmt.Sprintf("%d files on pixeldrain", len(files))
vd.Type = "list"
vd.APIResponse = apitype.ListInfo{
Success: true,
Title: "Multiple files",
DateCreated: time.Now(),
- Files: finfo,
+ Files: files,
}
} else {
- templateData.Title = fmt.Sprintf("%s ~ pixeldrain", finfo[0].Name)
+ templateData.Title = fmt.Sprintf("%s ~ pixeldrain", files[0].Name)
vd.Type = "file"
- vd.APIResponse = finfo[0].FileInfo
+ vd.APIResponse = files[0].FileInfo
}
templateData.Other = vd
@@ -136,6 +136,13 @@ func (wc *WebController) serveFileViewer(w http.ResponseWriter, r *http.Request,
templateName = "file_viewer_compat"
}
+ for _, file := range files {
+ if file.AbuseType != "" {
+ w.WriteHeader(http.StatusUnavailableForLegalReasons)
+ break
+ }
+ }
+
err = wc.templates.Get().ExecuteTemplate(w, templateName, templateData)
if err != nil && !strings.Contains(err.Error(), "broken pipe") {
log.Error("Error executing template file_viewer: %s", err)
@@ -212,6 +219,13 @@ func (wc *WebController) serveListViewer(w http.ResponseWriter, r *http.Request,
templateName = "file_viewer_compat"
}
+ for _, file := range list.Files {
+ if file.AbuseType != "" {
+ w.WriteHeader(http.StatusUnavailableForLegalReasons)
+ break
+ }
+ }
+
err = wc.templates.Get().ExecuteTemplate(w, templateName, templateData)
if err != nil && !strings.Contains(err.Error(), "broken pipe") {
log.Error("Error executing template file_viewer: %s", err)
diff --git a/webcontroller/opengraph.go b/webcontroller/opengraph.go
index d60e6ab..42f0e7f 100644
--- a/webcontroller/opengraph.go
+++ b/webcontroller/opengraph.go
@@ -24,8 +24,8 @@ func (og *ogData) addLink(k, v string) { og.LinkRules = append(og.LinkRules,
func (wc *WebController) metadataFromFile(f apitype.FileInfo) (og ogData) {
og.addOG("og:title", f.Name)
og.addOG("og:site_name", "pixeldrain")
- og.addOG("og:description", "View '"+f.Name+"' on pixeldrain")
- og.addOG("description", "View '"+f.Name+"' on pixeldrain")
+ og.addOG("og:description", "This file has been shared with you on pixeldrain")
+ og.addOG("description", "This file has been shared with you on pixeldrain")
og.addOG("og:url", wc.websiteAddress+"/u/"+f.ID)
og.addTwitter("twitter:title", f.Name)
og.addTwitter("twitter:site", "@Fornax96")
@@ -71,8 +71,8 @@ func (wc *WebController) metadataFromList(l apitype.ListInfo) (og ogData) {
og.addOG("og:type", "website")
og.addOG("og:title", l.Title)
og.addOG("og:site_name", "pixeldrain")
- og.addOG("og:description", "View '"+l.Title+"' on pixeldrain")
- og.addOG("description", "View '"+l.Title+"' on pixeldrain")
+ og.addOG("og:description", "A collection of files on pixeldrain")
+ og.addOG("description", "A collection of files on pixeldrain")
og.addOG("og:url", wc.websiteAddress+"/l/"+l.ID)
og.addTwitter("twitter:title", l.Title)
og.addTwitter("twitter:site", "@Fornax96")