From: Vincent Vanwaelscappel Date: Mon, 12 Sep 2022 18:04:29 +0000 (+0200) Subject: wait #5448 @0:20 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=4ed84043f2e6204cf0be1ea18722023687899663;p=fluidbook-toolbox.git wait #5448 @0:20 --- diff --git a/app/Http/Controllers/Admin/Operations/Tools/SVGSpriteDownload.php b/app/Http/Controllers/Admin/Operations/Tools/SVGSpriteDownload.php index 42604ba94..9d1e3604d 100644 --- a/app/Http/Controllers/Admin/Operations/Tools/SVGSpriteDownload.php +++ b/app/Http/Controllers/Admin/Operations/Tools/SVGSpriteDownload.php @@ -2,7 +2,27 @@ namespace App\Http\Controllers\Admin\Operations\Tools; +use App\Jobs\ElearningPackageDownload; +use App\Models\ELearningPackage; +use App\Models\ToolSVGSprite; +use Illuminate\Support\Facades\Route; +use Prologue\Alerts\Facades\Alert; + trait SVGSpriteDownload { + protected function setupDownloadRoutes($segment, $routeName, $controller) + { + Route::match(['get'], $segment . '/{id}/download', $controller . '@download'); + } + + protected function setupDownloadDefaults() + { + $this->crud->addButtonFromView('line', 'download', 'tools.svgsprite.download', 'end'); + } + protected function download($id) + { + $sprite = ToolSVGSprite::find($id); + return response($sprite->generate(), 200, ['Content-type' => 'text/plain']); + } } diff --git a/app/Models/ToolSVGSprite.php b/app/Models/ToolSVGSprite.php index c4cdd0166..3f0623399 100644 --- a/app/Models/ToolSVGSprite.php +++ b/app/Models/ToolSVGSprite.php @@ -44,4 +44,17 @@ class ToolSVGSprite extends ToolboxModel } + public function generate() + { + $res = ''; + foreach ($this->icons as $icon) { + if (preg_match('/]*)>(.*)<\/svg>/m', $icon['svgcode'], $matches)) { + $res .= '' . $matches[4] . ''; + } + } + + $res .= ''; + return $res; + } + } diff --git a/resources/views/vendor/backpack/crud/buttons/tools/svgsprite/download.blade.php b/resources/views/vendor/backpack/crud/buttons/tools/svgsprite/download.blade.php new file mode 100644 index 000000000..9ce582afc --- /dev/null +++ b/resources/views/vendor/backpack/crud/buttons/tools/svgsprite/download.blade.php @@ -0,0 +1,6 @@ + + {{__('Exporter')}} +