aboutsummaryrefslogtreecommitdiff
path: root/src/view
diff options
context:
space:
mode:
Diffstat (limited to 'src/view')
-rw-r--r--src/view/FooterBuilder.php10
-rw-r--r--src/view/HeadBuilder.php15
-rw-r--r--src/view/HeaderBuilder.php23
-rw-r--r--src/view/templates/footer.php2
-rw-r--r--src/view/templates/head.php4
-rw-r--r--src/view/templates/header.php2
6 files changed, 26 insertions, 30 deletions
diff --git a/src/view/FooterBuilder.php b/src/view/FooterBuilder.php
index 35df010..fcb78e0 100644
--- a/src/view/FooterBuilder.php
+++ b/src/view/FooterBuilder.php
@@ -4,6 +4,7 @@
4declare(strict_types=1); 4declare(strict_types=1);
5 5
6use App\Entity\Node; 6use App\Entity\Node;
7use App\Entity\Asset;
7 8
8class FooterBuilder extends AbstractBuilder 9class FooterBuilder extends AbstractBuilder
9{ 10{
@@ -13,12 +14,15 @@ class FooterBuilder extends AbstractBuilder
13 14
14 if(file_exists($viewFile)) 15 if(file_exists($viewFile))
15 { 16 {
16 // $adresses postale et e-mail 17 $node_data = $node->getNodeData();
17 if(!empty($node->getNodeData()->getData())) 18 // nom du contact, adresse et e-mail
19 if(!empty($node_data->getData()))
18 { 20 {
19 extract($node->getNodeData()->getData()); 21 extract($node_data->getData());
20 } 22 }
21 23
24 $footer_logo = Asset::USER_PATH . $node_data->getAssetByRole('footer_logo')?->getFileName() ?? '';
25
22 $this->useChildrenBuilder($node); 26 $this->useChildrenBuilder($node);
23 $breadcrumb = $this->html; 27 $breadcrumb = $this->html;
24 28
diff --git a/src/view/HeadBuilder.php b/src/view/HeadBuilder.php
index b3d78aa..fd7f751 100644
--- a/src/view/HeadBuilder.php
+++ b/src/view/HeadBuilder.php
@@ -49,18 +49,9 @@ class HeadBuilder extends AbstractBuilder
49 $description = Model::$page_path->getLast()->getDescription(); 49 $description = Model::$page_path->getLast()->getDescription();
50 50
51 // favicon 51 // favicon
52 /*foreach($node->getNodeData()->getImages() as $image) 52 // ?-> est l'opérateur de navigation sécurisée => LOVE!
53 { 53 $favicon = Asset::USER_PATH . ($favicon_object = $node->getNodeData()->getAssetByRole('head_favicon'))?->getFileName() ?? '';
54 if(str_contains($image->getFileName(), 'favicon')) 54 $favicon_type = $favicon_object?->getMimeType() ?? '';
55 {
56 $favicon = rtrim($image->getFilePathMini(), '/');
57 $alt = $image->getAlt();
58 }
59 }*/
60
61 // en dur temporairement
62 $favicon = Asset::USER_PATH . 'favicon48x48.png';
63 $alt = 'favicon';
64 55
65 ob_start(); 56 ob_start();
66 require $viewFile; 57 require $viewFile;
diff --git a/src/view/HeaderBuilder.php b/src/view/HeaderBuilder.php
index 3b45a11..44e244d 100644
--- a/src/view/HeaderBuilder.php
+++ b/src/view/HeaderBuilder.php
@@ -3,8 +3,8 @@
3 3
4declare(strict_types=1); 4declare(strict_types=1);
5 5
6use App\Entity\Asset;
7use App\Entity\Node; 6use App\Entity\Node;
7use App\Entity\Asset;
8 8
9class HeaderBuilder extends AbstractBuilder 9class HeaderBuilder extends AbstractBuilder
10{ 10{
@@ -35,18 +35,18 @@ class HeaderBuilder extends AbstractBuilder
35 35
36 if(file_exists($viewFile)) 36 if(file_exists($viewFile))
37 { 37 {
38 $node_data = $node->getNodeData();
38 // titre et description 39 // titre et description
39 // => retourne $titre, $description et le tableau associatif: $social 40 if(!empty($node_data->getData()))
40 if(!empty($node->getNodeData()->getData()))
41 { 41 {
42 extract($node->getNodeData()->getData()); 42 extract($node_data->getData());
43 } 43 }
44 44
45 // réseaux sociaux + logo dans l'entête 45 // réseaux sociaux + logo dans l'entête
46 $header_logo = Asset::USER_PATH . $node_data->getAssetByRole('header_logo')?->getFileName() ?? '';
47 $header_background = Asset::USER_PATH . $node_data->getAssetByRole('header_background')?->getFileName() ?? '';
46 $keys = array_keys($social); 48 $keys = array_keys($social);
47 $social_networks = ''; 49 $social_networks = '';
48 //$header_logo;
49 //$header_background;
50 50
51 // nécéssite des entrées dans la table node_asset 51 // nécéssite des entrées dans la table node_asset
52 /*foreach($node->getNodeData()->getAssets() as $asset) 52 /*foreach($node->getNodeData()->getAssets() as $asset)
@@ -80,20 +80,21 @@ class HeaderBuilder extends AbstractBuilder
80 80
81 // boutons mode admin 81 // boutons mode admin
82 if($_SESSION['admin']){ 82 if($_SESSION['admin']){
83 // assets dans classe editing_zone
83 $editing_zone_margin = '5px'; 84 $editing_zone_margin = '5px';
84 $favicon = Asset::USER_PATH . 'favicon48x48.png'; // double le code dans HeadBuilder 85 $buttons_favicon = '<button id="head_favicon_open" onclick="head_favicon.open()"><img id="head_favicon_img" class="action_icon"> Favicon</button>
85 $buttons_favicon = '<button id="head_favicon_open" onclick="head_favicon.open()"><img id="head_favicon_img" class="action_icon" src="' . $favicon . '"> Favicon</button> 86 <script>document.getElementById(\'head_favicon_img\').src = window.Config.favicon;</script>
86 <img id="head_favicon_submit" class="action_icon hidden" src="assets/save.svg" onclick="head_favicon.submit()"> 87 <img id="head_favicon_submit" class="action_icon hidden" src="assets/save.svg" onclick="head_favicon.submit()">
87 <img id="head_favicon_cancel" class="action_icon hidden" src="assets/close.svg" onclick="head_favicon.cancel()">'; 88 <img id="head_favicon_cancel" class="action_icon hidden" src="assets/close.svg" onclick="head_favicon.cancel()">';
88 $background = Asset::USER_PATH . 'fond-piscine.jpg'; 89 $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>
89 $buttons_background = '<button id="header_background_open" onclick="header_background.open()"><img id="header_background_img" class="background_button" src="' . $background . '"> Image de fond</button>
90 <img id="header_background_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_background.submit()"> 90 <img id="header_background_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_background.submit()">
91 <img id="header_background_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_background.cancel()">'; 91 <img id="header_background_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_background.cancel()">';
92 92
93 // asset dans classe header_content
93 $buttons_header_logo = '<img id="header_logo_open" class="action_icon" src="assets/edit.svg" onclick="header_logo.open()"> 94 $buttons_header_logo = '<img id="header_logo_open" class="action_icon" src="assets/edit.svg" onclick="header_logo.open()">
94 <img id="header_logo_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_logo.submit()"> 95 <img id="header_logo_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_logo.submit()">
95 <img id="header_logo_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_logo.cancel()">'; 96 <img id="header_logo_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_logo.cancel()">';
96 97 // texte dans classe header_content
97 $buttons_header_title = '<img id="header_title_open" class="action_icon" src="assets/edit.svg" onclick="header_title.open()"> 98 $buttons_header_title = '<img id="header_title_open" class="action_icon" src="assets/edit.svg" onclick="header_title.open()">
98 <img id="header_title_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_title.submit()"> 99 <img id="header_title_submit" class="action_icon hidden" src="assets/save.svg" onclick="header_title.submit()">
99 <img id="header_title_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_title.cancel()">'; 100 <img id="header_title_cancel" class="action_icon hidden" src="assets/close.svg" onclick="header_title.cancel()">';
diff --git a/src/view/templates/footer.php b/src/view/templates/footer.php
index 2bb5a9e..4db38ae 100644
--- a/src/view/templates/footer.php
+++ b/src/view/templates/footer.php
@@ -20,7 +20,7 @@
20 </div> 20 </div>
21 </div> 21 </div>
22 <div id="footer_logo"> 22 <div id="footer_logo">
23 <a href="<?= new URL ?>"><img id="footer_logo_img" src="<?= $footer_logo ?>" alt="logo_alt"></a> 23 <a href="<?= new URL ?>"><img id="footer_logo_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"> 24 <input type="file" id="footer_logo_input" class="hidden" accept="image/png, image/jpeg, image/gif, image/webp, image/tiff">
25 <?= $buttons_footer_logo ?> 25 <?= $buttons_footer_logo ?>
26 </div> 26 </div>
diff --git a/src/view/templates/head.php b/src/view/templates/head.php
index 83a0e7c..bce0a19 100644
--- a/src/view/templates/head.php
+++ b/src/view/templates/head.php
@@ -2,12 +2,12 @@
2<!DOCTYPE html> 2<!DOCTYPE html>
3<html lang="fr"> 3<html lang="fr">
4 <head> 4 <head>
5 <script>window.Config = {page: "<?= CURRENT_PAGE ?>", favicon: "<?= $favicon ?>"};</script>
5 <meta charset="utf-8"> 6 <meta charset="utf-8">
6 <title><?= $title ?></title> 7 <title><?= $title ?></title>
7 <link rel="icon" type="image/png" href="<?= $favicon ?>" alt="<?= $alt ?>"> 8 <link rel="icon" type="<?= $favicon_type ?>" href="<?= $favicon ?>">
8 <meta name="description" content="<?= $description ?>"> 9 <meta name="description" content="<?= $description ?>">
9 <meta name="viewport" content="width=device-width"> 10 <meta name="viewport" content="width=device-width">
10 <script>window.Config = {page: "<?= CURRENT_PAGE ?>"};</script>
11 <?= $css ?> 11 <?= $css ?>
12 <?= $js ?> 12 <?= $js ?>
13 </head> \ No newline at end of file 13 </head> \ No newline at end of file
diff --git a/src/view/templates/header.php b/src/view/templates/header.php
index b63aa84..ac8af7f 100644
--- a/src/view/templates/header.php
+++ b/src/view/templates/header.php
@@ -18,7 +18,7 @@
18 <div class="header_content"> 18 <div class="header_content">
19 <div class="header_left_col"> 19 <div class="header_left_col">
20 <div id="header_logo"> 20 <div id="header_logo">
21 <a href="<?= new URL ?>"><img id="header_logo_img" src="<?= $header_logo ?>" alt="logo_alt"></a> 21 <a href="<?= new URL ?>"><img id="header_logo_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"> 22 <input type="file" id="header_logo_input" class="hidden" accept="image/png, image/jpeg, image/gif, image/webp, image/tiff">
23 <?= $buttons_header_logo ?> 23 <?= $buttons_header_logo ?>
24 </div> 24 </div>