]> _ Git - fluidbook-toolbox.git/commitdiff
wip #7360 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 28 Feb 2025 17:58:59 +0000 (18:58 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 28 Feb 2025 17:58:59 +0000 (18:58 +0100)
app/Console/Commands/FluidbookHostAbuse.php
app/Http/Controllers/Admin/Operations/FluidbookPublication/DownloadOperation.php
app/Models/FluidbookPublication.php

index 2d3f5b80ebff240a30a4cf183f9e6e6653c41130..cb55a402ec606ca974bf10c777dde6fec70b1766 100644 (file)
@@ -19,6 +19,7 @@ class FluidbookHostAbuse extends ToolboxCommand
         foreach ($ids as $id) {
             /** @var FluidbookPublication $fb */
             $fb = FluidbookPublication::withoutGlobalScopes()->find($id);
+            $formerValue = $fb->install_online;
             $fb->install_online = ['server' => 43, 'path' => $id];
             $fb->saveQuietly();
 
@@ -26,6 +27,7 @@ class FluidbookHostAbuse extends ToolboxCommand
             $download->handle();
 
             $fb->redirectDemo = 'https://abuse.hosting2.fluidbook.com/' . $id . '/';
+            $fb->install_online = $formerValue;
             $fb->saveQuietly();
         }
     }
index 64e1079abd7d771598eaa3936700b5cefc7a1fb6..3c55aa8bd95d754f144bb862f62ac28ed541638f 100644 (file)
@@ -8,6 +8,7 @@ use App\Jobs\GenerateDeliveryThumbnailsPreview;
 use App\Models\FluidbookPublication;
 use Cubist\Backpack\Http\Controllers\Base\XSendFileController;
 use Cubist\Util\Files\Files;
+use Illuminate\Support\Facades\Artisan;
 use Illuminate\Support\Facades\Route;
 use Prologue\Alerts\Facades\Alert;
 
@@ -21,6 +22,7 @@ trait DownloadOperation
         Route::match(['get'], $segment . '/{id}/package/{action}/{version}', $controller . '@package');
         Route::match(['get'], $segment . '/{id}/package/{action}/scorm/{scormversion}', $controller . '@packageScorm');
         Route::match(['get'], $segment . '/{id}_{hash}/download/{file}', $controller . '@download')->withoutMiddleware([CheckIfAdmin::class]);
+        Route::match(['get'], $segment . '/{id}/movetoabuse', $controller . '@moveToAbuse')->withoutMiddleware([CheckIfAdmin::class]);
     }
 
     protected function setupDownloadDefaults()
@@ -39,12 +41,20 @@ trait DownloadOperation
             abort(404, __('Cette publication ne comporte aucune page'));
         }
         start_measure('Render delivery view');
-        $res= view('fluidbook_publication.delivery.index', ['fluidbook' => $fluidbook]);
+        $res = view('fluidbook_publication.delivery.index', ['fluidbook' => $fluidbook]);
         stop_measure('Render delivery view');
         stop_measure('Delivery action');
         return $res;
     }
 
+    protected function moveToAbuse($id)
+    {
+        if (!FluidbookPublication::hasPermission($id, 'admin')) {
+            abort(401);
+        }
+        Artisan::call('fluidbook:hosting:abuse ' . $id);
+    }
+
     protected function deliveryThumb($id, $type)
     {
 
index 637e6c00fdf1607ecd58c841109617306563e0dd..64872e1e79c9e4ce3934d37a932bfd7cc20f4f31 100644 (file)
@@ -983,6 +983,7 @@ class FluidbookPublication extends ToolboxStatusModel
                 $actions = [];
                 if ($this->stats) {
                     $actions['Voir les stats'] = backpack_url('/fluidbook-publication/stats/' . $this->id . '_' . $this->hash . '/');
+                    $actions['Déplacer sur le serveur abuse et y rediriger le lien de démo'] = backpack_url('/fluidbook-publication/' . $this->id . '/movetoabuse');
                 }
 
                 Mattermost::send(Mattermost::fluidbookPreviewAlertsChannel,