From aa8ca032f5082c5bd4abce14a95254172bffce1f Mon Sep 17 00:00:00 2001 From: Laurynas Gadliauskas Date: Wed, 27 Oct 2021 12:50:31 +0300 Subject: [PATCH] feat: Temporary directory (#25) --- cmd/users.go | 3 +++ cmd/users_update.go | 2 ++ frontend/src/components/Sidebar.vue | 16 +++++++++++++++- frontend/src/i18n/ar_AR.json | 6 +++++- frontend/src/i18n/en_GB.json | 1 + frontend/src/i18n/es_AR.json | 6 +++++- frontend/src/i18n/es_CO.json | 6 +++++- frontend/src/i18n/es_ES.json | 6 +++++- frontend/src/i18n/es_MX.json | 6 +++++- frontend/src/i18n/fr_FR.json | 6 +++++- frontend/src/i18n/id_ID.json | 6 +++++- frontend/src/i18n/lt_LT.json | 6 +++++- frontend/src/i18n/pt_BR.json | 8 ++++++-- frontend/src/i18n/pt_PT.json | 6 +++++- frontend/src/i18n/ru_RU.json | 6 +++++- frontend/src/i18n/tr_TR.json | 4 ++++ frontend/src/i18n/uk_UA.json | 6 +++++- frontend/src/i18n/zh_CN.json | 6 +++++- frontend/src/utils/constants.js | 2 ++ frontend/src/views/settings/Profile.vue | 7 ++++++- http/static.go | 1 + settings/defaults.go | 2 ++ users/users.go | 1 + 23 files changed, 103 insertions(+), 16 deletions(-) diff --git a/cmd/users.go b/cmd/users.go index 128fac03..b47e8f4f 100644 --- a/cmd/users.go +++ b/cmd/users.go @@ -74,6 +74,7 @@ func addUserFlags(flags *pflag.FlagSet) { flags.Bool("lockPassword", false, "lock password") flags.StringSlice("commands", nil, "a list of the commands a user can execute") flags.String("scope", ".", "scope for users") + flags.String("tmpDir", "", "tmp directory path for users") flags.String("trashDir", "", "trash directory path for users") flags.String("quotaFile", "", "path to file with quota data") flags.String("locale", "en_GB", "locale for users") @@ -95,6 +96,8 @@ func getUserDefaults(flags *pflag.FlagSet, defaults *settings.UserDefaults, all switch flag.Name { case "scope": defaults.Scope = mustGetString(flags, flag.Name) + case "tmpDir": + defaults.TmpDir = mustGetString(flags, flag.Name) case "trashDir": defaults.TrashDir = mustGetString(flags, flag.Name) case "quotaFile": diff --git a/cmd/users_update.go b/cmd/users_update.go index 3d8e5da0..6c5ca422 100644 --- a/cmd/users_update.go +++ b/cmd/users_update.go @@ -42,6 +42,7 @@ options you want to change.`, defaults := settings.UserDefaults{ Scope: user.Scope, + TmpDir: user.TmpDir, TrashDir: user.TrashDir, Locale: user.Locale, ViewMode: user.ViewMode, @@ -52,6 +53,7 @@ options you want to change.`, } getUserDefaults(flags, &defaults, false) user.Scope = defaults.Scope + user.TmpDir = defaults.TmpDir user.TrashDir = defaults.TrashDir user.Locale = defaults.Locale user.ViewMode = defaults.ViewMode diff --git a/frontend/src/components/Sidebar.vue b/frontend/src/components/Sidebar.vue index 05a3ac75..db79ffb8 100644 --- a/frontend/src/components/Sidebar.vue +++ b/frontend/src/components/Sidebar.vue @@ -33,8 +33,9 @@ -
+
delete {{ $t("sidebar.trashBin") }} + + + folder_open + {{ $t("sidebar.tmpDir") }} +
@@ -124,6 +136,7 @@ import { version, signup, disableExternal, + tmpDir, trashDir, quotaExists, noAuth, @@ -143,6 +156,7 @@ export default { signup: () => signup, version: () => version, disableExternal: () => disableExternal, + tmpDir: () => tmpDir, trashDir: () => trashDir, quotaExists: () => quotaExists, noAuth: () => noAuth, diff --git a/frontend/src/i18n/ar_AR.json b/frontend/src/i18n/ar_AR.json index 4dd2a0f8..22651c43 100644 --- a/frontend/src/i18n/ar_AR.json +++ b/frontend/src/i18n/ar_AR.json @@ -10,6 +10,8 @@ "delete": "حذف", "directorySizes": "حساب أحجام الدليل", "download": "تحميل", + "file": "File", + "folder": "Folder", "hideDotfiles": "إخفاء dotfiles", "info": "معلومات", "more": "المزيد", @@ -169,7 +171,7 @@ "skipTrashMessage": "تخطى سلة المهملات واحذف فورا", "unarchive": "حذف من الأرشيف", "unarchiveMessage": "اختر اسم المجلد الوجهة:", - "unarchiveOverwriteExisting": "Overwrite existing files", + "unarchiveOverwriteExisting": "الكتابة فوق الملفات الموجودة", "unsavedChanges": "قد لا يتم حفظ التغييرات التي قمت بها. هل تريد مغادرة الصفحة؟", "upload": "تحميل", "uploadFile": "ملف", @@ -242,6 +244,7 @@ "rules": "القواعد", "rulesHelp": "يمكنك هنا تحديد مجموعة من شروط السماح والمنع لهذا المستخدم. الملفات الممنوعة لن تظهر ضمن قائمة هذا المستخدم ولن يستطيع الوصول لها. هنا ندعم الـ regex والـ relative path لنطاق المستخدمين.", "scope": "نطاق", + "setDateFormat": "Set exact date format", "settingsUpdated": "تم تعديل الإعدادات!", "shareDeleted": "حذف المشاركة!", "shareDuration": "مدة المشاركة", @@ -279,6 +282,7 @@ "settings": "الإعدادات", "signup": "Signup", "siteSettings": "إعدادات الموقع", + "tmpDir": "Temporary folder", "trashBin": "سلة المهملات" }, "success": { diff --git a/frontend/src/i18n/en_GB.json b/frontend/src/i18n/en_GB.json index 35ba7c90..4ee783dd 100644 --- a/frontend/src/i18n/en_GB.json +++ b/frontend/src/i18n/en_GB.json @@ -282,6 +282,7 @@ "settings": "Settings", "signup": "Signup", "siteSettings": "Site Settings", + "tmpDir": "Temporary folder", "trashBin": "Trash bin" }, "success": { diff --git a/frontend/src/i18n/es_AR.json b/frontend/src/i18n/es_AR.json index a422149b..3c11c985 100644 --- a/frontend/src/i18n/es_AR.json +++ b/frontend/src/i18n/es_AR.json @@ -10,6 +10,8 @@ "delete": "Borrar", "directorySizes": "Calcular los tamaños del directorio", "download": "Descargar", + "file": "File", + "folder": "Folder", "hideDotfiles": "", "info": "Info", "more": "Más", @@ -169,7 +171,7 @@ "skipTrashMessage": "Omitir papelera y eliminar inmediatamente", "unarchive": "Desarchiva", "unarchiveMessage": "Elige el nombre de la carpeta de destino:", - "unarchiveOverwriteExisting": "Overwrite existing files", + "unarchiveOverwriteExisting": "Sobrescribir archivos existentes", "unsavedChanges": "Los cambios que realizaste podrían no guardarse. ¿Abandonar página?", "upload": "Cargar", "uploadFile": "Archivo", @@ -242,6 +244,7 @@ "rules": "Reglas", "rulesHelp": "Aquí puedes definir un conjunto de reglas de permisos para este usuario específico. Los archivos bloqueados no se mostrarán en las listas y no serán accesibles por el usuario. Puedes utilizar regex y rutas relativas a la raíz del usuario.\n", "scope": "Raíz", + "setDateFormat": "Set exact date format", "settingsUpdated": "¡Ajustes actualizados!", "shareDeleted": "¡Eliminado!", "shareDuration": "", @@ -279,6 +282,7 @@ "settings": "Ajustes", "signup": "Registrate", "siteSettings": "Ajustes del sitio", + "tmpDir": "Temporary folder", "trashBin": "Papelera" }, "success": { diff --git a/frontend/src/i18n/es_CO.json b/frontend/src/i18n/es_CO.json index a422149b..3c11c985 100644 --- a/frontend/src/i18n/es_CO.json +++ b/frontend/src/i18n/es_CO.json @@ -10,6 +10,8 @@ "delete": "Borrar", "directorySizes": "Calcular los tamaños del directorio", "download": "Descargar", + "file": "File", + "folder": "Folder", "hideDotfiles": "", "info": "Info", "more": "Más", @@ -169,7 +171,7 @@ "skipTrashMessage": "Omitir papelera y eliminar inmediatamente", "unarchive": "Desarchiva", "unarchiveMessage": "Elige el nombre de la carpeta de destino:", - "unarchiveOverwriteExisting": "Overwrite existing files", + "unarchiveOverwriteExisting": "Sobrescribir archivos existentes", "unsavedChanges": "Los cambios que realizaste podrían no guardarse. ¿Abandonar página?", "upload": "Cargar", "uploadFile": "Archivo", @@ -242,6 +244,7 @@ "rules": "Reglas", "rulesHelp": "Aquí puedes definir un conjunto de reglas de permisos para este usuario específico. Los archivos bloqueados no se mostrarán en las listas y no serán accesibles por el usuario. Puedes utilizar regex y rutas relativas a la raíz del usuario.\n", "scope": "Raíz", + "setDateFormat": "Set exact date format", "settingsUpdated": "¡Ajustes actualizados!", "shareDeleted": "¡Eliminado!", "shareDuration": "", @@ -279,6 +282,7 @@ "settings": "Ajustes", "signup": "Registrate", "siteSettings": "Ajustes del sitio", + "tmpDir": "Temporary folder", "trashBin": "Papelera" }, "success": { diff --git a/frontend/src/i18n/es_ES.json b/frontend/src/i18n/es_ES.json index 90d88611..f92b0c5d 100644 --- a/frontend/src/i18n/es_ES.json +++ b/frontend/src/i18n/es_ES.json @@ -10,6 +10,8 @@ "delete": "Borrar", "directorySizes": "Calcular los tamaños del directorio", "download": "Descargar", + "file": "File", + "folder": "Folder", "hideDotfiles": "Ocultar dotfiles", "info": "Info", "more": "Más", @@ -169,7 +171,7 @@ "skipTrashMessage": "Omitir papelera y eliminar inmediatamente", "unarchive": "Desarchiva", "unarchiveMessage": "Elige el nombre de la carpeta de destino:", - "unarchiveOverwriteExisting": "Overwrite existing files", + "unarchiveOverwriteExisting": "Sobrescribir archivos existentes", "unsavedChanges": "Los cambios que realizaste podrían no guardarse. ¿Abandonar página?", "upload": "Cargar", "uploadFile": "Archivo", @@ -242,6 +244,7 @@ "rules": "Reglas", "rulesHelp": "Aquí puedes definir un conjunto de reglas de permisos para este usuario específico. Los archivos bloqueados no se mostrarán en las listas y no serán accesibles por el usuario. Puedes utilizar regex y rutas relativas a la raíz del usuario.\n", "scope": "Raíz", + "setDateFormat": "Set exact date format", "settingsUpdated": "¡Ajustes actualizados!", "shareDeleted": "¡Eliminado!", "shareDuration": "Compartir duración", @@ -279,6 +282,7 @@ "settings": "Ajustes", "signup": "Registrate", "siteSettings": "Ajustes del sitio", + "tmpDir": "Temporary folder", "trashBin": "Papelera" }, "success": { diff --git a/frontend/src/i18n/es_MX.json b/frontend/src/i18n/es_MX.json index 51ae329c..dbe65650 100644 --- a/frontend/src/i18n/es_MX.json +++ b/frontend/src/i18n/es_MX.json @@ -10,6 +10,8 @@ "delete": "Borrar", "directorySizes": "Calcular los tamaños del directorio", "download": "Descargar", + "file": "File", + "folder": "Folder", "hideDotfiles": "", "info": "Info", "more": "Más", @@ -169,7 +171,7 @@ "skipTrashMessage": "Omitir papelera y eliminar inmediatamente", "unarchive": "Desarchiva", "unarchiveMessage": "Elige el nombre de la carpeta de destino:", - "unarchiveOverwriteExisting": "Overwrite existing files", + "unarchiveOverwriteExisting": "Sobrescribir archivos existentes", "unsavedChanges": "Los cambios que realizaste podrían no guardarse. ¿Abandonar página?", "upload": "Cargar", "uploadFile": "Archivo", @@ -242,6 +244,7 @@ "rules": "Reglas", "rulesHelp": "Aquí puedes definir un conjunto de reglas de permisos para este usuario específico. Los archivos bloqueados no se mostrarán en las listas y no serán accesibles por el usuario. Puedes utilizar regex y rutas relativas a la raíz del usuario.\n", "scope": "Raíz", + "setDateFormat": "Set exact date format", "settingsUpdated": "¡Ajustes actualizados!", "shareDeleted": "¡Eliminado!", "shareDuration": "", @@ -279,6 +282,7 @@ "settings": "Ajustes", "signup": "Registrate", "siteSettings": "Ajustes del sitio", + "tmpDir": "Temporary folder", "trashBin": "Papelera" }, "success": { diff --git a/frontend/src/i18n/fr_FR.json b/frontend/src/i18n/fr_FR.json index 2b7ce637..33574a9f 100644 --- a/frontend/src/i18n/fr_FR.json +++ b/frontend/src/i18n/fr_FR.json @@ -10,6 +10,8 @@ "delete": "Supprimer", "directorySizes": "Calculer la taille des dossiers", "download": "Télécharger", + "file": "File", + "folder": "Folder", "hideDotfiles": "Cacher les dotfiles", "info": "Info", "more": "Plus", @@ -169,7 +171,7 @@ "skipTrashMessage": "Ignorer la corbeille et supprimer immédiatement", "unarchive": "Extraire", "unarchiveMessage": "Choisissez le nom du dossier de destination :", - "unarchiveOverwriteExisting": "Overwrite existing files", + "unarchiveOverwriteExisting": "Écraser les fichiers existants", "unsavedChanges": "Les modifications que vous avez apportées peuvent ne pas être enregistrées. Quitter la page ?", "upload": "Importer", "uploadFile": "Fichier", @@ -242,6 +244,7 @@ "rules": "Règles", "rulesHelp": "Vous pouvez définir ici un ensemble de règles pour cet utilisateur. Les fichiers bloqués ne seront pas affichés et ne seront pas accessibles par l'utilisateur. Les expressions régulières sont supportées et les chemins d'accès sont relatifs par rapport au dossier de l'utilisateur.", "scope": "Portée du dossier utilisateur", + "setDateFormat": "Set exact date format", "settingsUpdated": "Les paramètres ont été mis à jour !", "shareDeleted": "Partage supprimé !", "shareDuration": "", @@ -279,6 +282,7 @@ "settings": "Paramètres", "signup": "S'inscrire", "siteSettings": "Paramètres du site", + "tmpDir": "Temporary folder", "trashBin": "Corbeille" }, "success": { diff --git a/frontend/src/i18n/id_ID.json b/frontend/src/i18n/id_ID.json index 7a33bc63..d0d190b0 100644 --- a/frontend/src/i18n/id_ID.json +++ b/frontend/src/i18n/id_ID.json @@ -10,6 +10,8 @@ "delete": "Hapus", "directorySizes": "Hitung ukuran direktori", "download": "Download", + "file": "File", + "folder": "Folder", "hideDotfiles": "Sembunyikan dotfile", "info": "Info", "more": "Selengkapnya", @@ -169,7 +171,7 @@ "skipTrashMessage": "Lewati keranjang sampah dan langsung hapus saja", "unarchive": "Buka arsip", "unarchiveMessage": "Pilih nama folder tujuan:", - "unarchiveOverwriteExisting": "Overwrite existing files", + "unarchiveOverwriteExisting": "Timpa file yang sudah ada", "unsavedChanges": "Perubahan yang Anda buat mungkin tidak tersimpan. Tinggalkan halaman?", "upload": "Upload", "uploadFile": "File", @@ -242,6 +244,7 @@ "rules": "Aturan", "rulesHelp": "Di sini Anda dapat memberikan atau membatasi aturan untuk pengguna tertentu. File yang diblokir tidak akan muncul dalam daftar dan tidak dapat diakses oleh pengguna. Kami mendukung regex dan path yang berada dalam cakupan pengguna.", "scope": "Cakupan", + "setDateFormat": "Set exact date format", "settingsUpdated": "Pengaturan diperbarui", "shareDeleted": "Akses berbagi dihapus", "shareDuration": "Durasi Berbagi", @@ -279,6 +282,7 @@ "settings": "Pengaturan", "signup": "Daftar", "siteSettings": "Pengaturan Situs", + "tmpDir": "Temporary folder", "trashBin": "Keranjang sampah" }, "success": { diff --git a/frontend/src/i18n/lt_LT.json b/frontend/src/i18n/lt_LT.json index 06ca38f3..969967e1 100644 --- a/frontend/src/i18n/lt_LT.json +++ b/frontend/src/i18n/lt_LT.json @@ -10,6 +10,8 @@ "delete": "Ištrinti", "directorySizes": "Skaičiuoti katalogų dydžius", "download": "Atsisiųsti", + "file": "File", + "folder": "Folder", "hideDotfiles": "Paslėpti konfigūracijos failus", "info": "Informacija", "more": "Daugiau", @@ -70,7 +72,7 @@ "metadata": "Meta duomenys", "multipleSelectionEnabled": "Įjungtas pasirinkimas iš kelių variantų", "name": "Pavadinimas", - "noPreview": "Preview is not available for this file.", + "noPreview": "Šio failo peržiūra negalima.", "size": "Dydis", "sortByLastModified": "Rūšiuoti pagal pakeitimo datą", "sortByName": "Rūšiuoti pagal pavadinimą", @@ -242,6 +244,7 @@ "rules": "Taisyklės", "rulesHelp": "Čia galite apibrėžti konkrečiam naudotojui taikomų leidimų ir draudimų taisyklių rinkinį. Užblokuoti failai nebus rodomi sąrašuose ir nebus prieinami naudotojui.", "scope": "Apimtis", + "setDateFormat": "Set exact date format", "settingsUpdated": "Nustaytmai atnaujinti!", "shareDeleted": "Dalijimasis nutrauktas!", "shareDuration": "Dalijimosi trukmė", @@ -279,6 +282,7 @@ "settings": "Nustatymai", "signup": "Užsiregistruoti", "siteSettings": "Svetainės nustatymai", + "tmpDir": "Temporary folder", "trashBin": "Šiukšlių dėžė" }, "success": { diff --git a/frontend/src/i18n/pt_BR.json b/frontend/src/i18n/pt_BR.json index 59a7888b..dae4cc6a 100644 --- a/frontend/src/i18n/pt_BR.json +++ b/frontend/src/i18n/pt_BR.json @@ -10,6 +10,8 @@ "delete": "Deletar", "directorySizes": "Calcular tamanho dos diretórios", "download": "Baixar", + "file": "File", + "folder": "Folder", "hideDotfiles": "Ocultar dotfiles", "info": "Informações", "more": "Mais", @@ -70,7 +72,7 @@ "metadata": "Metadados", "multipleSelectionEnabled": "Seleção múltipla ativada", "name": "Nome", - "noPreview": "Preview is not available for this file.", + "noPreview": "A prévia não está disponível para este arquivo.", "size": "Tamanho", "sortByLastModified": "Ordenar pela última modificação", "sortByName": "Ordenar pelo nome", @@ -169,7 +171,7 @@ "skipTrashMessage": "Pular lixeira e deletar imediatamente", "unarchive": "Desarquivar", "unarchiveMessage": "Escolha o nome da pasta de destino:", - "unarchiveOverwriteExisting": "Overwrite existing files", + "unarchiveOverwriteExisting": "Sobrescrever arquivos existentes", "unsavedChanges": "As alterações que você fez podem não ser salvas. Sair da página?", "upload": "Enviar", "uploadFile": "Arquivo", @@ -242,6 +244,7 @@ "rules": "Regras", "rulesHelp": "Aqui você pode definir um conjunto de regras para permitir ou proibir o acesso de um usuário a determinados arquivos ou pastas. Os arquivos bloqueados não aparecerão na lista de arquivos e não serão acessíveis ao usuário. Suportamos expressões regulares e caminhos relativos ao escopo do usuário.", "scope": "Escopo", + "setDateFormat": "Set exact date format", "settingsUpdated": "Configurações atualizadas!", "shareDeleted": "Deletado!", "shareDuration": "Compartilhar duração", @@ -279,6 +282,7 @@ "settings": "Configurações", "signup": "Cadastrar", "siteSettings": "Configurações do site", + "tmpDir": "Temporary folder", "trashBin": "Lixeira" }, "success": { diff --git a/frontend/src/i18n/pt_PT.json b/frontend/src/i18n/pt_PT.json index 3e378f56..bf8ff70a 100644 --- a/frontend/src/i18n/pt_PT.json +++ b/frontend/src/i18n/pt_PT.json @@ -10,6 +10,8 @@ "delete": "Eliminar", "directorySizes": "Calcular tamanho de diretório", "download": "Descarregar", + "file": "File", + "folder": "Folder", "hideDotfiles": "Esconder dotfiles", "info": "Info", "more": "Mais", @@ -169,7 +171,7 @@ "skipTrashMessage": "Saltar o caixote do lixo e apagar imediatamente", "unarchive": "Desarquivar", "unarchiveMessage": "Escolha o nome da pasta de destino:", - "unarchiveOverwriteExisting": "Overwrite existing files", + "unarchiveOverwriteExisting": "Sobrepor os ficheiros existentes", "unsavedChanges": "As alterações que fez poderão não ser guardadas. Deixar a página?", "upload": "Upload", "uploadFile": "Ficheiro", @@ -242,6 +244,7 @@ "rules": "Regras", "rulesHelp": "Aqui pode definir um conjunto de regras para permitir ou bloquear o acesso do utilizador a determinados ficheiros ou pastas. Os ficheiros bloqueados não irão aparecer durante a navegação. Suportamos expressões regulares e os caminhos dos ficheiros devem ser relativos à base do utilizador.\n", "scope": "Base", + "setDateFormat": "Set exact date format", "settingsUpdated": "Configurações atualizadas!", "shareDeleted": "Partilha eliminada!", "shareDuration": "Partilhar duração", @@ -279,6 +282,7 @@ "settings": "Configurações", "signup": "Registar", "siteSettings": "Configurações do site", + "tmpDir": "Temporary folder", "trashBin": "Caixote do lixo" }, "success": { diff --git a/frontend/src/i18n/ru_RU.json b/frontend/src/i18n/ru_RU.json index 7f12b4b7..a3a7313b 100644 --- a/frontend/src/i18n/ru_RU.json +++ b/frontend/src/i18n/ru_RU.json @@ -10,6 +10,8 @@ "delete": "Удалить", "directorySizes": "Посчитать размеры каталогов", "download": "Скачать", + "file": "File", + "folder": "Folder", "hideDotfiles": "Скрыть дотфайлы", "info": "Инфо", "more": "Ещё", @@ -169,7 +171,7 @@ "skipTrashMessage": "Удалить, не сохраняя в корзину", "unarchive": "Разархивирование", "unarchiveMessage": "Выберите имя папки назначения:", - "unarchiveOverwriteExisting": "Overwrite existing files", + "unarchiveOverwriteExisting": "Перезаписать существующие файлы", "unsavedChanges": "Невозможно сохранить внесённые изменения. Покинуть страницу?", "upload": "Загрузка", "uploadFile": "Файл", @@ -242,6 +244,7 @@ "rules": "Правила", "rulesHelp": "Здесь вы можете определить набор разрешающих и запрещающих правил для этого конкретного пользователя. Блокированные файлы не будут отображаться в списках, и не будут доступны для пользователя. Есть поддержка регулярных выражений и относительных путей.", "scope": "Корень", + "setDateFormat": "Set exact date format", "settingsUpdated": "Настройки применены!", "shareDeleted": "Настройка общего доступа удалена!", "shareDuration": "Продолжительность общего доступа", @@ -279,6 +282,7 @@ "settings": "Настройки", "signup": "Зарегистрироваться", "siteSettings": "Настройки сайта", + "tmpDir": "Temporary folder", "trashBin": "Корзина" }, "success": { diff --git a/frontend/src/i18n/tr_TR.json b/frontend/src/i18n/tr_TR.json index cdbb2237..58ea002a 100644 --- a/frontend/src/i18n/tr_TR.json +++ b/frontend/src/i18n/tr_TR.json @@ -10,6 +10,8 @@ "delete": "Sil", "directorySizes": "Dizin boyutlarını hesapla", "download": "İndir", + "file": "File", + "folder": "Folder", "hideDotfiles": "Nokta dosyalarını gizle", "info": "Bilgi", "more": "Devamı", @@ -242,6 +244,7 @@ "rules": "Kurallar", "rulesHelp": "Burada, belirli kullanıcılara bir dizi izin ve engelleme tanımlayabilirsiniz. Engellenen dosyalar listelerde görünmez ve kullanıcı bunlara erişemez. Kullanıcı kapsamına göre regex ve yolları destekliyoruz.", "scope": "Kapsam", + "setDateFormat": "Set exact date format", "settingsUpdated": "Ayarlar güncellendi!", "shareDeleted": "Paylaşım Silindi!", "shareDuration": "Paylaşım Süresi", @@ -279,6 +282,7 @@ "settings": "Ayarlar", "signup": "Kayıt Ol", "siteSettings": "Site Ayarları", + "tmpDir": "Temporary folder", "trashBin": "Çöp Kutusu" }, "success": { diff --git a/frontend/src/i18n/uk_UA.json b/frontend/src/i18n/uk_UA.json index 4f49cc40..56a4dd6f 100644 --- a/frontend/src/i18n/uk_UA.json +++ b/frontend/src/i18n/uk_UA.json @@ -10,6 +10,8 @@ "delete": "Видалити", "directorySizes": "Порахувати розміри каталогів", "download": "Скачати", + "file": "File", + "folder": "Folder", "hideDotfiles": "Сховати дотфайли", "info": "Інфо", "more": "Більше", @@ -169,7 +171,7 @@ "skipTrashMessage": "Видалити без збереження в кошик", "unarchive": "Розархівування", "unarchiveMessage": "Виберіть назву папки призначення:", - "unarchiveOverwriteExisting": "Overwrite existing files", + "unarchiveOverwriteExisting": "Перезаписати наявні файли", "unsavedChanges": "Неможливо зберегти внесені зміни. Покинути сторінку?", "upload": "Завантаження", "uploadFile": "Файл", @@ -242,6 +244,7 @@ "rules": "Правила", "rulesHelp": "Тут ви можете визначити набір правил, що дозволяють або забороняють для конкретного користувача. Заблоковані файли не показуватимуться в списках, і не будуть доступні для користувача. Є підтримка регулярних виразів і шляхів.", "scope": "Корінь", + "setDateFormat": "Set exact date format", "settingsUpdated": "Налаштування оновлено!", "shareDeleted": "Налаштування спільного доступу видалено!", "shareDuration": "Тривалість спільного доступу", @@ -279,6 +282,7 @@ "settings": "Налаштування", "signup": "Зареєструватися", "siteSettings": "Налаштування сайту", + "tmpDir": "Temporary folder", "trashBin": "Кошик" }, "success": { diff --git a/frontend/src/i18n/zh_CN.json b/frontend/src/i18n/zh_CN.json index e27566c0..332e29e4 100644 --- a/frontend/src/i18n/zh_CN.json +++ b/frontend/src/i18n/zh_CN.json @@ -10,6 +10,8 @@ "delete": "删除", "directorySizes": "计算文件夹大小", "download": "下载", + "file": "File", + "folder": "Folder", "hideDotfiles": "不显示隐藏的文件", "info": "信息", "more": "更多", @@ -169,7 +171,7 @@ "skipTrashMessage": "跳过回收站并立即删除", "unarchive": "解压缩", "unarchiveMessage": "选择目标文件夹名字:", - "unarchiveOverwriteExisting": "Overwrite existing files", + "unarchiveOverwriteExisting": "覆盖现有文件", "unsavedChanges": "您所做的修改将不会被保存, 丢弃更改吗?", "upload": "上传", "uploadFile": "文件", @@ -242,6 +244,7 @@ "rules": "规则", "rulesHelp": "您可以为该用户制定一组黑名单或白名单式的规则,被屏蔽的文件将不会显示在列表中,用户也无权限访问,支持相对于目录范围的路径。", "scope": "目录范围", + "setDateFormat": "Set exact date format", "settingsUpdated": "设置已更新!", "shareDeleted": "共享已删除!", "shareDuration": "分享期限", @@ -279,6 +282,7 @@ "settings": "设置", "signup": "注册", "siteSettings": "网站设置", + "tmpDir": "Temporary folder", "trashBin": "回收站" }, "success": { diff --git a/frontend/src/utils/constants.js b/frontend/src/utils/constants.js index d30f8b90..c5554475 100644 --- a/frontend/src/utils/constants.js +++ b/frontend/src/utils/constants.js @@ -7,6 +7,7 @@ const recaptchaKey = window.FileBrowser.ReCaptchaKey; const signup = window.FileBrowser.Signup; const version = window.FileBrowser.Version; const logoURL = `${staticURL}/img/logo.svg`; +const tmpDir = window.FileBrowser.TmpDir; const trashDir = window.FileBrowser.TrashDir; const quotaExists = window.FileBrowser.QuotaExists; const noAuth = window.FileBrowser.NoAuth; @@ -27,6 +28,7 @@ export { recaptchaKey, signup, version, + tmpDir, trashDir, quotaExists, noAuth, diff --git a/frontend/src/views/settings/Profile.vue b/frontend/src/views/settings/Profile.vue index f04372d8..0b8af637 100644 --- a/frontend/src/views/settings/Profile.vue +++ b/frontend/src/views/settings/Profile.vue @@ -143,7 +143,12 @@ export default { singleClick: this.singleClick, dateFormat: this.dateFormat, }; - await api.update(data, ["locale", "hideDotfiles", "singleClick", "dateFormat"]); + await api.update(data, [ + "locale", + "hideDotfiles", + "singleClick", + "dateFormat", + ]); this.updateUser(data); this.$showSuccess(this.$t("settings.settingsUpdated")); } catch (e) { diff --git a/http/static.go b/http/static.go index ebf30566..eac79b0f 100644 --- a/http/static.go +++ b/http/static.go @@ -34,6 +34,7 @@ func handleWithStaticData(w http.ResponseWriter, _ *http.Request, d *data, fSys "Version": version.Version, "StaticURL": path.Join(d.server.BaseURL, "/static"), "Signup": d.settings.Signup, + "TmpDir": d.settings.Defaults.TmpDir, "TrashDir": d.settings.Defaults.TrashDir, "QuotaExists": d.settings.Defaults.QuotaFile != "", "NoAuth": d.settings.AuthMethod == auth.MethodNoAuth, diff --git a/settings/defaults.go b/settings/defaults.go index 50fae36a..aa339072 100644 --- a/settings/defaults.go +++ b/settings/defaults.go @@ -9,6 +9,7 @@ import ( // for some fields on User. type UserDefaults struct { Scope string `json:"scope"` + TmpDir string `json:"tmpDir"` TrashDir string `json:"trashDir"` QuotaFile string `json:"quotaFile"` Locale string `json:"locale"` @@ -24,6 +25,7 @@ type UserDefaults struct { // Apply applies the default options to a user. func (d *UserDefaults) Apply(u *users.User) { u.Scope = d.Scope + u.TmpDir = d.TmpDir u.TrashDir = d.TrashDir u.QuotaFile = d.QuotaFile u.Locale = d.Locale diff --git a/users/users.go b/users/users.go index 7540e3ec..e61e77e2 100644 --- a/users/users.go +++ b/users/users.go @@ -25,6 +25,7 @@ type User struct { Username string `storm:"unique" json:"username"` Password string `json:"password"` Scope string `json:"scope"` + TmpDir string `json:"tmpDir"` TrashDir string `json:"trashDir"` QuotaFile string `json:"quotaFile"` Locale string `json:"locale"`