From: Vincent Vanwaelscappel Date: Thu, 23 Sep 2021 13:46:52 +0000 (+0200) Subject: wip #4666 @2 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=54c24d19ef67ff3ff6344acd716c479984a3c22f;p=cubist_cms-back.git wip #4666 @2 --- diff --git a/composer.json b/composer.json index a187e52..a1001db 100644 --- a/composer.json +++ b/composer.json @@ -23,7 +23,7 @@ "ext-dom": "*", "ext-libxml": "*", "ext-json": "*", - "backpack/crud": "^4.1.53", + "backpack/crud": "^4.1.54", "backpack/backupmanager": "^3.0", "backpack/logmanager": "^4.0", "backpack/permissionmanager": "^6.0", @@ -49,7 +49,9 @@ "digitallyhappy/toggle-field-for-backpack": "^2.0", "calebporzio/parental": "^v0.11", "cache/filesystem-adapter": "^1.1", - "laravel/framework": "^v8.61" + "laravel/framework": "^v8.61", + "php-ffmpeg/php-ffmpeg": "^0.18.0", + "spatie/pdf-to-image": "^2.1" }, "require-dev": { "filp/whoops": "^2.14", diff --git a/src/app/Http/Controllers/Base/XSendFileController.php b/src/app/Http/Controllers/Base/XSendFileController.php new file mode 100644 index 0000000..8392cbc --- /dev/null +++ b/src/app/Http/Controllers/Base/XSendFileController.php @@ -0,0 +1,18 @@ +header('Content-Type', Files::_getMimeType($path))->header('X-Sendfile', $path); + } else { + return response(null)->setStatusCode(404); + } + } +} diff --git a/src/app/Http/Controllers/CubistStorageController.php b/src/app/Http/Controllers/CubistStorageController.php new file mode 100644 index 0000000..42d0117 --- /dev/null +++ b/src/app/Http/Controllers/CubistStorageController.php @@ -0,0 +1,22 @@ +setStatusCode('401'); + } + if (!can('edition')) { + dd(403); + return response(null)->setStatusCode('403'); + } + return $this->xSendFile(storage_path('app/public/' . $file)); + } +} diff --git a/src/app/Magic/Fields/Tags.php b/src/app/Magic/Fields/Tags.php index a310286..e6d1571 100644 --- a/src/app/Magic/Fields/Tags.php +++ b/src/app/Magic/Fields/Tags.php @@ -9,4 +9,5 @@ class Tags extends Field protected $_adminType = 'tags'; protected $_cast = 'array'; protected $_viewNamespace = CubistBackpackServiceProvider::NAMESPACE . '::fields'; + protected $_columnType = 'array'; } diff --git a/src/app/Middleware/CubistMiddleware.php b/src/app/Middleware/CubistMiddleware.php index c283ccd..7052271 100644 --- a/src/app/Middleware/CubistMiddleware.php +++ b/src/app/Middleware/CubistMiddleware.php @@ -36,7 +36,7 @@ class CubistMiddleware protected function onAdmin() { - return strpos($this->request->getPathInfo(), '/admin') === 0; + return strpos($this->request->getPathInfo(), backpack_url()) === 0; } public function handle(Request $request, Closure $next) diff --git a/src/routes/cubist/backpack/storage.php b/src/routes/cubist/backpack/storage.php new file mode 100644 index 0000000..275a950 --- /dev/null +++ b/src/routes/cubist/backpack/storage.php @@ -0,0 +1,8 @@ + config('backpack.base.route_prefix', 'admin'), + 'middleware' => ['web', config('backpack.base.middleware_key', 'admin')], +], function () { // custom admin routes + Route::any('storage/{file?}', '\Cubist\Backpack\Http\Controllers\CubistStorageController@storage')->where(['file' => '.*']); +});