From b640a41bfeacb86fff81fce5aebf5d07c5a18d58 Mon Sep 17 00:00:00 2001 From: Aurelien Labate Date: Sat, 28 Dec 2019 15:54:48 +0100 Subject: [PATCH] use localstorage instead of cookies --- assets/css/stylesheet.css | 7 ++++++- assets/js/compil1.js | 4 ++-- assets/js/exemples.js | 15 +++++++++++++++ assets/js/functions.js | 9 --------- assets/js/interface.js | 17 +++++++++++++++++ exemples.php | 6 +++--- includes/footer.php | 13 +++++++++++++ includes/header.php | 9 --------- index.php | 11 +---------- 9 files changed, 57 insertions(+), 34 deletions(-) create mode 100644 assets/js/exemples.js delete mode 100644 assets/js/functions.js diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index dfe98ef..51a7bec 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -200,9 +200,14 @@ article /************** * example page specific layout ***************/ -.example form { +.example .try_it { text-align: right; } +.example .try_it button { + border: 0; + background: none; + cursor: pointer; +} /************** * programm page specific layout diff --git a/assets/js/compil1.js b/assets/js/compil1.js index 466856d..d23bcb2 100644 --- a/assets/js/compil1.js +++ b/assets/js/compil1.js @@ -317,8 +317,8 @@ function compilation(langage_source) { var i, mot = "", dernier_mot = 0, espace_position , mot_en_cours; var ligne = 1, type; var calcul_memoire = "undefined", ligne_memoire, chaine = 0; - createCookie("last_algo", encodeURIComponent(texte), 30); - createCookie("last_language", langage_source, 30); + localStorage.setItem('saved_code', texte); + localStorage.setItem('saved_language', langage_source); debug_efface(); // remise à 0 des variables diff --git a/assets/js/exemples.js b/assets/js/exemples.js new file mode 100644 index 0000000..ef90569 --- /dev/null +++ b/assets/js/exemples.js @@ -0,0 +1,15 @@ +$(document).ready(function() { + $(".example .try_it button").click(function() { + let textarea = $(this).parent().children('textarea').first(); + if (!textarea) { + console.error('Textarea associated to this button not found.') + } + + // Save example to local storage + localStorage.setItem('saved_code', textarea.val()); + localStorage.setItem('saved_language', 1); + + // Redirect to home page + document.location.href="."; + }); +}); \ No newline at end of file diff --git a/assets/js/functions.js b/assets/js/functions.js deleted file mode 100644 index 1ac3cec..0000000 --- a/assets/js/functions.js +++ /dev/null @@ -1,9 +0,0 @@ -function createCookie(name,value,days) { - expires = ""; - if (days) { - var date = new Date(); - date.setTime(date.getTime()+(days*24*60*60*1000)); - var expires = "; expires="+date.toGMTString(); - } - document.cookie = name+"="+value + expires; -} \ No newline at end of file diff --git a/assets/js/interface.js b/assets/js/interface.js index 321c2ec..0c42aaf 100644 --- a/assets/js/interface.js +++ b/assets/js/interface.js @@ -467,6 +467,22 @@ $(document).ready(function() { return false; }); } + + /** + * Try to restore a code saved to localstorage + */ + function default_code() + { + if ($("#saisie").length > 0 && localStorage.getItem('saved_code') && localStorage.getItem('saved_language') !== null) { + langage = parseInt(localStorage.getItem('saved_language')); + let code = localStorage.getItem('saved_code'); + + document.getElementById("saisie").value = code; + $("#saisie").cleditor()[0].updateFrame().focus(); + affiche_conversion(); + affiche_langage(); + } + } $("#saisie").cleditor().focus(); // transforme le textarea en éditeur html @@ -481,6 +497,7 @@ $(document).ready(function() { boutons(); signes(); menus_deroulants_show(); + default_code(); alert_mobile(); }); diff --git a/exemples.php b/exemples.php index 5c1bef3..c80b7cb 100644 --- a/exemples.php +++ b/exemples.php @@ -143,10 +143,10 @@ La suite de Fibonacci sert à déterminer une approximation du nombre d\'Or en d

Description :

-
+
+ - - +
Festiv'Algo - 2013 - 2019

Crédits images : Site du Zéro

+ ' . $footer_js_script . ''; + } + ?> + + + + + + + + - - - - - - - - Festiv'Algo - <?= $page_title ?> diff --git a/index.php b/index.php index 59f68be..e7542ec 100644 --- a/index.php +++ b/index.php @@ -57,16 +57,7 @@
-
+