From eda94a3eb5f54fbffa63352f3d21dc7349007589 Mon Sep 17 00:00:00 2001 From: rtm516 Date: Sun, 7 Aug 2022 16:00:27 +0100 Subject: [PATCH] Add rehash all button Co-authored-by: Jkoan --- app/Http/Controllers/ModController.php | 21 +++++++++++++++++++++ app/Http/Middleware/SolderMods.php | 1 + resources/views/mod/list.blade.php | 18 ++++++++++++++++++ routes/web.php | 1 + 4 files changed, 41 insertions(+) diff --git a/app/Http/Controllers/ModController.php b/app/Http/Controllers/ModController.php index d4e2cd2e..7aed0b60 100644 --- a/app/Http/Controllers/ModController.php +++ b/app/Http/Controllers/ModController.php @@ -217,6 +217,27 @@ public function anyRehash() } } + public function postRehashAll() + { + if (!Request::ajax()) { + abort(404); + } + + foreach (Mod::all() as $mod) { + foreach ($mod->versions as $version) { + $md5Request = $this->mod_md5($mod, $version->version); + if ($md5Request['success']) { + $version->md5 = $md5Request['md5']; + $version->save(); + } + } + } + + return response()->json([ + 'status' => 'success' + ]); + } + public function anyAddVersion() { if (! Request::ajax()) { diff --git a/app/Http/Middleware/SolderMods.php b/app/Http/Middleware/SolderMods.php index fcb7c7b6..95bc139d 100644 --- a/app/Http/Middleware/SolderMods.php +++ b/app/Http/Middleware/SolderMods.php @@ -28,6 +28,7 @@ public function handle($request, Closure $next) case 'list': case 'add-version': case 'rehash': + case 'rehashall': case 'delete-version': $check = 'mods_manage'; break; diff --git a/resources/views/mod/list.blade.php b/resources/views/mod/list.blade.php index a6692880..4c1f9f89 100644 --- a/resources/views/mod/list.blade.php +++ b/resources/views/mod/list.blade.php @@ -9,6 +9,7 @@
Mod List @@ -64,7 +65,24 @@ $('#dataTables').dataTable({ "order": [[ 1, "asc" ]] }); +}); +$('.rehash').click(function(e) { + e.preventDefault(); + $.ajax({ + type: "POST", + url: "{{ URL::to('mod/rehashall/') }}", + success: function (data) { + if (data.status == "success") { + $.jGrowl('Rehashing complete.', { group: 'alert-success' }); + } else { + $.jGrowl('Error: ' + data, { group: 'alert-danger' }); + } + }, + error: function (xhr, textStatus, errorThrown) { + $.jGrowl(textStatus + ': ' + errorThrown, { group: 'alert-danger' }); + } + }); }); @endsection diff --git a/routes/web.php b/routes/web.php index 3f6d15b5..c0dac911 100644 --- a/routes/web.php +++ b/routes/web.php @@ -52,6 +52,7 @@ Route::post('mod/modify/{mod_id}', [ModController::class, 'postModify']); // Route::get('mod/rehash', [ModController::class, 'anyRehash'])->name('mod.rehash'); Route::post('mod/rehash', [ModController::class, 'anyRehash']); + Route::post('mod/rehashall', [ModController::class, 'postRehashAll']); // Route::get('mod/add-version', [ModController::class, 'anyAddVersion'])->name('mod.addVersion'); Route::post('mod/add-version', [ModController::class, 'anyAddVersion']); Route::post('mod/delete-version/{version_id}', [ModController::class, 'anyDeleteVersion']);