aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--public/js/main.js4
-rw-r--r--public/js/maintenance.js15
-rw-r--r--src/view/templates/maintenance.php4
3 files changed, 19 insertions, 4 deletions
diff --git a/public/js/main.js b/public/js/main.js
index d1459d5..1666b5c 100644
--- a/public/js/main.js
+++ b/public/js/main.js
@@ -29,11 +29,11 @@ function copyInClipBoard(link){
29 toastNotify('Cette adresse a été copiée dans le presse-papier:<br>' + link); 29 toastNotify('Cette adresse a été copiée dans le presse-papier:<br>' + link);
30} 30}
31 31
32function toastNotify(message){ 32function toastNotify(message, duration = 5000){ // 5s par défault
33 var toast = document.getElementById('toast'); 33 var toast = document.getElementById('toast');
34 toast.innerHTML = message; 34 toast.innerHTML = message;
35 toast.className = 'toast show'; 35 toast.className = 'toast show';
36 setTimeout(function(){ toast.className = toast.className.replace('show', ''); }, 5000); 36 setTimeout(function(){ toast.className = toast.className.replace('show', ''); }, duration);
37} 37}
38 38
39 39
diff --git a/public/js/maintenance.js b/public/js/maintenance.js
index 2ed7f98..0c28183 100644
--- a/public/js/maintenance.js
+++ b/public/js/maintenance.js
@@ -41,3 +41,18 @@ function cleanLogs(){
41 }); 41 });
42 fetcher.send({}); 42 fetcher.send({});
43} 43}
44
45function preventClickSpam(button){
46 if(button.disabled){
47 return;
48 }
49
50 button.disabled = true;
51 button.style.color = 'grey';
52 toastNotify('Veuillez patienter...', 1000);
53
54 setTimeout(() => {
55 button.disabled = false;
56 button.style.color = '#ff1d04';
57 }, 1000);
58} \ No newline at end of file
diff --git a/src/view/templates/maintenance.php b/src/view/templates/maintenance.php
index 6b4d223..5b8fd18 100644
--- a/src/view/templates/maintenance.php
+++ b/src/view/templates/maintenance.php
@@ -19,7 +19,7 @@
19 <div class="basic_div"> 19 <div class="basic_div">
20 <p> 20 <p>
21 <a href="<?= new URL(['action' => 'get_mysqldump']) ?>"> 21 <a href="<?= new URL(['action' => 'get_mysqldump']) ?>">
22 <button id="get_mysqldump">Télécharger une sauvegarde de la base de données</button> 22 <button id="get_mysqldump" onclick="preventClickSpam(this)">Télécharger une sauvegarde de la base de données</button>
23 </a><br> 23 </a><br>
24 <i>Obtenir un fichier SQL à conserver sur votre ordinateur. Une sauvegarde (désignée par "auto") est réalisée à chaque visite de cette page.</i> 24 <i>Obtenir un fichier SQL à conserver sur votre ordinateur. Une sauvegarde (désignée par "auto") est réalisée à chaque visite de cette page.</i>
25 </p> 25 </p>
@@ -46,7 +46,7 @@
46 <div class="basic_div"> 46 <div class="basic_div">
47 <p> 47 <p>
48 <a href="<?= new URL(['from' => 'maintenance', 'action' => 'get_all_media']) ?>"> 48 <a href="<?= new URL(['from' => 'maintenance', 'action' => 'get_all_media']) ?>">
49 <button id="get_all_media">Récupérer l'ensemble des fichiers mutimedia</button> 49 <button id="get_all_media" onclick="preventClickSpam(this)">Récupérer l'ensemble des fichiers mutimedia</button>
50 </a><br> 50 </a><br>
51 <i>Toutes vos photos et vos documents dans un .zip</i> 51 <i>Toutes vos photos et vos documents dans un .zip</i>
52 </p> 52 </p>