diff options
| author | polo <ordipolo@gmx.fr> | 2025-10-24 02:27:19 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2025-10-24 02:27:19 +0200 |
| commit | 5311271ae590460b986e3e09edcdc665b73710ca (patch) | |
| tree | f31f6b9602d1607e838a7a4bfe320db9c8d44bb4 /src/view | |
| parent | f9a9bf1ae4fac9317fd71f0bcb207544b000e6f1 (diff) | |
| download | cms-5311271ae590460b986e3e09edcdc665b73710ca.zip | |
entité pour table intermédiaire à 3 champs entre NodeData et Asset, table Asset repensée
Diffstat (limited to 'src/view')
| -rw-r--r-- | src/view/FooterBuilder.php | 10 | ||||
| -rw-r--r-- | src/view/HeadBuilder.php | 15 | ||||
| -rw-r--r-- | src/view/HeaderBuilder.php | 23 | ||||
| -rw-r--r-- | src/view/templates/footer.php | 2 | ||||
| -rw-r--r-- | src/view/templates/head.php | 4 | ||||
| -rw-r--r-- | src/view/templates/header.php | 2 |
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 @@ | |||
| 4 | declare(strict_types=1); | 4 | declare(strict_types=1); |
| 5 | 5 | ||
| 6 | use App\Entity\Node; | 6 | use App\Entity\Node; |
| 7 | use App\Entity\Asset; | ||
| 7 | 8 | ||
| 8 | class FooterBuilder extends AbstractBuilder | 9 | class 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 | ||
| 4 | declare(strict_types=1); | 4 | declare(strict_types=1); |
| 5 | 5 | ||
| 6 | use App\Entity\Asset; | ||
| 7 | use App\Entity\Node; | 6 | use App\Entity\Node; |
| 7 | use App\Entity\Asset; | ||
| 8 | 8 | ||
| 9 | class HeaderBuilder extends AbstractBuilder | 9 | class 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> |
