aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2025-11-01 20:28:03 +0100
committerpolo <ordipolo@gmx.fr>2025-11-01 20:28:03 +0100
commit765ee73627e20ffe1f86e4fa91848e96aa10badf (patch)
treeeeac603c275f129e963ba2b10cc9d058738dfce1 /src
parent067ec55f13bd472c8d584d8e26d70a34cc9705f3 (diff)
downloadcms-765ee73627e20ffe1f86e4fa91848e96aa10badf.tar.gz
cms-765ee73627e20ffe1f86e4fa91848e96aa10badf.tar.bz2
cms-765ee73627e20ffe1f86e4fa91848e96aa10badf.zip
méthodes insertCSS et insertJS
Diffstat (limited to 'src')
-rw-r--r--src/view/CalendarBuilder.php15
-rw-r--r--src/view/HeadBuilder.php31
-rw-r--r--src/view/templates/calendar.php26
3 files changed, 36 insertions, 36 deletions
diff --git a/src/view/CalendarBuilder.php b/src/view/CalendarBuilder.php
index 4229866..65592f8 100644
--- a/src/view/CalendarBuilder.php
+++ b/src/view/CalendarBuilder.php
@@ -19,21 +19,6 @@ class CalendarBuilder extends AbstractBuilder
19 extract($node->getNodeData()->getData()); 19 extract($node->getNodeData()->getData());
20 } 20 }
21 21
22
23 if($_SESSION['admin'])
24 {
25
26
27 // squelette d'un nouvel article ()
28 /*ob_start();
29 require self::VIEWS_PATH . 'article.php';
30 $new_article = ob_get_clean();*/
31 }
32
33 // articles existants
34 /*$this->useChildrenBuilder($node);
35 $content = $this->html;*/
36
37 ob_start(); 22 ob_start();
38 require $viewFile; 23 require $viewFile;
39 $this->html = ob_get_clean(); // pas de concaténation ici, on écrase 24 $this->html = ob_get_clean(); // pas de concaténation ici, on écrase
diff --git a/src/view/HeadBuilder.php b/src/view/HeadBuilder.php
index fa0f063..16bf2b6 100644
--- a/src/view/HeadBuilder.php
+++ b/src/view/HeadBuilder.php
@@ -19,30 +19,30 @@ class HeadBuilder extends AbstractBuilder
19 19
20 $css = ''; 20 $css = '';
21 foreach($page->getCSS() as $name){ 21 foreach($page->getCSS() as $name){
22 $css .= '<link rel="stylesheet" href="' . self::versionedFileURL('css', $name) . '">' . "\n"; 22 $css .= self::insertCSS($name);
23 } 23 }
24 24
25 $js = ''; 25 $js = '';
26 foreach($page->getJS() as $name){ 26 foreach($page->getJS() as $name){
27 $js .= '<script src="' . self::versionedFileURL('js', $name) . '"></script>' . "\n"; 27 $js .= self::insertJS($name);
28 } 28 }
29 29
30 if(MainBuilder::$modif_mode){ 30 if(MainBuilder::$modif_mode){
31 $css .= '<link rel="stylesheet" href="' . self::versionedFileURL('css', 'modif_page') . '">' . "\n"; 31 $css .= self::insertCSS('modif_page');
32 $js .= '<script src="' . self::versionedFileURL('js', 'modif_page') . '"></script>' . "\n"; 32 $js .= self::insertJS('modif_page');
33 } 33 }
34 34
35 if($_SESSION['admin']){ 35 if($_SESSION['admin']){
36 // édition éléments sur toutes les pages (header, footer et favicon) 36 // édition éléments sur toutes les pages (header, footer et favicon)
37 $js .= '<script src="' . self::versionedFileURL('js', 'Input') . '"></script>' . "\n"; 37 $js .= self::insertJS('Input');
38 38
39 // sert partout? 39 // sert partout?
40 $js .= '<script src="' . self::versionedFileURL('js', 'Fetcher') . '"></script>' . "\n"; 40 $js .= self::insertJS('Fetcher');
41 41
42 // tinymce, nécéssite un script de copie dans composer.json 42 // tinymce, nécéssite un script post-install et post-update dans composer.json
43 $css .= '<link rel="stylesheet" href="' . self::versionedFileURL('css', 'tinymce') . '">' . "\n"; 43 $css .= self::insertCSS('tinymce');
44 $js .= '<script src="' . self::versionedFileURL('js', 'tinymce/tinymce.min') . '"></script>' . "\n"; // pour js/tinymce/tinymce.min.js 44 $js .= self::insertJS('tinymce/tinymce.min');
45 $js .= '<script src="' . self::versionedFileURL('js', 'tinymce') . '"></script>' . "\n"; 45 $js .= self::insertJS('tinymce');
46 } 46 }
47 47
48 $title = Model::$page_path->getLast()->getPageName(); 48 $title = Model::$page_path->getLast()->getPageName();
@@ -60,7 +60,16 @@ class HeadBuilder extends AbstractBuilder
60 } 60 }
61 } 61 }
62 62
63 static public function versionedFileURL(string $type, string $filename): string 63 static function insertCSS(string $name): string
64 {
65 return '<link rel="stylesheet" href="' . self::versionedFileURL('css', $name) . '">' . "\n";
66 }
67 static function insertJS(string $name): string
68 {
69 return '<script src="' . self::versionedFileURL('js', $name) . '"></script>' . "\n";
70 }
71
72 static function versionedFileURL(string $type, string $filename): string
64 { 73 {
65 $path = $type . '/' . $filename . '.' . $type; 74 $path = $type . '/' . $filename . '.' . $type;
66 75
diff --git a/src/view/templates/calendar.php b/src/view/templates/calendar.php
index e45f631..8e765c4 100644
--- a/src/view/templates/calendar.php
+++ b/src/view/templates/calendar.php
@@ -1,19 +1,25 @@
1<?php declare(strict_types=1); ?>
2<section class="calendar" id="<?= $this->id_node ?>">
3 <script src='js/fullcalendar/packages/core/index.global.min.js'></script>
4 <script src='js/fullcalendar/packages/daygrid/index.global.min.js'></script>
5 <script src='js/fullcalendar/packages/timegrid/index.global.min.js'></script>
6 <script src='js/fullcalendar/packages/list/index.global.min.js'></script>
7 <script src='js/fullcalendar/packages/interaction/index.global.min.js'></script>
8 <script src='js/fullcalendar/packages/core/locales/fr.global.min.js'></script>
9<?php 1<?php
2declare(strict_types=1);
3
4$calendar_js_files = [
5 'fullcalendar/packages/core/index.global.min',
6 'fullcalendar/packages/daygrid/index.global.min',
7 'fullcalendar/packages/timegrid/index.global.min',
8 'fullcalendar/packages/list/index.global.min',
9 'fullcalendar/packages/interaction/index.global.min',
10 'fullcalendar/packages/core/locales/fr.global.min'
11];
10if($_SESSION['admin'] === true){ 12if($_SESSION['admin'] === true){
11 echo '<script src="' . HeadBuilder::versionedFileURL('js', 'calendar_admin') . '"></script>' . "\n"; 13 $calendar_js_files[] = 'calendar_admin';
12} 14}
13else{ 15else{
14 echo '<script src="' . HeadBuilder::versionedFileURL('js', 'calendar') . '"></script>' . "\n"; 16 $calendar_js_files[] = 'calendar';
15} 17}
16?> 18?>
19<section class="calendar" id="<?= $this->id_node ?>">
20<?php foreach($calendar_js_files as $file){
21 echo HeadBuilder::insertJS($file);
22} ?>
17 <h3><?= $title ?></h3> 23 <h3><?= $title ?></h3>
18 <div id="calendar_zone"> 24 <div id="calendar_zone">
19 <div id="calendar"></div> 25 <div id="calendar"></div>