v0.1 Blacklist and Exif data

This commit is contained in:
Miloš Holba
2020-09-05 14:35:51 +02:00
parent 95f6695d00
commit 6effd4a7d9
15 changed files with 456 additions and 67 deletions

View File

@@ -67,6 +67,10 @@ class FileManagerFile extends Model
'file_url'
];
protected $casts = [
'meta_data' => 'array',
];
/**
* Set routes with public access
*

View File

@@ -528,4 +528,10 @@ function get_pretty_name($basename, $name, $mimetype)
}
return $name . '.' . $mimetype;
}
}
function get_image_meta_data($file)
{
if(get_file_type($file->getMimeType()) === 'image') {
return exif_read_data($file);
}
}

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\FileFunctions;
use App\Rules\MimetypeBlacklistValidation;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
@@ -26,7 +27,7 @@ class UploadRequest extends FormRequest
{
return [
'parent_id' => 'required|integer',
'file' => 'required|file',
'file' => ['required','file' , new MimetypeBlacklistValidation]
];
}
}

View File

@@ -257,6 +257,8 @@ class Editor
// If last then process file
if ($request->boolean('is_last')) {
$meta_data = get_image_meta_data($file);
$disk_local = Storage::disk('local');
$unique_id = get_unique_id();
@@ -292,6 +294,7 @@ class Editor
'mimetype' => get_file_type_from_mimetype($file_mimetype),
'type' => get_file_type($file_mimetype),
'folder_id' => $request->parent_id,
'meta_data' => $meta_data,
'name' => $user_file_name,
'unique_id' => $unique_id,
'basename' => $disk_file_name,

View File

@@ -0,0 +1,42 @@
<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class MimetypeBlacklistValidation implements Rule
{
/**
* Create a new rule instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
$mimetype_blacklist = explode(',' ,get_setting('mimetypes_blacklist'));
$fileMimetype = explode('/' ,$value->getMimeType());
return !array_intersect($fileMimetype , $mimetype_blacklist);
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
abort (415,'Type of this mime type is not allowed.');
}
}

View File

@@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddExifDataToFileManagerFilesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('file_manager_files', function (Blueprint $table) {
$table->longText('meta_data')->after('type')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('file_manager_files', function (Blueprint $table) {
//
});
}
}

View File

@@ -1,66 +1,184 @@
{
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js?id=adad12e7b42316bdd659",
"/js/main.js": "/js/main.js?id=56929a5bd004d4b75bea",
"/css/app.css": "/css/app.css?id=dbf49843b327d3936c06",
"/chunks/admin.js": "/chunks/admin.js?id=5bd95ece632ca142f035",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=b181a9ba45f475b9e004",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=f69d59d6794ea1499fe0",
"/chunks/app-billings.js": "/chunks/app-billings.js?id=eeaf973796e2dc560813",
"/chunks/app-email.js": "/chunks/app-email.js?id=471301be8d4dbb371fa0",
"/chunks/app-index.js": "/chunks/app-index.js?id=ded9a59aa4d4d8040637",
"/chunks/app-others.js": "/chunks/app-others.js?id=3ad2d0ac11ce6252321a",
"/chunks/app-payments.js": "/chunks/app-payments.js?id=819a1e3b30e7aa79c71d",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=8499d3cb5a2c547d3d69",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=f8769c14859175aad49b",
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=410da17c566b388cb0a5",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=153e8ac7ba24a14f2e1a",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=9e9d35c199787d991445",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=4f379c21c8f1df14cda7",
"/chunks/database.js": "/chunks/database.js?id=99736b26537c8bb61a33",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=2e3af103d13536c50757",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=48fa8bb643132a82bdaa",
"/chunks/files.js": "/chunks/files.js?id=0a08eb40be8f2c511ded",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=a84f7a6d4e4e05af0701",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=54cf8dbd4d75fd0b2add",
"/chunks/invoices.js": "/chunks/invoices.js?id=c20b841c75005fdacde6",
"/chunks/landing-page.js": "/chunks/landing-page.js?id=b69d1af44673ddfb69d3",
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=286d18bed681c67e5330",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=2ff6bfeb6d9c43014d69",
"/chunks/pages.js": "/chunks/pages.js?id=49a51fc783d155aa8132",
"/chunks/plan.js": "/chunks/plan.js?id=bbea8c9e9f807d9cedc5",
"/chunks/plan-create.js": "/chunks/plan-create.js?id=0149731ddb88c33b066d",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=e63e243dccb487fa18f5",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=83517dd417b8641c60c8",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=26e1aabafdc06d069fa3",
"/chunks/plans.js": "/chunks/plans.js?id=0b1d2058ba59c955947b",
"/chunks/profile.js": "/chunks/profile.js?id=9e3ff146e95d8a719add",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=696427718c821f482c94",
"/chunks/settings.js": "/chunks/settings.js?id=51495831f7bbad060a00",
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=007277c68fce4a7ce5e9",
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=82cbe975767641ad178e",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=6e9b879329675433551d",
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=9f6fdc546cfa5f98796e",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=9716c15688051b9c9b20",
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=e4176c53674c2e6d440f",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=47090233afc7b0cdf855",
"/chunks/shared-files.js": "/chunks/shared-files.js?id=bc0b14705784b1ff6c82",
"/chunks/shared-page.js": "/chunks/shared-page.js?id=9d725367306c477e5f78",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=0c9fe096135be58283b6",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=eaa8bc2819a9cc19dbc7",
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=cf445ba69a83dc2b3b00",
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=d4434431a9c8fa3ffc2b",
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=175f558c3e09887846a5",
"/chunks/trash.js": "/chunks/trash.js?id=e00ce8bde9ea638f5049",
"/chunks/upgrade.js": "/chunks/upgrade.js?id=03eccfa25c668325efd0",
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=4921e1ce22bfdab9f014",
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=7b02fafcca0029762a66",
"/chunks/user.js": "/chunks/user.js?id=d842e0d6859c94caa23d",
"/chunks/user-create.js": "/chunks/user-create.js?id=4735bda3b876200f0511",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=cea21a2d091f1f02e179",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=b3f5d20c34a5b0bf9ff6",
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=b73fa5a127374d1de1de",
"/chunks/user-password.js": "/chunks/user-password.js?id=466b113e32397b2f2f33",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=7e19cc06447c776ce504",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=45c971c8c4912d44bc42",
"/chunks/users.js": "/chunks/users.js?id=362b167df913626d3d92"
"/js/main.js": "/js/main.js",
"/css/app.css": "/css/app.css",
"/chunks/admin.js": "/chunks/admin.js?id=83654a90239b4ff0369d",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=40c3abfc5b7f1e84bbc3",
"/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js?id=18461a3f7da1919af163",
"/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~01aef58e.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~01aef58e.js?id=43f11d91304a7dd04839",
"/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/trash.js": "/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/trash.js?id=2f9c8b68fa653eaf13ca",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=497795d9c5e0d50f089b",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=49508dc86c4d72423bb1",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=a4d4ba4b5462f9c723f2",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js?id=587cb18ed3ae1fe000d1",
"/chunks/app-billings.js": "/chunks/app-billings.js?id=6c650617de9a9d9c39c7",
"/chunks/app-email.js": "/chunks/app-email.js?id=324500e85f9b53781f62",
"/chunks/app-index.js": "/chunks/app-index.js?id=9ed86c7809567aa885b6",
"/chunks/app-others.js": "/chunks/app-others.js?id=6c8afa8bf48d259e990f",
"/chunks/app-payments.js": "/chunks/app-payments.js?id=f6e8f05e5f661d4db749",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=8500906b76122dcad0c1",
"/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js": "/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js?id=64784710d5a92cb7765b",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=bdbc3a2b23a5012eb5a2",
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=1a124cf4479a55c5f054",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=2863188461bc27d27d21",
"/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js": "/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js?id=1836b64f9d8e5a572718",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=9378c886326c1b809481",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=acd3e78f6ba2f659600f",
"/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js?id=3f60fef388fc2833ccdf",
"/chunks/database.js": "/chunks/database.js?id=cfab86a911b0615c19b6",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=808307bd1366ee6d449c",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=29245bb6b6cfa0b7a4f7",
"/chunks/files.js": "/chunks/files.js?id=fe2b877a0b5abf8a0715",
"/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/trash~chunks~3ea7670b.js": "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/trash~chunks~3ea7670b.js?id=265b706d22b4a3f7c006",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js?id=e7951f3d60b60b2cdc6c",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=47f8fbf3399065d40b4d",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=0f5690fbf38da682f0e9",
"/chunks/invoices.js": "/chunks/invoices.js?id=c2e9dc841cc1c7cf42cf",
"/chunks/landing-page.js": "/chunks/landing-page.js?id=59ae201664474792a28f",
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=ab293b4a32998cf5ee15",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=1323320b7a4ebbcf5c41",
"/chunks/pages.js": "/chunks/pages.js?id=310b14127e288ab16e24",
"/chunks/plan.js": "/chunks/plan.js?id=6f6b5c04b7c085a9bb49",
"/chunks/plan-create.js": "/chunks/plan-create.js?id=b16154f77930c4bb34ff",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=51186df96727f701ebc4",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=576e41df973b07fb11a1",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=c8775cd5bbebf78e9263",
"/chunks/plans.js": "/chunks/plans.js?id=e07de95c6bec0b8e628b",
"/chunks/profile.js": "/chunks/profile.js?id=37f5d436afc0e78b0435",
"/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=7d6ba61413f3080d4979",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=e8eaa54e728057a20d89",
"/chunks/settings.js": "/chunks/settings.js?id=5b19275a5b2b2a3926d1",
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=b54acd8526d5ab352aea",
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=be3524963c3d88f2322b",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=8aaa1951a7f7d74aaa87",
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=5eaf9216db044890af03",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=e1c862190c029a57070c",
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=35bf0c0a4ffe7892247d",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=159b4b228f06eed0f412",
"/chunks/shared-files.js": "/chunks/shared-files.js?id=a4819b420126d7ace70b",
"/chunks/shared-page.js": "/chunks/shared-page.js?id=291c9da610e3863dc2c2",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=7ffa6dd2d60793d56076",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=6ae298c6242d518b2e30",
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=8b2ccd24367b453d5259",
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=88abffc4fe5c9add0629",
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=cd7f58dab68d4f293591",
"/chunks/trash.js": "/chunks/trash.js?id=b09a9826e3b0818fecd6",
"/chunks/upgrade.js": "/chunks/upgrade.js?id=a02958f5900f2cefc136",
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=415a74c25d09037c30ef",
"/chunks/upgrade-billing~chunks/upgrade-plan.js": "/chunks/upgrade-billing~chunks/upgrade-plan.js?id=82a1af659094bc69255b",
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=f973482ec1912e3f1715",
"/chunks/user.js": "/chunks/user.js?id=c05f5bb430af37df3c2e",
"/chunks/user-create.js": "/chunks/user-create.js?id=5b928b478959a28cf72e",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=1ba982a192e9da8cb878",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=29b590f9122daaeffc89",
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=4ae99029e07ff474ae03",
"/chunks/user-password.js": "/chunks/user-password.js?id=3d5631dafd453afe736c",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=b3d2101b0d95ede2d504",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=df3b919b96061f49df6b",
"/chunks/users.js": "/chunks/users.js?id=74c47d22c0bd00148f31",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.10e22258e7ba281fc4a3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.10e22258e7ba281fc4a3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6d18db04993f7c4ff504.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6d18db04993f7c4ff504.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.9192269955f5cd6dc9ca.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.9192269955f5cd6dc9ca.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e8522cdc63f7db831287.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e8522cdc63f7db831287.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.f085070ed7f13633465f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.f085070ed7f13633465f.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3e34e0935529b7e63158.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3e34e0935529b7e63158.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bddd9d1885bb771a654e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bddd9d1885bb771a654e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.f166e1d3a5bb98b2ee98.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.f166e1d3a5bb98b2ee98.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.16f29cff0d25379a2e51.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.16f29cff0d25379a2e51.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5637f05d9b3f83feee80.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5637f05d9b3f83feee80.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bbf86b582c8f8663d3d3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bbf86b582c8f8663d3d3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c425e68d13d715dc17e1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c425e68d13d715dc17e1.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bcb6e63de2c18ced5073.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bcb6e63de2c18ced5073.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.63585999c661f6ef14f5.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.63585999c661f6ef14f5.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3ad584175deb2bd5e393.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3ad584175deb2bd5e393.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.362b718ce1d72df2b144.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.362b718ce1d72df2b144.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.92a76c6141e2e4ab1d75.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.92a76c6141e2e4ab1d75.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.95c67338b1180f02c061.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.95c67338b1180f02c061.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8cd8f5d3565039a6599a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8cd8f5d3565039a6599a.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.81e7ca48aa36534fbe0b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.81e7ca48aa36534fbe0b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bbe2fd6773f2e2fe0605.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bbe2fd6773f2e2fe0605.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.415b5ef833066ae90f79.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.415b5ef833066ae90f79.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.95dcf02826ca0acba731.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.95dcf02826ca0acba731.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bdb70dfb9d663ad047e5.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bdb70dfb9d663ad047e5.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6e389f81ea29174cc216.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6e389f81ea29174cc216.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.afbf5ce784ebc26b6eeb.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.afbf5ce784ebc26b6eeb.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.784ba41189344978d272.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.784ba41189344978d272.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3b7e3cdcd64da624d83d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3b7e3cdcd64da624d83d.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c3e7001f1939618c05be.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c3e7001f1939618c05be.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4a3ddd986f4289753121.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4a3ddd986f4289753121.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.25e78a5d2d3b660e73e3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.25e78a5d2d3b660e73e3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bc42610f4b5da23adbee.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bc42610f4b5da23adbee.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6d959fe75936c8337a01.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6d959fe75936c8337a01.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.046f68cb2ecfaf9f4703.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.046f68cb2ecfaf9f4703.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.de4e31f002ddab919af5.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.de4e31f002ddab919af5.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2d3b31ec887c7c9181c4.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2d3b31ec887c7c9181c4.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3a78d34e1c795b80b153.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3a78d34e1c795b80b153.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6d7bbce41773946d197f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6d7bbce41773946d197f.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4a21dd16db024f4a127e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4a21dd16db024f4a127e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.7d67e800fb62edab6beb.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.7d67e800fb62edab6beb.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.90ea28bbc8b138b1c873.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.90ea28bbc8b138b1c873.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.64e2f5a4c733acc3676e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.64e2f5a4c733acc3676e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.aa976c4d5a9476020779.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.aa976c4d5a9476020779.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bc88d02899cc84bff9e8.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bc88d02899cc84bff9e8.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8682a6829d6836c28d25.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8682a6829d6836c28d25.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3b3bc49969d72e50fb4c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3b3bc49969d72e50fb4c.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.67e25a31d6d89b173d38.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.67e25a31d6d89b173d38.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.062e3cea4ef1bd13f9f9.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.062e3cea4ef1bd13f9f9.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8a31bfa6557b5d519a6e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8a31bfa6557b5d519a6e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.9d519685dc9d8f0d52b8.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.9d519685dc9d8f0d52b8.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1782de44e7a2a0c19a6a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1782de44e7a2a0c19a6a.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b362bab38faac63ba2fd.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b362bab38faac63ba2fd.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3171e322494e69017c26.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3171e322494e69017c26.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.03dfd4f170218d978efa.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.03dfd4f170218d978efa.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b7b53a4c65e77b5e321e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b7b53a4c65e77b5e321e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4e1c44bb429799e090e1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4e1c44bb429799e090e1.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.59b85a0aec0e887c008d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.59b85a0aec0e887c008d.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.932f966d926faace4164.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.932f966d926faace4164.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b6aa24acf2dfcb3368f3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b6aa24acf2dfcb3368f3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.12b72a0b1b445a9b2d6c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.12b72a0b1b445a9b2d6c.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3deb56aadb7f4e006110.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3deb56aadb7f4e006110.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.723df678dde667b191ee.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.723df678dde667b191ee.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.742920f689f04a7d0c93.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.742920f689f04a7d0c93.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e0c14c0e47eb43ecd076.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e0c14c0e47eb43ecd076.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4ff1126049fb24189953.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4ff1126049fb24189953.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.ee0c54c2def241138396.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.ee0c54c2def241138396.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8bec3e7bf79bf17f96da.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8bec3e7bf79bf17f96da.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.96e12f3fff413a69b8c3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.96e12f3fff413a69b8c3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.f7d626cc61d9d494f148.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.f7d626cc61d9d494f148.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.d0d9016b0edd0c192f3f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.d0d9016b0edd0c192f3f.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5005b068ca99f97639ac.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5005b068ca99f97639ac.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1afbb78d139ea2153156.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1afbb78d139ea2153156.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.86e1fa08aabd6ccdf314.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.86e1fa08aabd6ccdf314.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.fa9d1a571018df5bb969.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.fa9d1a571018df5bb969.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.79752b7c3b8fbf660581.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.79752b7c3b8fbf660581.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.7b371d89a67f35d35328.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.7b371d89a67f35d35328.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3959a22ebeb54ff05585.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3959a22ebeb54ff05585.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.9a579741133f06c37397.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.9a579741133f06c37397.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.211bdfd519bb9f66936a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.211bdfd519bb9f66936a.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.33a0ddda84e081cae06f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.33a0ddda84e081cae06f.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e992e377e0d0278fd8ca.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e992e377e0d0278fd8ca.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1d6ed743c6d23bea2b47.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1d6ed743c6d23bea2b47.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2610c68c64bfc1d83807.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2610c68c64bfc1d83807.hot-update.js",
"/js/main.51f217330136714b4b74.hot-update.js": "/js/main.51f217330136714b4b74.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8a126c69e461bd587a40.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8a126c69e461bd587a40.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.de381465e4e53e26c99e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.de381465e4e53e26c99e.hot-update.js",
"/js/main.2ce80f1589fec73be3d4.hot-update.js": "/js/main.2ce80f1589fec73be3d4.hot-update.js",
"/js/main.69d195e6098a49787882.hot-update.js": "/js/main.69d195e6098a49787882.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.529246ac9989e4d7b268.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.529246ac9989e4d7b268.hot-update.js",
"/js/main.7266c5c13672f21fd276.hot-update.js": "/js/main.7266c5c13672f21fd276.hot-update.js",
"/js/main.abb0fca7e1f48c72f872.hot-update.js": "/js/main.abb0fca7e1f48c72f872.hot-update.js",
"/js/main.4d589fa1ece841c7b0c1.hot-update.js": "/js/main.4d589fa1ece841c7b0c1.hot-update.js",
"/js/main.c9c9f84be86294376c30.hot-update.js": "/js/main.c9c9f84be86294376c30.hot-update.js",
"/js/main.a0921cc67efa77fa8a03.hot-update.js": "/js/main.a0921cc67efa77fa8a03.hot-update.js",
"/js/main.30e29b81ccd72fb283db.hot-update.js": "/js/main.30e29b81ccd72fb283db.hot-update.js",
"/js/main.51b0214e2dfe9f60ffa0.hot-update.js": "/js/main.51b0214e2dfe9f60ffa0.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e73dd25a86e0006cba63.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e73dd25a86e0006cba63.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2feb11a53100c5604a54.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2feb11a53100c5604a54.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.56d1e052042a3e85369d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.56d1e052042a3e85369d.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2d229b59877550491c38.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2d229b59877550491c38.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.dab747663b1a5ca48b80.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.dab747663b1a5ca48b80.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.49b4c974f6563ac44a07.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.49b4c974f6563ac44a07.hot-update.js",
"/js/main.f988bcc59b3ed20433e8.hot-update.js": "/js/main.f988bcc59b3ed20433e8.hot-update.js",
"/js/main.db0af3c6d44950f852e2.hot-update.js": "/js/main.db0af3c6d44950f852e2.hot-update.js",
"/js/main.838f43322699e6a381f2.hot-update.js": "/js/main.838f43322699e6a381f2.hot-update.js",
"/js/main.d1b73e553b40262b3dc3.hot-update.js": "/js/main.d1b73e553b40262b3dc3.hot-update.js"
}

View File

@@ -56,12 +56,21 @@
<CopyInput class="copy-sharelink" size="small" :value="fileInfoDetail.shared.link"/>
</div>
</ListInfoItem>
<div @click="this.showMetaData">
<ListInfoItem v-if="fileInfoDetail.meta_data"
:title="$t('file_detail_meta.meta_data')"
class="meta-data">
<ImageMetaData v-if="this.metaDataShow" />
</ListInfoItem>
</div>
</ListInfo>
</div>
</template>
<script>
import {Edit2Icon, LockIcon, UnlockIcon, ImageIcon, VideoIcon, FolderIcon, FileIcon} from 'vue-feather-icons'
import ImageMetaData from '@/components/FilesView/ImageMetaData'
import FilePreview from '@/components/FilesView/FilePreview'
import CopyInput from '@/components/Others/Forms/CopyInput'
import ListInfoItem from '@/components/Others/ListInfoItem'
@@ -72,6 +81,7 @@
export default {
name: 'FileInfoPanel',
components: {
ImageMetaData,
ListInfoItem,
ListInfo,
FilePreview,
@@ -131,7 +141,15 @@
return this.fileInfoDetail.shared.protected
}
},
data() {
return {
metaDataShow: false
}
},
methods: {
showMetaData() {
this.metaDataShow = !this.metaDataShow
},
shareItemOptions() {
// Open share item popup
events.$emit('popup:open', {name: 'share-edit', item: this.fileInfoDetail})
@@ -212,6 +230,9 @@
width: 100%;
}
}
.meta-data{
cursor: pointer;
}
@media (prefers-color-scheme: dark) {

View File

@@ -0,0 +1,75 @@
<template>
<div>
<ul class="meta-data-list">
<li v-if="fileInfoDetail.meta_data.Artist"> {{$t('file_detail_meta.author')}}
<p> {{fileInfoDetail.meta_data.Artist}} </p> </li>
<li v-if="fileInfoDetail.meta_data.DateTimeOriginal">{{$t('file_detail_meta.time_data')}}
<p> {{fileInfoDetail.meta_data.DateTimeOriginal}} </p> </li>
<li v-if="fileInfoDetail.meta_data.Make">{{$t('file_detail_meta.make')}}
<p> {{fileInfoDetail.meta_data.Make}} </p> </li>
<li v-if="fileInfoDetail.meta_data.Model">{{$t('file_detail_meta.model')}}
<p> {{fileInfoDetail.meta_data.Model}} </p> </li>
<li v-if="fileInfoDetail.meta_data.COMPUTED.CCDWidth">{{$t('file_detail_meta.camera_lens')}}
<p> {{fileInfoDetail.meta_data.COMPUTED.CCDWidth}} </p> </li>
<li v-if="fileInfoDetail.meta_data.COMPUTED.ApertureFNumber">{{$t('file_detail_meta.aperature')}}
<p> {{fileInfoDetail.meta_data.COMPUTED.ApertureFNumber}} </p> </li>
<li v-if="fileInfoDetail.meta_data.ISOSpeedRatings">{{$t('file_detail_meta.iso')}}
<p> {{fileInfoDetail.meta_data.ISOSpeedRatings}} </p> </li>
<li v-if="fileInfoDetail.meta_data.FocalLength">{{$t('file_detail_meta.focal')}}
<p> {{fileInfoDetail.meta_data.FocalLength}} </p> </li>
<li v-if="fileInfoDetail.meta_data.ExposureTime">{{$t('file_detail_meta.exposure')}}
<p> {{fileInfoDetail.meta_data.ExposureTime}} </p> </li>
<li v-else>{{$t('file_detail_meta.not_avaible')}} </li>
</ul>
</div>
</template>
<script>
import {mapGetters} from 'vuex'
export default {
name: 'ImageMetaData',
computed: {
...mapGetters(['fileInfoDetail']),
},
}
</script>
<style lang="scss" scoped>
@import '@assets/vue-file-manager/_variables';
@import '@assets/vue-file-manager/_mixins';
.meta-data-list {
list-style: none;
padding: 0px;
margin: 0px;
li {
margin-top:10px;
@include font-size(14);
font-weight: bold;
color: $text;
p {
@include font-size(13);
color: $text;
}
}
}
@media (prefers-color-scheme: dark) {
li {
color:$dark_mode_text_primary !important;
p {
color: $dark_mode_text_primary !important;
}
}
}
</style>

View File

@@ -145,6 +145,10 @@ const Helpers = {
if (error.response.status === 500)
isNotGeneralError = false
//Break if mimetype of file is in blacklist
if(error.response.status === 415)
isNotGeneralError = false
// Show Error
if (attempts === 3)
this.$isSomethingWrong()

View File

@@ -208,6 +208,9 @@
"username_plac": "输入您的邮件用户名"
},
"others": {
"mimetypes_blacklist": "Mimetypes Blacklist",
"mimetypes_blacklist_plac":"Add mimetypes to Blacklist" ,
"mimetypes_blacklist_help" :"If you want ban some type of files to upload just add them to blacklist like this: php,mp3,jpeg <br/> Use a comma between each mime type. Don't use a dot before mimetypes." ,
"section_cache": "Application Cache",
"cache_disclaimer": "Did you change anything in your .env file or change your stripe credentials? Then clear your cache.",
"cache_clear": "Clear Cache",
@@ -295,6 +298,19 @@
"size": "大小",
"where": "地址"
},
"file_detail_meta": {
"meta_data": "Metadata",
"author": "Author",
"time_data": "Original time data",
"make": "Camera",
"model": "Model",
"camera_lens": "Camera lens",
"aperature": "Aperture F Number",
"iso": "ISO",
"focal": "Focal length",
"exposure": "Exposure time",
"not_avaible": "Metadata not avaible"
},
"folder": {
"empty": "空的",
"item_counts": "{count} 个文件 | {count} 个文件"
@@ -473,6 +489,10 @@
},
"title": "选择付款方式"
},
"popup_mimetypes_blacklist": {
"title": "Sorry",
"message": "File of this type is not allowed to upload."
},
"popup_create_folder": {
"folder_default_name": "新文件夹",
"title": "请填入新文件夹名称"

View File

@@ -210,6 +210,9 @@
"username_plac": "Type your mail username"
},
"others": {
"mimetypes_blacklist": "Mimetypes Blacklist",
"mimetypes_blacklist_plac":"Add mimetypes to Blacklist" ,
"mimetypes_blacklist_help" :"If you want ban some type of files to upload just add them to blacklist like this: php,mp3,jpeg <br/> Use a comma between each mime type. Don't use a dot before mimetypes." ,
"section_cache": "Application Cache",
"cache_disclaimer": "Did you change anything in your .env file or change your Stripe credentials? Then clear your cache.",
"cache_clear": "Clear Cache",
@@ -297,6 +300,19 @@
"size": "Size",
"where": "Where"
},
"file_detail_meta": {
"meta_data": "Metadata",
"author": "Author",
"time_data": "Original time data",
"make": "Camera",
"model": "Model",
"camera_lens": "Camera lens",
"aperature": "Aperture F Number",
"iso": "ISO",
"focal": "Focal length",
"exposure": "Exposure time",
"not_avaible": "Metadata not avaible"
},
"folder": {
"empty": "Empty",
"item_counts": "{count} Item | {count} Items"
@@ -475,6 +491,10 @@
},
"title": "Choose Payment Method"
},
"popup_mimetypes_blacklist": {
"title": "Sorry",
"message": "File of this type is not allowed to upload."
},
"popup_create_folder": {
"folder_default_name": "New Folder",
"title": "Please enter your new folder name"

View File

@@ -210,6 +210,9 @@
"username_plac": "Zadajte svoje používateľské meno pre poštu"
},
"others": {
"mimetypes_blacklist": "Čierna listina mimetypov",
"mimetypes_blacklist_plac":"Pridajte mimetypy do Čiernej listiny",
"mimetypes_blacklist_help" :"Ak chcete zakázať nahrávanie niektorých typov súborov, jednoducho ich pridajte na čiernu listinu, príklad: php, mp3, jpeg <br/> Medzi mimetypmi použite čiarku. Nevkladajte bodku pred mimetyp." ,
"section_cache": "Aplikačná pamäť",
"cache_disclaimer": "Zmenili ste niečo v .env súbore alebo ste zmenili Stripe poverenia? Vymažte aplikačnú pamäť.",
"cache_clear": "Vymazať aplikačnú pamäť",
@@ -297,6 +300,19 @@
"size": "Veľkosť",
"where": "Umiestnenie"
},
"file_detail_meta": {
"meta_data": "Metadata",
"author": "Autor",
"time_data": "Pôvodných časový údaj",
"make": "Fotoaparát",
"model": "Model",
"camera_lens": "Objektív fotoaparátu",
"aperature": "Clona",
"iso": "ISO",
"focal": "Ohnisková vzdialenosť",
"exposure": "Doba expozície",
"not_avaible": "Metadáta nie sú k dispozícii"
},
"folder": {
"empty": "Prázdne",
"item_counts": "{count} Položka | {count} Položky"
@@ -475,6 +491,10 @@
},
"title": "Vyberte si metódu platby"
},
"popup_mimetypes_blacklist": {
"title": "Ospravelnujume sa",
"message": "Nieje povolené nahrávať tento typ súboru."
},
"popup_create_folder": {
"folder_default_name": "Nový priečinok",
"title": "Prosím, vložte názov nového priečinka"

View File

@@ -122,6 +122,13 @@ const actions = {
message: i18n.t('popup_exceed_limit.message')
})
break;
case 415:
events.$emit('alert:open', {
emoji: '😬',
title: i18n.t('popup_mimetypes_blacklist.title'),
message: i18n.t('popup_mimetypes_blacklist.message')
})
break;
case 413:
events.$emit('alert:open', {
emoji: '😟',

View File

@@ -80,6 +80,21 @@
</ValidationProvider>
</div>
<div class="block-wrapper">
<label>{{ $t('admin_settings.others.mimetypes_blacklist') }}:</label>
<small class="input-help" v-html="$t('admin_settings.others.mimetypes_blacklist_help')"></small>
</div>
<div class="block-wrapper">
<ValidationProvider tag="div" mode="passive" class="input-wrapper" name="Mimetypes Blacklist"
v-slot="{ errors }">
<textarea rows="2" @input="$updateText('/settings', 'mimetypes_blacklist', app.mimetypesBlacklist)" v-model="app.mimetypesBlacklist"
:placeholder="$t('admin_settings.others.mimetypes_blacklist_plac')"
type="text" :class="{'is-error': errors[0]}"/>
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
</ValidationProvider>
</div>
<FormLabel class="mt-70">
{{ $t('admin_settings.others.section_cache') }}
</FormLabel>
@@ -154,7 +169,7 @@
mounted() {
axios.get('/api/settings', {
params: {
column: 'contact_email|google_analytics|storage_default|registration|storage_limitation'
column: 'contact_email|google_analytics|storage_default|registration|storage_limitation|mimetypes_blacklist'
}
})
.then(response => {
@@ -166,6 +181,7 @@
defaultStorage: response.data.storage_default,
userRegistration: parseInt(response.data.registration),
storageLimitation: parseInt(response.data.storage_limitation),
mimetypesBlacklist : response.data.mimetypes_blacklist
}
})
}