From f27cca08ff786ceff1870147f6d6bad14d71117f Mon Sep 17 00:00:00 2001 From: polo Date: Fri, 23 Oct 2026 00:47:32 +0200 Subject: =?UTF-8?q?dossiers=20avec=20majuscule,=20namespace=20pour=20toute?= =?UTF-8?q?s=20les=20classes,=20autoload=20psr-4,=20UserDataService::creat?= =?UTF-8?q?eZip=20d=C3=A9plac=C3=A9=20dans=20Backup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/View/FooterBuilder.php | 122 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 src/View/FooterBuilder.php (limited to 'src/View/FooterBuilder.php') diff --git a/src/View/FooterBuilder.php b/src/View/FooterBuilder.php new file mode 100644 index 0000000..72a571d --- /dev/null +++ b/src/View/FooterBuilder.php @@ -0,0 +1,122 @@ +getName() . '.php'; + + if(file_exists($viewFile)) + { + $node_data = $node->getNodeData(); + // nom du contact, adresse et e-mail + if(!empty($node_data->getData())) + { + extract($node_data->getData()); + } + + $footer_logo = Asset::USER_PATH . $node_data->getAssetByRole('footer_logo')?->getFileName() ?? ''; + + $this->useChildrenBuilder($node); + $breadcrumb = $this->html; + + $empty_admin_zone = ''; + if(IS_ADMIN) + { + // données du footer + $admin_footer_name = ' + + + '; + $admin_footer_address = ' + + + '; + $admin_footer_email = ' + + + '; + + $admin_footer_logo = ' + + + '; + + // zone admin + $empty_admin_zone = 'empty_admin_zone'; + if(MainBuilder::$modif_mode){ + $mode = 'modification de page'; + $div_admin = 'logged_in modif_mode'; + } + else{ + $mode = 'administrateur'; + $div_admin = 'logged_in'; + } + + $link_change_password = new URL(['page' => 'user_edit', 'from' => CURRENT_PAGE]); + isset($_GET['id']) ? $link_change_password->addParams(['id' => $_GET['id']]) : ''; + + $link_logout = new URL(['action' => 'deconnection', 'from' => CURRENT_PAGE]); + isset($_GET['id']) ? $link_logout->addParams(['id' => $_GET['id']]) : ''; + + $zone_admin = '
+

Vous êtes en mode ' . $mode . ".

\n" . + '
' . "\n" . + $this->makePageModifModeButton() . "\n" . + '
' . "\n" . + '
' . "\n" . + '
' . "\n" . + '
' . "\n" . + '
' . "\n"; + } + else + { + $div_admin = 'logged_out'; + $url = new URL(['page' => 'connection', 'from' => CURRENT_PAGE]); + if(Model::$page_path->getLast()->getEndOfPath() === 'article' && isset($_GET['id'])){ + $url->addParams(['id' => $_GET['id']]); + } + $zone_admin = ''; + + $admin_footer_name = ''; + $admin_footer_address = ''; + $admin_footer_email = ''; + $admin_footer_logo = ''; + } + + ob_start(); + require $viewFile; + $this->html = ob_get_clean(); + } + } + + private function makePageModifModeButton(): string + { + $link_edit_page = new URL(['page' => CURRENT_PAGE]); + if(!in_array(CURRENT_PAGE, ViewController::SPECIAL_PAGES)) // cas impossibles: 'user_edit' et 'connection' qui n'ont pas de footer + { + if(MainBuilder::$modif_mode){ + $link_edit_label = 'Sortir du mode modification'; + } + else{ + $link_edit_page->addParams(['mode' => 'page_modif']); + $link_edit_label = 'Modifier la page'; + } + return '
'; + } + else{ + return ''; + } + } +} \ No newline at end of file -- cgit v1.2.3