aboutsummaryrefslogtreecommitdiff
path: root/src/view
diff options
context:
space:
mode:
Diffstat (limited to 'src/view')
-rw-r--r--src/view/FooterBuilder.php20
-rw-r--r--src/view/HeadBuilder.php3
-rw-r--r--src/view/HeaderBuilder.php33
-rw-r--r--src/view/MenuBuilder.php26
-rw-r--r--src/view/templates/footer.php20
-rw-r--r--src/view/templates/header.php30
6 files changed, 63 insertions, 69 deletions
diff --git a/src/view/FooterBuilder.php b/src/view/FooterBuilder.php
index fcb78e0..277de4b 100644
--- a/src/view/FooterBuilder.php
+++ b/src/view/FooterBuilder.php
@@ -30,17 +30,21 @@ class FooterBuilder extends AbstractBuilder
30 if($_SESSION['admin']) 30 if($_SESSION['admin'])
31 { 31 {
32 // données du footer 32 // données du footer
33 $buttons_footer_name = '<img id="footer_name_open" class="action_icon" src="assets/edit.svg" onclick="footer_name.open()"> 33 $admin_footer_name = '<input type="text" id="footer_name_input" class="hidden" value="' . htmlspecialchars($name ?? '') . '" size="30">
34 <img id="footer_name_open" class="action_icon" src="assets/edit.svg" onclick="footer_name.open()">
34 <img id="footer_name_submit" class="action_icon hidden" src="assets/save.svg" onclick="footer_name.submit()"> 35 <img id="footer_name_submit" class="action_icon hidden" src="assets/save.svg" onclick="footer_name.submit()">
35 <img id="footer_name_cancel" class="action_icon hidden" src="assets/close.svg" onclick="footer_name.cancel()">'; 36 <img id="footer_name_cancel" class="action_icon hidden" src="assets/close.svg" onclick="footer_name.cancel()">';
36 $buttons_footer_address = '<img id="footer_address_open" class="action_icon" src="assets/edit.svg" onclick="footer_address.open()"> 37 $admin_footer_address = '<input type="text" id="footer_address_input" class="hidden" value="' . htmlspecialchars($address ?? '') . '" size="30">
38 <img id="footer_address_open" class="action_icon" src="assets/edit.svg" onclick="footer_address.open()">
37 <img id="footer_address_submit" class="action_icon hidden" src="assets/save.svg" onclick="footer_address.submit()"> 39 <img id="footer_address_submit" class="action_icon hidden" src="assets/save.svg" onclick="footer_address.submit()">
38 <img id="footer_address_cancel" class="action_icon hidden" src="assets/close.svg" onclick="footer_address.cancel()">'; 40 <img id="footer_address_cancel" class="action_icon hidden" src="assets/close.svg" onclick="footer_address.cancel()">';
39 $buttons_footer_email = '<img id="footer_email_open" class="action_icon" src="assets/edit.svg" onclick="footer_email.open()"> 41 $admin_footer_email = '<input type="text" id="footer_email_input" class="hidden" value="' . htmlspecialchars($email ?? '') . '" size="30">
42 <img id="footer_email_open" class="action_icon" src="assets/edit.svg" onclick="footer_email.open()">
40 <img id="footer_email_submit" class="action_icon hidden" src="assets/save.svg" onclick="footer_email.submit()"> 43 <img id="footer_email_submit" class="action_icon hidden" src="assets/save.svg" onclick="footer_email.submit()">
41 <img id="footer_email_cancel" class="action_icon hidden" src="assets/close.svg" onclick="footer_email.cancel()">'; 44 <img id="footer_email_cancel" class="action_icon hidden" src="assets/close.svg" onclick="footer_email.cancel()">';
42 45
43 $buttons_footer_logo = '<img id="footer_logo_open" class="action_icon" src="assets/edit.svg" onclick="footer_logo.open()"> 46 $admin_footer_logo = '<input type="file" id="footer_logo_input" class="hidden" accept="image/png, image/jpeg, image/gif, image/webp, image/tiff">
47 <img id="footer_logo_open" class="action_icon" src="assets/edit.svg" onclick="footer_logo.open()">
44 <img id="footer_logo_submit" class="action_icon hidden" src="assets/save.svg" onclick="footer_logo.submit()"> 48 <img id="footer_logo_submit" class="action_icon hidden" src="assets/save.svg" onclick="footer_logo.submit()">
45 <img id="footer_logo_cancel" class="action_icon hidden" src="assets/close.svg" onclick="footer_logo.cancel()">'; 49 <img id="footer_logo_cancel" class="action_icon hidden" src="assets/close.svg" onclick="footer_logo.cancel()">';
46 50
@@ -81,10 +85,10 @@ class FooterBuilder extends AbstractBuilder
81 } 85 }
82 $zone_admin = '<button><a href="' . $url . '">Mode admin</a></button>'; 86 $zone_admin = '<button><a href="' . $url . '">Mode admin</a></button>';
83 87
84 $buttons_footer_name = ''; 88 $admin_footer_name = '';
85 $buttons_footer_address = ''; 89 $admin_footer_address = '';
86 $buttons_footer_email = ''; 90 $admin_footer_email = '';
87 $buttons_footer_logo = ''; 91 $admin_footer_logo = '';
88 } 92 }
89 93
90 ob_start(); 94 ob_start();
diff --git a/src/view/HeadBuilder.php b/src/view/HeadBuilder.php
index fd7f751..3eba9a2 100644
--- a/src/view/HeadBuilder.php
+++ b/src/view/HeadBuilder.php
@@ -36,8 +36,7 @@ class HeadBuilder extends AbstractBuilder
36 36
37 if($_SESSION['admin']){ 37 if($_SESSION['admin']){
38 // édition éléments sur toutes les pages (header, footer et favicon) 38 // édition éléments sur toutes les pages (header, footer et favicon)
39 $js .= '<script src="' . self::versionedFileURL('js', 'InputText') . '"></script>' . "\n"; 39 $js .= '<script src="' . self::versionedFileURL('js', 'Input') . '"></script>' . "\n";
40 $js .= '<script src="' . self::versionedFileURL('js', 'InputFile') . '"></script>' . "\n";
41 40
42 // tinymce, nécéssite un script de copie dans composer.json 41 // tinymce, nécéssite un script de copie dans composer.json
43 $css .= '<link rel="stylesheet" href="' . self::versionedFileURL('css', 'tinymce') . '">' . "\n"; 42 $css .= '<link rel="stylesheet" href="' . self::versionedFileURL('css', 'tinymce') . '">' . "\n";
diff --git a/src/view/HeaderBuilder.php b/src/view/HeaderBuilder.php
index 1c82368..ae9a888 100644
--- a/src/view/HeaderBuilder.php
+++ b/src/view/HeaderBuilder.php
@@ -57,37 +57,42 @@ class HeaderBuilder extends AbstractBuilder
57 if($_SESSION['admin']){ 57 if($_SESSION['admin']){
58 // assets dans classe editing_zone 58 // assets dans classe editing_zone
59 $editing_zone_margin = '5px'; 59 $editing_zone_margin = '5px';
60 $buttons_favicon = '<button id="head_favicon_open" onclick="head_favicon.open()"><img id="head_favicon_img" class="action_icon"> Favicon</button> 60 $admin_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">
61 <script>document.getElementById(\'head_favicon_img\').src = window.Config.favicon;</script> 61 <button id="head_favicon_open" onclick="head_favicon.open()"><img id="head_favicon_content" class="action_icon"> Favicon</button>
62 <script>document.getElementById(\'head_favicon_content\').src = window.Config.favicon;</script>
62 <img id="head_favicon_submit" class="action_icon hidden" src="assets/save.svg" onclick="head_favicon.submit()"> 63 <img id="head_favicon_submit" class="action_icon hidden" src="assets/save.svg" onclick="head_favicon.submit()">
63 <img id="head_favicon_cancel" class="action_icon hidden" src="assets/close.svg" onclick="head_favicon.cancel()">'; 64 <img id="head_favicon_cancel" class="action_icon hidden" src="assets/close.svg" onclick="head_favicon.cancel()">';
64 $buttons_background = '<button id="header_background_open" onclick="header_background.open()"><img id="header_background_img" class="background_button" src="' . $header_background . '"> Image de fond</button> 65 $admin_background = '<input type="file" id="header_background_input" class="hidden" accept="image/png, image/jpeg, image/gif, image/webp, image/tiff">
66 <button id="header_background_open" onclick="header_background.open()"><img id="header_background_content" class="background_button" src="' . $header_background . '"> Image de fond</button>
65 <img id="header_background_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_background.submit()"> 67 <img id="header_background_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_background.submit()">
66 <img id="header_background_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_background.cancel()">'; 68 <img id="header_background_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_background.cancel()">';
67 69
68 // asset dans classe header_content 70 // asset dans classe header_content
69 $buttons_header_logo = '<img id="header_logo_open" class="action_icon" src="assets/edit.svg" onclick="header_logo.open()"> 71 $admin_header_logo = '<input type="file" id="header_logo_input" class="hidden" accept="image/png, image/jpeg, image/gif, image/webp, image/tiff">
72 <img id="header_logo_open" class="action_icon" src="assets/edit.svg" onclick="header_logo.open()">
70 <img id="header_logo_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_logo.submit()"> 73 <img id="header_logo_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_logo.submit()">
71 <img id="header_logo_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_logo.cancel()">'; 74 <img id="header_logo_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_logo.cancel()">';
72 // texte dans classe header_content 75 // texte dans classe header_content
73 $buttons_header_title = '<img id="header_title_open" class="action_icon" src="assets/edit.svg" onclick="header_title.open()"> 76 $admin_header_title = '<input type="text" id="header_title_input" class="hidden" value="' . htmlspecialchars($title ?? '') . '" size="30">
77 <img id="header_title_open" class="action_icon" src="assets/edit.svg" onclick="header_title.open()">
74 <img id="header_title_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_title.submit()"> 78 <img id="header_title_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_title.submit()">
75 <img id="header_title_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_title.cancel()">'; 79 <img id="header_title_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_title.cancel()">';
76 $buttons_header_description = '<img id="header_description_open" class="action_icon" src="assets/edit.svg" onclick="header_description.open()"> 80 $admin_header_description = '<input type="text" id="header_description_input" class="hidden" value="' . htmlspecialchars($description ?? '') . '" size="30">
81 <img id="header_description_open" class="action_icon" src="assets/edit.svg" onclick="header_description.open()">
77 <img id="header_description_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_description.submit()"> 82 <img id="header_description_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_description.submit()">
78 <img id="header_description_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_description.cancel()">'; 83 <img id="header_description_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_description.cancel()">';
79 84
80 //$buttons_social_networks = '<img class="action_icon" src="assets/edit.svg" onclick="editSocialNetworks()">'; 85 // icônes réseaux sociaux
81 $buttons_social_networks = ''; 86 $admin_social_networks = '';
82 } 87 }
83 else{ 88 else{
84 $editing_zone_margin = '0'; 89 $editing_zone_margin = '0';
85 $buttons_favicon = ''; 90 $admin_favicon = '';
86 $buttons_background = ''; 91 $admin_background = '';
87 $buttons_header_logo = ''; 92 $admin_header_logo = '';
88 $buttons_header_title = ''; 93 $admin_header_title = '';
89 $buttons_header_description = ''; 94 $admin_header_description = '';
90 $buttons_social_networks = ''; 95 $admin_social_networks = '';
91 } 96 }
92 97
93 ob_start(); 98 ob_start();
diff --git a/src/view/MenuBuilder.php b/src/view/MenuBuilder.php
index 12298cf..8e8b9a9 100644
--- a/src/view/MenuBuilder.php
+++ b/src/view/MenuBuilder.php
@@ -55,32 +55,26 @@ class MenuBuilder extends AbstractBuilder
55 <img class="move_entry_icon" onclick="switchMenuPositions(' . $entry->getId() . ', \'down\')" src="assets/arrow-down.svg"> 55 <img class="move_entry_icon" onclick="switchMenuPositions(' . $entry->getId() . ', \'down\')" src="assets/arrow-down.svg">
56 <span class="menu_entry_checkbox"> 56 <span class="menu_entry_checkbox">
57 <input type="checkbox" ' . $checked . ' onclick="checkMenuEntry(' . $entry->getId() . ')"> 57 <input type="checkbox" ' . $checked . ' onclick="checkMenuEntry(' . $entry->getId() . ')">
58 </span> 58 </span>';
59 <button>' . $entry->getPageName() . '</button>';
60 59
61 // seul la modification des URL est possible pour l'instant, les noms des entrées de menu attendront 60 // entrées URL: bouton poubelle + nom du lien + adresse
62 if(str_starts_with($entry->getEndOfPath(), 'http')){ 61 if(str_starts_with($entry->getEndOfPath(), 'http')){
63 $this->html .= '<form style="display: inline;" id="delete-i' . $entry->getId() . '" method="post" action="' . new URL(['from' => 'menu_chemins']) . '"> 62 $this->html .= '<form style="display: inline;" id="delete-i' . $entry->getId() . '" method="post" action="' . new URL(['from' => 'menu_chemins']) . '">
64 <input type="hidden" name="delete" value="' . $entry->getId() . '"> 63 <input type="hidden" name="delete" value="' . $entry->getId() . '">
65 <input type="image" class="move_entry_icon" src="assets/delete-bin.svg" alt="delete link button" onclick="return confirm(\'Voulez-vous vraiment supprimer cette entrée?\');"> 64 <input type="image" class="move_entry_icon" src="assets/delete-bin.svg" alt="delete link button" onclick="return confirm(\'Voulez-vous vraiment supprimer cette entrée?\');">
66 </form> 65 </form>
67 <span class="url"> 66 <span class="url_name">
67 <button class="url_name"><input type="" value="' . htmlspecialchars($entry->getPageName()) . '"></button>
68 <img class="move_entry_icon" src="assets/save.svg" onclick="editUrl(' . $entry->getId() . ', \'url_name\')">
69 </span>
70 <span class="url_content">
68 <input type="url" value="' . htmlspecialchars($entry->getEndOfPath()) . '"> 71 <input type="url" value="' . htmlspecialchars($entry->getEndOfPath()) . '">
69 <img class="move_entry_icon" src="assets/save.svg" onclick="editUrlEntry(' . $entry->getId() . ')"> 72 <img class="move_entry_icon" src="assets/save.svg" onclick="editUrl(' . $entry->getId() . ', \'url_content\')">
70 </span>'; 73 </span>';
71
72 // code à recycler pour pouvoir modifier le nom de l'entrée de menu correspondant aux liens
73 /*$this->html .= '<span id="cancel-i' . $entry->getId() . '">
74 <input type="hidden" name="cancel" value="' . $entry->getId() . '">
75 <button class="hidden" onclick="cancelUrlEntry(' . $entry->getId() . ')">Annuler</button>
76 </span>
77 <span id="submit-i' . $entry->getId() . '">
78 <input type="hidden" name="submit" value="' . $entry->getId() . '">
79 <input type="submit" class="hidden" onclick="submitUrlEntry(' . $entry->getId() . ')">
80 </span>';*/
81 } 74 }
82 else{ 75 else{
83 $this->html .= '<i class="path">' . $entry->getPagePath() . '</i>'; 76 $this->html .= '<button>' . $entry->getPageName() . '</button>
77 <i class="path">' . $entry->getPagePath() . '</i>';
84 } 78 }
85 79
86 if(count($entry->getChildren()) > 0){ 80 if(count($entry->getChildren()) > 0){
diff --git a/src/view/templates/footer.php b/src/view/templates/footer.php
index 4db38ae..dc1c6cb 100644
--- a/src/view/templates/footer.php
+++ b/src/view/templates/footer.php
@@ -4,25 +4,21 @@
4 <div class="data"> 4 <div class="data">
5 <div class="contact"> 5 <div class="contact">
6 <div id="footer_name"> 6 <div id="footer_name">
7 <span id="footer_name_span"><?= htmlspecialchars($name ?? '') ?></span> 7 <span id="footer_name_content"><?= htmlspecialchars($name ?? '') ?></span>
8 <input type="text" id="footer_name_input" class="hidden" value="<?= htmlspecialchars($name ?? '') ?>" size="30"> 8 <?= $admin_footer_name ?>
9 <?= $buttons_footer_name ?>
10 </div> 9 </div>
11 <div id="footer_address"> 10 <div id="footer_address">
12 <span id="footer_address_span"><?= htmlspecialchars($address ?? '') ?></span> 11 <span id="footer_address_content"><?= htmlspecialchars($address ?? '') ?></span>
13 <input type="text" id="footer_address_input" class="hidden" value="<?= htmlspecialchars($address ?? '') ?>" size="30"> 12 <?= $admin_footer_address ?>
14 <?= $buttons_footer_address ?>
15 </div> 13 </div>
16 <div id="footer_email"> 14 <div id="footer_email">
17 <a href="mailto:<?= $email ?>"><span id="footer_email_span"><?= htmlspecialchars($email ?? '') ?></span></a> 15 <a id="footer_email_content" href="mailto:<?= $email ?>"><?= htmlspecialchars($email ?? '') ?></a>
18 <input type="text" id="footer_email_input" class="hidden" value="<?= htmlspecialchars($email ?? '') ?>" size="30"> 16 <?= $admin_footer_email ?>
19 <?= $buttons_footer_email ?>
20 </div> 17 </div>
21 </div> 18 </div>
22 <div id="footer_logo"> 19 <div id="footer_logo">
23 <a href="<?= new URL ?>"><img id="footer_logo_img" src="<?= $footer_logo ?? '' ?>" alt="logo_alt"></a> 20 <a id="footer_logo_content" href="<?= new URL ?>"><img src="<?= $footer_logo ?? '' ?>" alt="logo_alt"></a>
24 <input type="file" id="footer_logo_input" class="hidden" accept="image/png, image/jpeg, image/gif, image/webp, image/tiff"> 21 <?= $admin_footer_logo ?>
25 <?= $buttons_footer_logo ?>
26 </div> 22 </div>
27<?php if($_SESSION['admin']){ ?> 23<?php if($_SESSION['admin']){ ?>
28 <script> 24 <script>
diff --git a/src/view/templates/header.php b/src/view/templates/header.php
index ac8af7f..4d3b323 100644
--- a/src/view/templates/header.php
+++ b/src/view/templates/header.php
@@ -5,43 +5,38 @@
5 <div id="nav_zone"> 5 <div id="nav_zone">
6 <?= $nav ?> 6 <?= $nav ?>
7 </div> 7 </div>
8 <div class="editing_zone"> 8 <div>
9 <div id="head_favicon" style="margin: <?= $editing_zone_margin ?>;"> 9 <div id="head_favicon" style="margin: <?= $editing_zone_margin ?>;">
10 <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"> 10 <?= $admin_favicon ?>
11 <?= $buttons_favicon ?>
12 </div> 11 </div>
13 <div id="header_background"> 12 <div id="header_background">
14 <input type="file" id="header_background_input" class="hidden" accept="image/png, image/jpeg, image/gif, image/webp, image/tiff"> 13 <?= $admin_background ?>
15 <?= $buttons_background ?>
16 </div> 14 </div>
17 </div> 15 </div>
18 <div class="header_content"> 16 <div class="header_content">
19 <div class="header_left_col"> 17 <div class="header_left_col">
20 <div id="header_logo"> 18 <div id="header_logo">
21 <a href="<?= new URL ?>"><img id="header_logo_img" src="<?= $header_logo ?? '' ?>" alt="header_logo"></a> 19 <a id="header_logo_content" href="<?= new URL ?>"><img src="<?= $header_logo ?? '' ?>" alt="header_logo"></a>
22 <input type="file" id="header_logo_input" class="hidden" accept="image/png, image/jpeg, image/gif, image/webp, image/tiff"> 20 <?= $admin_header_logo ?>
23 <?= $buttons_header_logo ?>
24 </div> 21 </div>
25 </div> 22 </div>
26 <div class="nav_button"> 23 <div class="nav_button">
27 <button>MENU</button> 24 <button>MENU</button>
28 </div> 25 </div>
29 <div class="site_title"> 26 <div class="header_center_col">
30 <h1 id="header_title"> 27 <h1 id="header_title">
31 <a href="<?= new URL ?>"><span id="header_title_span"><?= htmlspecialchars($title ?? '') ?></span></a> 28 <a id="header_title_content" href="<?= new URL ?>"><?= htmlspecialchars($title ?? '') ?></a></span>
32 <input type="text" id="header_title_input" class="hidden" value="<?= htmlspecialchars($title ?? '') ?>" size="30"> 29 <?= $admin_header_title ?>
33 <?= $buttons_header_title ?>
34 </h1> 30 </h1>
35 <h2 id="header_description"> 31 <h2 id="header_description">
36 <span id="header_description_span"><?= htmlspecialchars($description ?? '') ?></span> 32 <span id="header_description_content"><?= htmlspecialchars($description ?? '') ?></span>
37 <input type="text" id="header_description_input" class="hidden" value="<?= htmlspecialchars($description ?? '') ?>" size="30"> 33 <?= $admin_header_description ?>
38 <?= $buttons_header_description ?>
39 </h2> 34 </h2>
40 </div> 35 </div>
41 <div class="header_right_col"> 36 <div class="header_right_col">
42 <div class="social"> 37 <div id="header_social">
43 <?= $social_networks ?> 38 <?= $social_networks ?>
44 <?= $buttons_social_networks ?> 39 <?= $admin_social_networks ?>
45 </div> 40 </div>
46 <?= $breadcrumb ?? '' ?> 41 <?= $breadcrumb ?? '' ?>
47 </div> 42 </div>
@@ -53,6 +48,7 @@
53 let header_logo = new InputFile('header_logo'); 48 let header_logo = new InputFile('header_logo');
54 let header_title = new InputText('header_title'); 49 let header_title = new InputText('header_title');
55 let header_description = new InputText('header_description'); 50 let header_description = new InputText('header_description');
51 let header_social = new InputFile('header_social');
56 </script> 52 </script>
57<?php } ?> 53<?php } ?>
58 </header> \ No newline at end of file 54 </header> \ No newline at end of file