diff options
| author | polo <ordipolo@gmx.fr> | 2026-03-24 22:39:29 +0100 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2026-03-24 22:40:33 +0100 |
| commit | 3b369122645b07b290f7fcc7bccb4787745cd5ea (patch) | |
| tree | 3f9c2d1fbd5fe8b26162202e9b1e6cd5c8a940f6 /src/view | |
| parent | a70dee9b5021a137ae07041c38921553442b0c11 (diff) | |
| download | cms-3b369122645b07b290f7fcc7bccb4787745cd5ea.tar.gz cms-3b369122645b07b290f7fcc7bccb4787745cd5ea.tar.bz2 cms-3b369122645b07b290f7fcc7bccb4787745cd5ea.zip | |
mode maintenance, optimisation moins de contrôles en mode run, dossier service et déplacement fichiers, sessions et entité User préparées à l'implémentation hypothétique des rôles, entité AppMetadata, meilleure sécurité de fillStartingDatabase
Diffstat (limited to 'src/view')
| -rw-r--r-- | src/view/CalendarBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/FooterBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/FormBuilder.php | 9 | ||||
| -rw-r--r-- | src/view/GaleryBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/HeadBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/HeaderBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/LoginBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/MainBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/MenuBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/NewBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/NewPageBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/NewsBlockBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/PostBlockBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/PostBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/UserEditBuilder.php | 2 | ||||
| -rw-r--r-- | src/view/templates/footer.php | 2 | ||||
| -rw-r--r-- | src/view/templates/header.php | 2 | ||||
| -rw-r--r-- | src/view/templates/maintenance.php | 27 | ||||
| -rw-r--r-- | src/view/templates/user_create.php | 2 | ||||
| -rw-r--r-- | src/view/templates/user_edit.php | 2 |
20 files changed, 48 insertions, 24 deletions
diff --git a/src/view/CalendarBuilder.php b/src/view/CalendarBuilder.php index bdabcd2..0c0006d 100644 --- a/src/view/CalendarBuilder.php +++ b/src/view/CalendarBuilder.php | |||
| @@ -12,7 +12,7 @@ class CalendarBuilder extends AbstractBuilder | |||
| 12 | parent::__construct($node); | 12 | parent::__construct($node); |
| 13 | $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; | 13 | $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; |
| 14 | 14 | ||
| 15 | $calendar_js_file = $_SESSION['admin'] ? 'calendar_admin' : 'calendar'; | 15 | $calendar_js_file = IS_ADMIN ? 'calendar_admin' : 'calendar'; |
| 16 | 16 | ||
| 17 | if(file_exists($viewFile)) | 17 | if(file_exists($viewFile)) |
| 18 | { | 18 | { |
diff --git a/src/view/FooterBuilder.php b/src/view/FooterBuilder.php index 8d24f25..f1623e7 100644 --- a/src/view/FooterBuilder.php +++ b/src/view/FooterBuilder.php | |||
| @@ -27,7 +27,7 @@ class FooterBuilder extends AbstractBuilder | |||
| 27 | $breadcrumb = $this->html; | 27 | $breadcrumb = $this->html; |
| 28 | 28 | ||
| 29 | $empty_admin_zone = ''; | 29 | $empty_admin_zone = ''; |
| 30 | if($_SESSION['admin']) | 30 | if(IS_ADMIN) |
| 31 | { | 31 | { |
| 32 | // données du footer | 32 | // données du footer |
| 33 | $admin_footer_name = '<input type="text" id="footer_name_input" class="hidden" value="' . htmlspecialchars($name ?? '') . '" placeholder="raison sociale" size="30"> | 33 | $admin_footer_name = '<input type="text" id="footer_name_input" class="hidden" value="' . htmlspecialchars($name ?? '') . '" placeholder="raison sociale" size="30"> |
diff --git a/src/view/FormBuilder.php b/src/view/FormBuilder.php index 6986dea..9a900ce 100644 --- a/src/view/FormBuilder.php +++ b/src/view/FormBuilder.php | |||
| @@ -9,12 +9,10 @@ class FormBuilder extends AbstractBuilder | |||
| 9 | { | 9 | { |
| 10 | static private ?Captcha $captcha = null; | 10 | static private ?Captcha $captcha = null; |
| 11 | 11 | ||
| 12 | public function __construct(Node $node) | 12 | public function __construct(Node $node){ |
| 13 | { | ||
| 14 | parent::__construct($node); | 13 | parent::__construct($node); |
| 15 | 14 | ||
| 16 | if(!empty($node->getNodeData()->getData())) | 15 | if(!empty($node->getNodeData()->getData())){ |
| 17 | { | ||
| 18 | extract($node->getNodeData()->getData()); | 16 | extract($node->getNodeData()->getData()); |
| 19 | } | 17 | } |
| 20 | 18 | ||
| @@ -34,8 +32,7 @@ class FormBuilder extends AbstractBuilder | |||
| 34 | $retention_period_sensible = $this->getRetentionPeriod($retention_period_sensible ?? null, App\Entity\Email::DEFAULT_RETENTION_PERIOD_SENSITIVE); | 32 | $retention_period_sensible = $this->getRetentionPeriod($retention_period_sensible ?? null, App\Entity\Email::DEFAULT_RETENTION_PERIOD_SENSITIVE); |
| 35 | 33 | ||
| 36 | $admin_content = ''; | 34 | $admin_content = ''; |
| 37 | if($_SESSION['admin']) | 35 | if(IS_ADMIN){ |
| 38 | { | ||
| 39 | ob_start(); | 36 | ob_start(); |
| 40 | require self::VIEWS_PATH . 'form_admin.php'; | 37 | require self::VIEWS_PATH . 'form_admin.php'; |
| 41 | $admin_content = ob_get_clean(); | 38 | $admin_content = ob_get_clean(); |
diff --git a/src/view/GaleryBuilder.php b/src/view/GaleryBuilder.php index 749cb30..019a2c7 100644 --- a/src/view/GaleryBuilder.php +++ b/src/view/GaleryBuilder.php | |||
| @@ -21,7 +21,7 @@ class GaleryBuilder extends AbstractBuilder | |||
| 21 | 21 | ||
| 22 | // ajouter un article | 22 | // ajouter un article |
| 23 | $new_article = ''; | 23 | $new_article = ''; |
| 24 | if($_SESSION['admin']) | 24 | if(IS_ADMIN) |
| 25 | { | 25 | { |
| 26 | $id = 'n' . $this->id_node; | 26 | $id = 'n' . $this->id_node; |
| 27 | $js = 'onclick="openEditor(\'' . $id . '\')"'; | 27 | $js = 'onclick="openEditor(\'' . $id . '\')"'; |
diff --git a/src/view/HeadBuilder.php b/src/view/HeadBuilder.php index 76d8d9d..fe57b55 100644 --- a/src/view/HeadBuilder.php +++ b/src/view/HeadBuilder.php | |||
| @@ -32,7 +32,7 @@ class HeadBuilder extends AbstractBuilder | |||
| 32 | $js .= self::insertJS('modif_page'); | 32 | $js .= self::insertJS('modif_page'); |
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | if($_SESSION['admin']){ | 35 | if(IS_ADMIN){ |
| 36 | // édition éléments sur toutes les pages (header, footer et favicon) | 36 | // édition éléments sur toutes les pages (header, footer et favicon) |
| 37 | $js .= self::insertJS('Input'); | 37 | $js .= self::insertJS('Input'); |
| 38 | 38 | ||
diff --git a/src/view/HeaderBuilder.php b/src/view/HeaderBuilder.php index 6934e10..bfd5963 100644 --- a/src/view/HeaderBuilder.php +++ b/src/view/HeaderBuilder.php | |||
| @@ -52,7 +52,7 @@ class HeaderBuilder extends AbstractBuilder | |||
| 52 | $social_networks = ''; | 52 | $social_networks = ''; |
| 53 | 53 | ||
| 54 | // boutons mode admin | 54 | // boutons mode admin |
| 55 | if($_SESSION['admin']){ | 55 | if(IS_ADMIN){ |
| 56 | // assets dans classe header_additional_inputs | 56 | // assets dans classe header_additional_inputs |
| 57 | $admin_head_favicon = '<input type="file" id="head_favicon_input" class="hidden" accept="image/png, image/jpeg, image/gif, image/webp, image/tiff, image/x-icon, image/bmp"> | 57 | $admin_head_favicon = '<input type="file" id="head_favicon_input" class="hidden" accept="image/png, image/jpeg, image/gif, image/webp, image/tiff, image/x-icon, image/bmp"> |
| 58 | <button id="head_favicon_open" onclick="head_favicon.open()"><img id="head_favicon_content" class="action_icon"> Favicon</button> | 58 | <button id="head_favicon_open" onclick="head_favicon.open()"><img id="head_favicon_content" class="action_icon"> Favicon</button> |
diff --git a/src/view/LoginBuilder.php b/src/view/LoginBuilder.php index 639f953..479398c 100644 --- a/src/view/LoginBuilder.php +++ b/src/view/LoginBuilder.php | |||
| @@ -10,7 +10,7 @@ class LoginBuilder extends AbstractBuilder | |||
| 10 | public function __construct(Node $node) | 10 | public function __construct(Node $node) |
| 11 | { | 11 | { |
| 12 | // déjà connecté? | 12 | // déjà connecté? |
| 13 | if($_SESSION['admin']) | 13 | if(IS_ADMIN) |
| 14 | { | 14 | { |
| 15 | header('Location: ' . new URL); | 15 | header('Location: ' . new URL); |
| 16 | die; | 16 | die; |
diff --git a/src/view/MainBuilder.php b/src/view/MainBuilder.php index 332efa5..b488703 100644 --- a/src/view/MainBuilder.php +++ b/src/view/MainBuilder.php | |||
| @@ -40,7 +40,7 @@ class MainBuilder extends AbstractBuilder | |||
| 40 | } | 40 | } |
| 41 | else{ | 41 | else{ |
| 42 | // si action = "modif_page", affiche des commandes supplémentaires | 42 | // si action = "modif_page", affiche des commandes supplémentaires |
| 43 | if($_SESSION['admin'] && self::$modif_mode){ | 43 | if(IS_ADMIN && self::$modif_mode){ |
| 44 | // ajouter un contrôle du champ in_menu | 44 | // ajouter un contrôle du champ in_menu |
| 45 | $this->viewEditBlocks($node); | 45 | $this->viewEditBlocks($node); |
| 46 | } | 46 | } |
diff --git a/src/view/MenuBuilder.php b/src/view/MenuBuilder.php index b8e9396..41ee189 100644 --- a/src/view/MenuBuilder.php +++ b/src/view/MenuBuilder.php | |||
| @@ -20,7 +20,7 @@ class MenuBuilder extends AbstractBuilder | |||
| 20 | 20 | ||
| 21 | if(file_exists($viewFile)) | 21 | if(file_exists($viewFile)) |
| 22 | { | 22 | { |
| 23 | if($_SESSION['admin']){ | 23 | if(IS_ADMIN){ |
| 24 | $this->unfoldMenu(Model::$menu); | 24 | $this->unfoldMenu(Model::$menu); |
| 25 | 25 | ||
| 26 | if($template){ | 26 | if($template){ |
diff --git a/src/view/NewBuilder.php b/src/view/NewBuilder.php index a31a1c4..7459cc8 100644 --- a/src/view/NewBuilder.php +++ b/src/view/NewBuilder.php | |||
| @@ -75,7 +75,7 @@ class NewBuilder extends AbstractBuilder | |||
| 75 | $article_buttons = ''; | 75 | $article_buttons = ''; |
| 76 | $date_buttons = ''; | 76 | $date_buttons = ''; |
| 77 | $admin_buttons = ''; | 77 | $admin_buttons = ''; |
| 78 | if($_SESSION['admin']){ | 78 | if(IS_ADMIN){ |
| 79 | if(CURRENT_PAGE === 'article'){ | 79 | if(CURRENT_PAGE === 'article'){ |
| 80 | $title_js = 'onclick="openEditor(\'' . $id_title . '\')"'; | 80 | $title_js = 'onclick="openEditor(\'' . $id_title . '\')"'; |
| 81 | $modify_title = '<p id="edit-' . $id_title . '"><button ' . $title_js . '><img class="action_icon" src="assets/edit.svg">Titre</button></p>' . "\n"; | 81 | $modify_title = '<p id="edit-' . $id_title . '"><button ' . $title_js . '><img class="action_icon" src="assets/edit.svg">Titre</button></p>' . "\n"; |
diff --git a/src/view/NewPageBuilder.php b/src/view/NewPageBuilder.php index d519a22..0a3a137 100644 --- a/src/view/NewPageBuilder.php +++ b/src/view/NewPageBuilder.php | |||
| @@ -18,7 +18,7 @@ class NewPageBuilder extends AbstractBuilder | |||
| 18 | //parent::__construct($node); | 18 | //parent::__construct($node); |
| 19 | $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; | 19 | $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; |
| 20 | 20 | ||
| 21 | if(isset($_SESSION['admin']) && $_SESSION['admin'] && file_exists($viewFile)) | 21 | if(IS_ADMIN && file_exists($viewFile)) |
| 22 | { | 22 | { |
| 23 | /*if(!empty($node->getNodeData()->getData())) | 23 | /*if(!empty($node->getNodeData()->getData())) |
| 24 | { | 24 | { |
diff --git a/src/view/NewsBlockBuilder.php b/src/view/NewsBlockBuilder.php index 4c7c4ec..f1fe12b 100644 --- a/src/view/NewsBlockBuilder.php +++ b/src/view/NewsBlockBuilder.php | |||
| @@ -32,7 +32,7 @@ class NewsBlockBuilder extends AbstractBuilder | |||
| 32 | 32 | ||
| 33 | // ajouter un article | 33 | // ajouter un article |
| 34 | $new_article = ''; | 34 | $new_article = ''; |
| 35 | if($_SESSION['admin']) | 35 | if(IS_ADMIN) |
| 36 | { | 36 | { |
| 37 | $id = 'n' . $this->id_node; | 37 | $id = 'n' . $this->id_node; |
| 38 | 38 | ||
diff --git a/src/view/PostBlockBuilder.php b/src/view/PostBlockBuilder.php index ba4de12..c6094e8 100644 --- a/src/view/PostBlockBuilder.php +++ b/src/view/PostBlockBuilder.php | |||
| @@ -33,7 +33,7 @@ class PostBlockBuilder extends AbstractBuilder | |||
| 33 | // ajouter un article | 33 | // ajouter un article |
| 34 | // => fait un peu double emploi avec PostBuilder | 34 | // => fait un peu double emploi avec PostBuilder |
| 35 | $new_article = ''; | 35 | $new_article = ''; |
| 36 | if($_SESSION['admin']) | 36 | if(IS_ADMIN) |
| 37 | { | 37 | { |
| 38 | $id = 'n' . $this->id_node; | 38 | $id = 'n' . $this->id_node; |
| 39 | 39 | ||
diff --git a/src/view/PostBuilder.php b/src/view/PostBuilder.php index de7a818..e0bf985 100644 --- a/src/view/PostBuilder.php +++ b/src/view/PostBuilder.php | |||
| @@ -26,7 +26,7 @@ class PostBuilder extends AbstractBuilder | |||
| 26 | // modifier un article | 26 | // modifier un article |
| 27 | // => fait un peu double emploi avec PostBlockBuilder | 27 | // => fait un peu double emploi avec PostBlockBuilder |
| 28 | $admin_buttons = ''; | 28 | $admin_buttons = ''; |
| 29 | if($_SESSION['admin']) | 29 | if(IS_ADMIN) |
| 30 | { | 30 | { |
| 31 | $modify_js = 'onclick="openEditor(\'' . $id . '\')"'; | 31 | $modify_js = 'onclick="openEditor(\'' . $id . '\')"'; |
| 32 | $modify_article = '<p id="edit-' . $id . '"><img class="action_icon" src="assets/edit.svg" ' . $modify_js . '></p>' . "\n"; | 32 | $modify_article = '<p id="edit-' . $id . '"><img class="action_icon" src="assets/edit.svg" ' . $modify_js . '></p>' . "\n"; |
diff --git a/src/view/UserEditBuilder.php b/src/view/UserEditBuilder.php index 3604e91..0a347d4 100644 --- a/src/view/UserEditBuilder.php +++ b/src/view/UserEditBuilder.php | |||
| @@ -12,7 +12,7 @@ class UserEditBuilder extends AbstractBuilder | |||
| 12 | public function __construct(Node $node) | 12 | public function __construct(Node $node) |
| 13 | { | 13 | { |
| 14 | // pour éviter les arnaques | 14 | // pour éviter les arnaques |
| 15 | if(!$_SESSION['admin']) | 15 | if(!IS_ADMIN) |
| 16 | { | 16 | { |
| 17 | header('Location: ' . new URL); | 17 | header('Location: ' . new URL); |
| 18 | die; | 18 | die; |
diff --git a/src/view/templates/footer.php b/src/view/templates/footer.php index 7809818..6450e21 100644 --- a/src/view/templates/footer.php +++ b/src/view/templates/footer.php | |||
| @@ -20,7 +20,7 @@ | |||
| 20 | <a href="<?= new URL ?>"><img id="footer_logo_content" src="<?= $footer_logo ?? '' ?>" alt=""></a> | 20 | <a href="<?= new URL ?>"><img id="footer_logo_content" src="<?= $footer_logo ?? '' ?>" alt=""></a> |
| 21 | <?= $admin_footer_logo ?> | 21 | <?= $admin_footer_logo ?> |
| 22 | </div> | 22 | </div> |
| 23 | <?php if($_SESSION['admin']){ ?> | 23 | <?php if(IS_ADMIN){ ?> |
| 24 | <script> | 24 | <script> |
| 25 | let footer_name = new InputText('footer_name'); | 25 | let footer_name = new InputText('footer_name'); |
| 26 | let footer_address = new InputText('footer_address'); | 26 | let footer_address = new InputText('footer_address'); |
diff --git a/src/view/templates/header.php b/src/view/templates/header.php index 8d58dc0..400c7c0 100644 --- a/src/view/templates/header.php +++ b/src/view/templates/header.php | |||
| @@ -42,7 +42,7 @@ | |||
| 42 | <?= $breadcrumb ?? '' ?> | 42 | <?= $breadcrumb ?? '' ?> |
| 43 | </div> | 43 | </div> |
| 44 | </div> | 44 | </div> |
| 45 | <?php if($_SESSION['admin']){ ?> | 45 | <?php if(IS_ADMIN){ ?> |
| 46 | <script> | 46 | <script> |
| 47 | document.getElementById("head_favicon_content").src = window.Config.favicon; | 47 | document.getElementById("head_favicon_content").src = window.Config.favicon; |
| 48 | let head_favicon = new InputFileFavicon('head_favicon'); | 48 | let head_favicon = new InputFileFavicon('head_favicon'); |
diff --git a/src/view/templates/maintenance.php b/src/view/templates/maintenance.php new file mode 100644 index 0000000..217dcb7 --- /dev/null +++ b/src/view/templates/maintenance.php | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | <?php declare(strict_types=1); ?> | ||
| 2 | <!DOCTYPE html> | ||
| 3 | <html lang="fr"> | ||
| 4 | <head> | ||
| 5 | <meta charset="utf-8"> | ||
| 6 | <title>Site en maintenance</title> | ||
| 7 | <link rel="icon" type="" href=""> | ||
| 8 | <meta name="description" content="site en maintenance"> | ||
| 9 | <meta name="viewport" content="width=device-width"> | ||
| 10 | <link rel="stylesheet" href="css/head.css"> | ||
| 11 | <link rel="stylesheet" href="css/body.css"> | ||
| 12 | <link rel="stylesheet" href="css/foot.css"> | ||
| 13 | </head> | ||
| 14 | <body> | ||
| 15 | <main> | ||
| 16 | <p>Le site est en cours de maintenance.</p> | ||
| 17 | <p>Il devrait être de nouveau accessible très bientôt.</p> | ||
| 18 | </main> | ||
| 19 | <footer> | ||
| 20 | <div class="logged_out"> | ||
| 21 | <button> | ||
| 22 | <a href="<?= new URL(['page' => 'connection']) ?>">Mode admin</a> | ||
| 23 | </button> | ||
| 24 | </div> | ||
| 25 | </footer> | ||
| 26 | </body> | ||
| 27 | </html> \ No newline at end of file | ||
diff --git a/src/view/templates/user_create.php b/src/view/templates/user_create.php index 8572efe..870b904 100644 --- a/src/view/templates/user_create.php +++ b/src/view/templates/user_create.php | |||
| @@ -27,7 +27,7 @@ $_SESSION['captcha'] = $captcha->getSolution(); // enregistrement de la réponse | |||
| 27 | <main> | 27 | <main> |
| 28 | <section> | 28 | <section> |
| 29 | <h3>Bienvenue.</h3> | 29 | <h3>Bienvenue.</h3> |
| 30 | <p style="text-align: center;">Veuillez choisir les codes que vous utiliserez pour gérer le site.</p> | 30 | <p style="text-align: center;">Pour commencer, veuillez créer un compte administrateur.</p> |
| 31 | <div class="basic_div"> | 31 | <div class="basic_div"> |
| 32 | <p style="color: red; font-style: italic;"><?= $error ?></p> | 32 | <p style="color: red; font-style: italic;"><?= $error ?></p> |
| 33 | <form method="post" action="index.php?action=create_user" > | 33 | <form method="post" action="index.php?action=create_user" > |
diff --git a/src/view/templates/user_edit.php b/src/view/templates/user_edit.php index 28caac4..9191e7d 100644 --- a/src/view/templates/user_edit.php +++ b/src/view/templates/user_edit.php | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | <h3>Mon compte</h3> | 5 | <h3>Mon compte</h3> |
| 6 | <div> | 6 | <div> |
| 7 | <img class="user_icon" src="assets/user_hollow.svg"> | 7 | <img class="user_icon" src="assets/user_hollow.svg"> |
| 8 | <div><?= $_SESSION['user'] ?></div> | 8 | <div><?= $_SESSION['user']['username'] ?></div> |
| 9 | </div> | 9 | </div> |
| 10 | </div> | 10 | </div> |
| 11 | <div class="user_edit_flex"> | 11 | <div class="user_edit_flex"> |
