From: soufiane Date: Fri, 23 Feb 2024 09:02:11 +0000 (+0100) Subject: linkeditor X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=c12fce3db7fbda819b3de05550b427f869764598;p=fluidbook-toolbox.git linkeditor --- diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php index b10790b90..169af7ade 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php @@ -310,47 +310,51 @@ trait LinksOperation $queueEditor = cache()->get('queue_editor' . $fluidbookId); // on récupère la liste des connexions // on extrait seulement les connexions qui datent de pas moins de 5secondes - if(!empty($queueEditor) || sizeof($queueEditor) > 0) { - $queueEditor = array_filter($queueEditor, function ($n) { - return strtotime($n["date"]) > strtotime(now()) - 5; - }); + if(!empty($queueEditor)) { + if(sizeof($queueEditor) > 0) { + $queueEditor = array_filter($queueEditor, function ($n) { + return strtotime($n["date"]) > strtotime(now()) - 5; + }); + } } - if(!empty($queueEditor) || sizeof($queueEditor) > 0) { - // on supprime les connexions si la liste (tableau) est mal formatée - // en effet parfois la liste n'est pas un tableau multidimensionnel ce qui créé un bug - // un code à supprimer sur le long terme - if (!is_array($queueEditor[array_key_first($queueEditor)])) { - cache()->forget('queue_editor' . $fluidbookId); - } + if(!empty($queueEditor)) { + if(sizeof($queueEditor) > 0) { + // on supprime les connexions si la liste (tableau) est mal formatée + // en effet parfois la liste n'est pas un tableau multidimensionnel ce qui créé un bug + // un code à supprimer sur le long terme + if (!is_array($queueEditor[array_key_first($queueEditor)])) { + cache()->forget('queue_editor' . $fluidbookId); + } - // on récupère la connexion courante via le token qui est envoyé - $connexion = array_filter($queueEditor, function ($n) use ($token) { - return $n["token"] === $token; - }); - $key = key($connexion); - - // si la connexion existe déjà, on remplace la date ainsi que le token pour là garder active - // sinon on ajoute la nouvelle connexion à la liste - // si la page est rechargée ou fermée la connexion est supprimée - if(null === $unload) { - if ($key === null) { - $queueEditor[] = ["token" => $token, "date" => now(),"userid"=>$userId]; + // on récupère la connexion courante via le token qui est envoyé + $connexion = array_filter($queueEditor, function ($n) use ($token) { + return $n["token"] === $token; + }); + $key = key($connexion); + + // si la connexion existe déjà, on remplace la date ainsi que le token pour là garder active + // sinon on ajoute la nouvelle connexion à la liste + // si la page est rechargée ou fermée la connexion est supprimée + if (null === $unload) { + if ($key === null) { + $queueEditor[] = ["token" => $token, "date" => now(), "userid" => $userId]; + } else { + $queueEditor[$key]["token"] = $token; + $queueEditor[$key]["date"] = now(); + $queueEditor[$key]["userid"] = $userId; + } + + $queueEditor = array_filter($queueEditor, function ($n) { + return strtotime($n["date"]) > strtotime(now()) - 5; + }); } else { - $queueEditor[$key]["token"] = $token; - $queueEditor[$key]["date"] = now(); - $queueEditor[$key]["userid"] = $userId; + unset($queueEditor[$key]); } - $queueEditor = array_filter($queueEditor, function ($n) { - return strtotime($n["date"]) > strtotime(now()) - 5; - }); - } else { - unset($queueEditor[$key]); + // on met à jour le cache avec la nouvelle liste + cache(['queue_editor' . $fluidbookId => $queueEditor]); } - - // on met à jour le cache avec la nouvelle liste - cache(['queue_editor' . $fluidbookId => $queueEditor]); } else { // on initialise le cache avec la première connexion $entries = [["token" => $token, "date" => now(), "userid" => $userId]]; diff --git a/resources/linkeditor/js/linkeditor.accessControl.js b/resources/linkeditor/js/linkeditor.accessControl.js index c9560c0bc..10b15c6ab 100644 --- a/resources/linkeditor/js/linkeditor.accessControl.js +++ b/resources/linkeditor/js/linkeditor.accessControl.js @@ -48,7 +48,7 @@ LinkeditorAccessControl.prototype = { }); // Bloquer les raccourcis clavier - $this.linkeditor.controlKeyFilter(false,true) + $this.linkeditor.controlKeyFilter(true) $("#username").text(response.infos_connection.user) $("#id").text(response.infos_connection.id) @@ -58,7 +58,16 @@ LinkeditorAccessControl.prototype = { $("#popup-overlay").removeClass("show") window.linkeditor.popup.close(); } - window.key.filter = $this.linkeditor.controlKeyFilter(event,false) + $this.linkeditor.controlKeyFilter(false) + window.key.filter = function(event) { + let tagName = (event.target || event.srcElement).tagName; + //let field=tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA'; + if (tagName === 'TEXTAREA' && event.keyCode === 13) { + return false; + } + + return true; + } } sessionStorage.removeItem('token'); localStorage.removeItem('unload'); diff --git a/resources/linkeditor/js/linkeditor.js b/resources/linkeditor/js/linkeditor.js index 9a13a557a..ca85b81cc 100644 --- a/resources/linkeditor/js/linkeditor.js +++ b/resources/linkeditor/js/linkeditor.js @@ -284,8 +284,10 @@ LinkEditor.prototype = { this.changePage(); }, - controlKeyFilter: function (e,disabled) { - return keyfilter(e,disabled) + controlKeyFilter: function (disabled) { + window.key.filter = function (event) { + return keyfilter(event, disabled); + }; }, resetKeyModifiers: function () {