From: Vincent Vanwaelscappel Date: Fri, 28 Feb 2025 17:58:59 +0000 (+0100) Subject: wip #7360 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=d79f644e2b562e105e69f84f34612d5b8bfcc0a4;p=fluidbook-toolbox.git wip #7360 @1 --- diff --git a/app/Console/Commands/FluidbookHostAbuse.php b/app/Console/Commands/FluidbookHostAbuse.php index 2d3f5b80e..cb55a402e 100644 --- a/app/Console/Commands/FluidbookHostAbuse.php +++ b/app/Console/Commands/FluidbookHostAbuse.php @@ -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(); } } diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/DownloadOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/DownloadOperation.php index 64e1079ab..3c55aa8bd 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/DownloadOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/DownloadOperation.php @@ -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) { diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index 637e6c00f..64872e1e7 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -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,