aboutsummaryrefslogtreecommitdiff
path: root/src/view
diff options
context:
space:
mode:
Diffstat (limited to 'src/view')
-rw-r--r--src/view/FooterBuilder.php13
-rw-r--r--src/view/MaintenanceBuilder.php19
-rw-r--r--src/view/MenuBuilder.php6
-rw-r--r--src/view/templates/form_admin.php7
-rw-r--r--src/view/templates/maintenance.php51
-rw-r--r--src/view/templates/show_emails.php5
6 files changed, 60 insertions, 41 deletions
diff --git a/src/view/FooterBuilder.php b/src/view/FooterBuilder.php
index f1623e7..da16758 100644
--- a/src/view/FooterBuilder.php
+++ b/src/view/FooterBuilder.php
@@ -58,8 +58,6 @@ class FooterBuilder extends AbstractBuilder
58 $mode = 'administrateur'; 58 $mode = 'administrateur';
59 $div_admin = 'logged_in'; 59 $div_admin = 'logged_in';
60 } 60 }
61 $link_new_page = new URL(['page' => 'new_page']);
62 $link_change_paths = new URL(['page' => 'menu_paths']);
63 61
64 $link_change_password = new URL(['page' => 'user_edit', 'from' => CURRENT_PAGE]); 62 $link_change_password = new URL(['page' => 'user_edit', 'from' => CURRENT_PAGE]);
65 isset($_GET['id']) ? $link_change_password->addParams(['id' => $_GET['id']]) : ''; 63 isset($_GET['id']) ? $link_change_password->addParams(['id' => $_GET['id']]) : '';
@@ -69,10 +67,11 @@ class FooterBuilder extends AbstractBuilder
69 67
70 $zone_admin = '<div class="admin_buttons_zone"> 68 $zone_admin = '<div class="admin_buttons_zone">
71 <p>Vous êtes en mode ' . $mode . ".</p>\n" . 69 <p>Vous êtes en mode ' . $mode . ".</p>\n" .
72 '<div><a href="' . $link_new_page . '"><button>Nouvelle page</button></a></div>' . "\n"; 70 '<div><a href="' . new URL(['page' => 'new_page']) . '"><button>Nouvelle page</button></a></div>' . "\n" .
73 $zone_admin .= $this->makePageModifModeButton(); 71 $this->makePageModifModeButton() . "\n" .
74 $zone_admin .= '<div><a href="' . $link_change_paths . '"><button>Menu et chemins</button></a></div>' . "\n" . 72 '<div><a href="' . new URL(['page' => 'menu_paths']) . '"><button>Menu et chemins</button></a></div>' . "\n" .
75 '<div><a href="' . $link_change_password . '"><button>Mon compte</button></a></div>' . "\n" . 73 '<div><a href="' . $link_change_password . '"><button>Mon compte</button></a></div>' . "\n" .
74 '<div><a href="' . new URL(['page' => 'maintenance']) . '"><button>Maintenance</button></a></div>' . "\n" .
76 '<div><a href="' . $link_logout . '"><button>Déconnexion</button></a></div>' . "\n" . 75 '<div><a href="' . $link_logout . '"><button>Déconnexion</button></a></div>' . "\n" .
77 '</div>' . "\n"; 76 '</div>' . "\n";
78 } 77 }
@@ -100,7 +99,7 @@ class FooterBuilder extends AbstractBuilder
100 private function makePageModifModeButton(): string 99 private function makePageModifModeButton(): string
101 { 100 {
102 $link_edit_page = new URL(['page' => CURRENT_PAGE]); 101 $link_edit_page = new URL(['page' => CURRENT_PAGE]);
103 if(!in_array(CURRENT_PAGE, ['article', 'new_page', 'menu_paths'])) // ajouter 'user_edit' et 'connection' le jour où ces pages auront un footer 102 if(!in_array(CURRENT_PAGE, ['article', 'new_page', 'menu_paths', 'maintenance'])) // ajouter 'user_edit' et 'connection' le jour où ces pages auront un footer
104 { 103 {
105 if(MainBuilder::$modif_mode){ 104 if(MainBuilder::$modif_mode){
106 $link_edit_label = 'Sortir du mode modification'; 105 $link_edit_label = 'Sortir du mode modification';
@@ -109,7 +108,7 @@ class FooterBuilder extends AbstractBuilder
109 $link_edit_page->addParams(['mode' => 'page_modif']); 108 $link_edit_page->addParams(['mode' => 'page_modif']);
110 $link_edit_label = 'Modifier la page'; 109 $link_edit_label = 'Modifier la page';
111 } 110 }
112 return '<div><a href="' . $link_edit_page . '"><button>' . $link_edit_label . '</button></a></div>' . "\n"; 111 return '<div><a href="' . $link_edit_page . '"><button>' . $link_edit_label . '</button></a></div>';
113 } 112 }
114 else{ 113 else{
115 return ''; 114 return '';
diff --git a/src/view/MaintenanceBuilder.php b/src/view/MaintenanceBuilder.php
new file mode 100644
index 0000000..f5c60ed
--- /dev/null
+++ b/src/view/MaintenanceBuilder.php
@@ -0,0 +1,19 @@
1<?php
2// src/view/MaintenanceBuilder.php
3
4declare(strict_types=1);
5
6use App\Entity\Node;
7
8class MaintenanceBuilder extends AbstractBuilder
9{
10 public function __construct(Node $node){
11 $viewFile = self::VIEWS_PATH . $node->getName() . '.php';
12
13 if(file_exists($viewFile)){
14 ob_start();
15 require $viewFile;
16 $this->html = ob_get_clean();
17 }
18 }
19} \ No newline at end of file
diff --git a/src/view/MenuBuilder.php b/src/view/MenuBuilder.php
index 41ee189..85335df 100644
--- a/src/view/MenuBuilder.php
+++ b/src/view/MenuBuilder.php
@@ -13,10 +13,10 @@ class MenuBuilder extends AbstractBuilder
13 //private int $margin_left_multiplier = 29; 13 //private int $margin_left_multiplier = 29;
14 private string $options = ''; 14 private string $options = '';
15 15
16 public function __construct(?Node $node, bool $template = true) 16 public function __construct(Node $node, bool $template = true)
17 { 17 {
18 // impossible de me rappeler pourquoi j'ai écrit ce test sur $node, pourquoi $node serait null? 18 // dans une ancienne version $node pouvait être null mais je ne sais plus pourquoi
19 $viewFile = $node === null ? self::VIEWS_PATH . 'menu.php' : self::VIEWS_PATH . $node->getName() . '.php'; 19 $viewFile = self::VIEWS_PATH . $node->getName() . '.php';
20 20
21 if(file_exists($viewFile)) 21 if(file_exists($viewFile))
22 { 22 {
diff --git a/src/view/templates/form_admin.php b/src/view/templates/form_admin.php
index 7156374..d745656 100644
--- a/src/view/templates/form_admin.php
+++ b/src/view/templates/form_admin.php
@@ -49,7 +49,12 @@ declare(strict_types=1);
49 <input type="hidden" id="smtp_password_hidden_<?= $node->getNodeData()->getId() ?>" value=""> 49 <input type="hidden" id="smtp_password_hidden_<?= $node->getNodeData()->getId() ?>" value="">
50 <button onclick="setEmailParam('smtp_password', <?= $node->getNodeData()->getId() ?>)">Valider</button> 50 <button onclick="setEmailParam('smtp_password', <?= $node->getNodeData()->getId() ?>)">Valider</button>
51 </p> 51 </p>
52 <p><i>Il s'agit du service qui acheminera les messages envoyés par ce formulaire. Les services d'envoi de courriels nécéssitent généralement de s'y connecter avec un identifiant et un mot de passe. Les adresses d'envoi et de réception peuvent être identiques. Le site web peut ne pas réussir à se connecter à certains fournisseurs.</i></p> 52 <p><i>Il s'agit du service qui acheminera les messages envoyés par ce formulaire.<br>
53 Site web => serveur d'envoi => serveur de réception => votre application "mail"</i></p>
54 <p><i>
55 Ce formulaire utilise les paramètres dans le fichier config.ini sur le serveur à mois que vous n'en renseignez d'autres ci-dessus. Les adresses d'envoi et de réception peuvent être identiques.
56 </i></p>
57 <p><i>Le site web peut ne pas réussir à se connecter à certains fournisseurs.</i></p>
53</div> 58</div>
54<div class="admin_form"> 59<div class="admin_form">
55 <h3>Paramètres de réception</h3> 60 <h3>Paramètres de réception</h3>
diff --git a/src/view/templates/maintenance.php b/src/view/templates/maintenance.php
index 9a2434f..426831f 100644
--- a/src/view/templates/maintenance.php
+++ b/src/view/templates/maintenance.php
@@ -1,29 +1,24 @@
1<?php declare(strict_types=1); ?> 1<?php declare(strict_types=1); ?>
2<!DOCTYPE html> 2<section>
3<html lang="fr"> 3 <h3>Maintenance du site</h3>
4 <head> 4 <div class="basic_div">
5 <meta charset="utf-8"> 5 <p>
6 <title>Site en maintenance</title> 6 <button onclick="displayLogs()">Consulter les journaux de connexion</button><br>
7 <link rel="icon" type="" href=""> 7 <i>Qui a essayé de se connecter, quand et a-t'il réussi?</i>
8 <meta name="description" content="site en maintenance"> 8 </p>
9 <meta name="viewport" content="width=device-width"> 9 <p>
10 <link rel="stylesheet" href="css/head.css"> 10 <button onclick="cleanLogs()">Effacer les journaux de connexion</button>
11 <link rel="stylesheet" href="css/body.css"> 11 </p>
12 <link rel="stylesheet" href="css/foot.css"> 12 <div id="log_table"></div>
13 <meta http-equiv="refresh" content="60" /> <!-- rafraîchissement automatique toutes les minutes --> 13 </div>
14 </head> 14 <div class="basic_div">
15 <body> 15 <p>
16 <main> 16 <a href="http://nageurs.localhost/index.php?page=emails"><button>Consulter les emails</button></a><br>
17 <p>Le site est en cours de maintenance.</p> 17 <i>Emails reçus depuis tous les formulaires de contact</i>
18 <p>Il devrait être de nouveau accessible rapidement.</p> 18 </p>
19 <?= !empty(Config::$email_dest) ? '<p>Contact: ' . Config::$email_dest . '</p>' : '' ?> 19 </div>
20 </main> 20
21 <footer> 21 <div class="basic_div">
22 <div class="logged_out"> 22 <a href="http://nageurs.localhost/index.php"><button>Retour au site</button></a>
23 <button> 23 </div>
24 <a href="<?= new URL(['page' => 'connection']) ?>">Mode admin</a> 24</section> \ No newline at end of file
25 </button>
26 </div>
27 </footer>
28 </body>
29</html> \ No newline at end of file
diff --git a/src/view/templates/show_emails.php b/src/view/templates/show_emails.php
index 2cb102e..f561dc7 100644
--- a/src/view/templates/show_emails.php
+++ b/src/view/templates/show_emails.php
@@ -2,14 +2,15 @@
2<section class="show_emails"> 2<section class="show_emails">
3 <h3>Table "<?= TABLE_PREFIX ?>email" de la base de données</h3> 3 <h3>Table "<?= TABLE_PREFIX ?>email" de la base de données</h3>
4 <p><i> 4 <p><i>
5 Les e-mails ci-dessous sont des copies de ceux arrivés dans votre boite de messagerie (qui en théorie sont également concernés par le RGPD) depuis tous les formulaires existant sur le site. Ils sont conservés dans un but pratique et éventuellement dans un but de prospection, ou dans tout autre but justifiant leur conservation. 5 Les e-mails ci-dessous sont des copies de ceux arrivés dans votre boite de messagerie depuis tous les formulaires existant sur le site. Ils sont conservés dans un but pratique (historique, prospection) ou dans tout autre but justifiant leur conservation. Cette conservation est optionnelle et règlementée par la loi européenne RGPD.<br>
6 <b>Notez qu'utiliser cette application ne vous garantit pas d'être en conformité avec la loi, c'est un outil vous permettant de faire les choses comme vous l'entendez. Si tout ceci vous gêne, désactivez le stockage des e-mails et supprimez ceux déjà enregistrés (ci-dessous).</b>
6 </i></p> 7 </i></p>
7 <h4>Durées de conservation</h4> 8 <h4>Durées de conservation</h4>
8 <p><i> 9 <p><i>
9 Ce sont des durées maximales, les données peuvent être supprimées plus tôt ou même immédiatement. Le faire est d'ailleurs une obligation dans le cas où les personnes concernées le demandent.<br> 10 Ce sont des durées maximales, les données peuvent être supprimées plus tôt ou même immédiatement. Le faire est d'ailleurs une obligation dans le cas où les personnes concernées le demandent.<br>
10 </i></p> 11 </i></p>
11 <p><i> 12 <p><i>
12 Les e-mails ordinaires d'un même expéditeur (même adresse e-mail) sont tous supprimés simultanément lorsque le plus récent d'entre eux atteint les 3 ans (utilisateur "inactif").<br> 13 Les e-mails ordinaires d'un même expéditeur (même adresse e-mail) sont tous supprimés simultanément lorsque le plus récent d'entre eux atteint les 3 ans (utilisateur est considéré inactif).<br>
13 Les e-mails sensibles quand à eux sont supprimés 5 ans après être devenus sensibles (durée juridique d'une preuve). 14 Les e-mails sensibles quand à eux sont supprimés 5 ans après être devenus sensibles (durée juridique d'une preuve).
14 </i></p> 15 </i></p>
15 <p><i> 16 <p><i>