}
$token = Str::random(10);
- cache(['token' => $token]);
- return view('fluidbook_publication.link_editor', ['id' => $id, 'fluidbook' => FluidbookPublication::find($id), 'access' => ""]);
+ return view('fluidbook_publication.link_editor', ['id' => $id, 'fluidbook' => FluidbookPublication::find($id), 'access' => "", 'token' => $token]);
}
public function broadcast(Request $request)
{
$fluidbookId = $request->id;
+ $token = $request->token;
$userId = backpack_user()->id;
- $token = cache()->get('token');
-
- //$key = $userId.'_'.$fluidbookId;
- //Cache::forget('connexion');
+ $connexionExist = cache()->get('connexion'.$fluidbookId);
//cache()->forget('connexion');
- $connexionExist = cache()->get('connexion');
-
if($connexionExist && $fluidbookId === $connexionExist['f_id']) {
if($userId != $connexionExist['id'] || $token !== $connexionExist['token']) {
return "unavailable";
return $connexionExist;
}
} else {
- cache(['connexion' => ['token' => $token, 'id' => $userId, 'f_id' => $fluidbookId] ]);
+ cache(['connexion'.$fluidbookId => ['id' => $userId, 'token' => $token,'f_id' => $fluidbookId] ]);
}
}
use Closure;
use Illuminate\Http\Request;
+use Illuminate\Support\Str;
use Symfony\Component\HttpFoundation\Response;
-use Illuminate\Support\Facades\Cache;
class ClearRouteCache
{
{
$response = $next($request);
- // Supprimez le cache associé à la route
- Cache::forget('token');
+ $fluidbookId = $request->route('id');
+ cache()->forget('connexion'.$fluidbookId);
return $response;
}
$.ajax({
method: "POST",
url: '/fluidbook-publication/' + FLUIDBOOK_DATA.id + '/edit/links',
- data: {id: FLUIDBOOK_DATA.id}
+ data: {id: FLUIDBOOK_DATA.id, token: $("[data-token]").data("token") }
}).done(function (msg) {
- console.log(msg)
if(msg === "unavailable") {
if($("#popup-overlay").find('.popup').length === 0) {
+ $("#popup-overlay").addClass("show")
window.linkeditor.popup.open('unavailable');
}
+ } else {
+ $("#popup-overlay").removeClass("show")
+ window.linkeditor.popup.close();
}
});
}, 5000)
'both'=>__('Appliquer les mêmes dimensions à la sélection'),
];
- dump($access);
+ $connexionInfo = cache()->get('connexion'.$id);
+ $user = \App\Models\User::find($connexionInfo['id']);
@endphp
@extends('layouts.linkeditor')
@section('content')
@include('fluidbook_publication.link_editor_icons')
- <div id="popup-overlay" class="{{ $access === "unavailable" }}">
+ <div id="token" data-token="{{$token}}"></div>
+ <div id="popup-overlay">
<div id="popup-holder">
</div>
</div>
<div class="popup" data-popup="unavailable" style="max-width: 300px">
<h2>{{__('Fluidbook en cours d\'utilisation')}}</h2>
- <!--<p>{{__('Utilisateur : ')}}</p>-->
+ <p>{{__('Utilisateur : ')}} {{ $user->firstname }} {{ $user->lastname }}</p>
+ <p>Identifiant: {{ $user->id }}</p>
<!--<p class="button">
<button type="submit">{{__('Ejecter l\'utilisateur')}}</button>
</p>-->