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/HeadBuilder.php | 84 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/View/HeadBuilder.php (limited to 'src/View/HeadBuilder.php') diff --git a/src/View/HeadBuilder.php b/src/View/HeadBuilder.php new file mode 100644 index 0000000..4d63457 --- /dev/null +++ b/src/View/HeadBuilder.php @@ -0,0 +1,84 @@ +getName() . '.php'; + + if(file_exists($viewFile)){ + // css et js + $page = Model::$page_path->getLast(); + + $css = ''; + foreach($page->getCSS() as $name){ + $css .= self::insertCSS($name); + } + + $js = ''; + foreach($page->getJS() as $name){ + $js .= self::insertJS($name); + } + + if(MainBuilder::$modif_mode){ + $css .= self::insertCSS('modif_page'); + $js .= self::insertJS('modif_page'); + } + + if(IS_ADMIN){ + // édition éléments sur toutes les pages (header, footer et favicon) + $js .= self::insertJS('Input'); + + // sert partout? + $js .= self::insertJS('Fetcher'); + + // tinymce, nécéssite un script post-install et post-update dans composer.json + $css .= self::insertCSS('tinymce'); + $js .= self::insertJS('tinymce/tinymce.min'); + $js .= self::insertJS('tinymce'); + } + + $title = Model::$page_path->getLast()->getPageName(); + $description = Model::$page_path->getLast()->getDescription(); + + // favicon + // ?-> est l'opérateur de navigation sécurisée => LOVE! + $favicon_name = ($favicon_object = $node->getNodeData()->getAssetByRole('head_favicon'))?->getFileName(); + $favicon = $favicon_name ? Asset::USER_PATH . $favicon_name : ''; + $favicon_type = $favicon_object?->getMimeType() ?? ''; + + ob_start(); + require $viewFile; + $this->html .= ob_get_clean(); + } + } + + static function insertCSS(string $name): string + { + return '' . "\n"; + } + static function insertJS(string $name, bool $module = false): string + { + return '' . "\n"; + } + + static function versionedFileURL(string $type, string $filename): string + { + $path = $type . '/' . $filename . '.' . $type; + + if(file_exists($path)){ + $version = substr(md5_file($path), 0, 8); + return $path . '?v=' . $version; + } + return $path; // sécurité fichier absent + } +} -- cgit v1.2.3