aboutsummaryrefslogtreecommitdiff
path: root/src/view/FooterBuilder.php
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2026-10-23 00:47:32 +0200
committerpolo <ordipolo@gmx.fr>2026-10-23 00:47:32 +0200
commitf27cca08ff786ceff1870147f6d6bad14d71117f (patch)
treed36597a72025313d6faf4ed228755fa267ebe2f6 /src/view/FooterBuilder.php
parentc7309f900ef05bd5cb313110ec159b761af394ec (diff)
downloadcms-f27cca08ff786ceff1870147f6d6bad14d71117f.tar.gz
cms-f27cca08ff786ceff1870147f6d6bad14d71117f.tar.bz2
cms-f27cca08ff786ceff1870147f6d6bad14d71117f.zip
dossiers avec majuscule, namespace pour toutes les classes, autoload psr-4, UserDataService::createZip déplacé dans Backup
Diffstat (limited to 'src/view/FooterBuilder.php')
-rw-r--r--src/view/FooterBuilder.php117
1 files changed, 0 insertions, 117 deletions
diff --git a/src/view/FooterBuilder.php b/src/view/FooterBuilder.php
deleted file mode 100644
index bb99c13..0000000
--- a/src/view/FooterBuilder.php
+++ /dev/null
@@ -1,117 +0,0 @@
1<?php
2// src/view/FooterBuilder.php
3
4declare(strict_types=1);
5
6use App\Entity\Node;
7use App\Entity\Asset;
8
9class FooterBuilder extends AbstractBuilder
10{
11 public function __construct(Node $node)
12 {
13 $viewFile = self::VIEWS_PATH . $node->getName() . '.php';
14
15 if(file_exists($viewFile))
16 {
17 $node_data = $node->getNodeData();
18 // nom du contact, adresse et e-mail
19 if(!empty($node_data->getData()))
20 {
21 extract($node_data->getData());
22 }
23
24 $footer_logo = Asset::USER_PATH . $node_data->getAssetByRole('footer_logo')?->getFileName() ?? '';
25
26 $this->useChildrenBuilder($node);
27 $breadcrumb = $this->html;
28
29 $empty_admin_zone = '';
30 if(IS_ADMIN)
31 {
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">
34 <img id="footer_name_open" class="action_icon" src="assets/edit.svg" onclick="footer_name.open()">
35 <img id="footer_name_submit" class="action_icon hidden" src="assets/save.svg" onclick="footer_name.submit()">
36 <img id="footer_name_cancel" class="action_icon hidden" src="assets/close.svg" onclick="footer_name.cancel()">';
37 $admin_footer_address = '<input type="text" id="footer_address_input" class="hidden" value="' . htmlspecialchars($address ?? '') . '" placeholder="adresse" size="30">
38 <img id="footer_address_open" class="action_icon" src="assets/edit.svg" onclick="footer_address.open()">
39 <img id="footer_address_submit" class="action_icon hidden" src="assets/save.svg" onclick="footer_address.submit()">
40 <img id="footer_address_cancel" class="action_icon hidden" src="assets/close.svg" onclick="footer_address.cancel()">';
41 $admin_footer_email = '<input type="text" id="footer_email_input" class="hidden" value="' . htmlspecialchars($email ?? '') . '" placeholder="e-mail" size="30">
42 <img id="footer_email_open" class="action_icon" src="assets/edit.svg" onclick="footer_email.open()">
43 <img id="footer_email_submit" class="action_icon hidden" src="assets/save.svg" onclick="footer_email.submit()">
44 <img id="footer_email_cancel" class="action_icon hidden" src="assets/close.svg" onclick="footer_email.cancel()">';
45
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()">
48 <img id="footer_logo_submit" class="action_icon hidden" src="assets/save.svg" onclick="footer_logo.submit()">
49 <img id="footer_logo_cancel" class="action_icon hidden" src="assets/close.svg" onclick="footer_logo.cancel()">';
50
51 // zone admin
52 $empty_admin_zone = 'empty_admin_zone';
53 if(MainBuilder::$modif_mode){
54 $mode = 'modification de page';
55 $div_admin = 'logged_in modif_mode';
56 }
57 else{
58 $mode = 'administrateur';
59 $div_admin = 'logged_in';
60 }
61
62 $link_change_password = new URL(['page' => 'user_edit', 'from' => CURRENT_PAGE]);
63 isset($_GET['id']) ? $link_change_password->addParams(['id' => $_GET['id']]) : '';
64
65 $link_logout = new URL(['action' => 'deconnection', 'from' => CURRENT_PAGE]);
66 isset($_GET['id']) ? $link_logout->addParams(['id' => $_GET['id']]) : '';
67
68 $zone_admin = '<div class="admin_buttons_zone">
69 <p>Vous êtes en mode ' . $mode . ".</p>\n" .
70 '<div><a href="' . new URL(['page' => 'new_page']) . '"><button>Nouvelle page</button></a></div>' . "\n" .
71 $this->makePageModifModeButton() . "\n" .
72 '<div><a href="' . new URL(['page' => 'menu_paths']) . '"><button>Menu et chemins</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" .
75 '<div><a href="' . $link_logout . '"><button>Déconnexion</button></a></div>' . "\n" .
76 '</div>' . "\n";
77 }
78 else
79 {
80 $div_admin = 'logged_out';
81 $url = new URL(['page' => 'connection', 'from' => CURRENT_PAGE]);
82 if(Model::$page_path->getLast()->getEndOfPath() === 'article' && isset($_GET['id'])){
83 $url->addParams(['id' => $_GET['id']]);
84 }
85 $zone_admin = '<button><a href="' . $url . '">Mode admin</a></button>';
86
87 $admin_footer_name = '';
88 $admin_footer_address = '';
89 $admin_footer_email = '';
90 $admin_footer_logo = '';
91 }
92
93 ob_start();
94 require $viewFile;
95 $this->html = ob_get_clean();
96 }
97 }
98
99 private function makePageModifModeButton(): string
100 {
101 $link_edit_page = new URL(['page' => CURRENT_PAGE]);
102 if(!in_array(CURRENT_PAGE, ViewController::SPECIAL_PAGES)) // cas impossibles: 'user_edit' et 'connection' qui n'ont pas de footer
103 {
104 if(MainBuilder::$modif_mode){
105 $link_edit_label = 'Sortir du mode modification';
106 }
107 else{
108 $link_edit_page->addParams(['mode' => 'page_modif']);
109 $link_edit_label = 'Modifier la page';
110 }
111 return '<div><a href="' . $link_edit_page . '"><button>' . $link_edit_label . '</button></a></div>';
112 }
113 else{
114 return '';
115 }
116 }
117} \ No newline at end of file