]> _ Git - fluidbook-toolbox.git/commitdiff
wip #6575 @1.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 2 Jan 2024 16:43:21 +0000 (17:43 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 2 Jan 2024 16:43:21 +0000 (17:43 +0100)
app/Http/Controllers/Admin/FluidbookPublicationCrudController.php
app/Http/Controllers/Admin/Operations/FluidbookPublication/CompositionOperation.php
app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/GetPageFromWebsiteOperation.php [new file with mode: 0644]
app/Models/FluidbookPublication.php

index 185f4b9763535f3db2cf318a39b9022471a658e4..c33f41cf5023246868ee73b7ae2dc0a7ca353d3d 100644 (file)
@@ -21,6 +21,7 @@ class FluidbookPublicationCrudController extends \Cubist\Backpack\Magic\Controll
        use \App\Http\Controllers\Admin\Operations\InvoiceOperation;
        use \App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\SocialImageOperation;
        use \App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\ExportPdfOperation;
+       use \App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\GetPageFromWebsiteOperation;
        use \App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\BastideOperation;
        use \App\Http\Controllers\Admin\Operations\FluidbookPublication\YSLOperation;
        
index 400f01b19d47937804bf9099940186ca5587ad77..cd36a77a14bd863985e5f0c653ffc0b658f857a9 100644 (file)
@@ -75,7 +75,6 @@ trait CompositionOperation
 
     protected function getThumb($doc_id, $doc_page)
     {
-
         /** @var FluidbookDocument $doc */
         $doc = FluidbookDocument::withoutGlobalScopes()->find($doc_id);
         $path = $doc->getFile($doc_page, 'jpg', 'thumb', true, true, '');
diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/GetPageFromWebsiteOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/GetPageFromWebsiteOperation.php
new file mode 100644 (file)
index 0000000..1c3c987
--- /dev/null
@@ -0,0 +1,26 @@
+<?php
+
+namespace App\Http\Controllers\Admin\Operations\FluidbookPublication\Services;
+
+use App\Http\Middleware\CheckIfAdmin;
+use App\Models\FluidbookPublication;
+use Cubist\Backpack\Http\Controllers\Base\XSendFileController;
+use Illuminate\Support\Facades\Route;
+
+trait GetPageFromWebsiteOperation
+{
+    protected function setupGetpagefromwebsiteRoutes($segment, $routeName, $controller)
+    {
+        foreach (['services', 's'] as $segment) {
+            Route::match(['get'], $segment . '/getFluidbookPageFromWebsiteV3/{fluidbook}/{page}', $controller . '@getPageFromWebsite')->withoutMiddleware([CheckIfAdmin::class]);
+        }
+    }
+
+    protected function getPageFromWebsite($fluidbook, $page)
+    {
+        /** @var FluidbookPublication $publication */
+        $publication = FluidbookPublication::withoutGlobalScopes()->find($fluidbook);
+        $path = $publication->getFile($page, 'jpg', 150, true, true, '');
+        return XSendFileController::sendfile($path);
+    }
+}
index 56e73d6637697e71364cfa5d6c96941f6b18e1e7..63319174c4ce827f84fc9b7a4d44411273499f5d 100644 (file)
@@ -29,6 +29,7 @@ use App\Http\Controllers\Admin\Operations\FluidbookPublication\LinksOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\PreviewOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\BastideOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\ExportPdfOperation;
+use App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\GetPageFromWebsiteOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\SocialImageOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\StatsOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\UpgradeOperation;
@@ -106,6 +107,7 @@ class FluidbookPublication extends ToolboxStatusModel
         // Services
         SocialImageOperation::class,
         ExportPdfOperation::class,
+        GetPageFromWebsiteOperation::class,
         // Carts
         BastideOperation::class,
         // YSL