diff options
| author | polo <ordipolo@gmx.fr> | 2025-10-20 15:36:59 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2025-10-20 15:36:59 +0200 |
| commit | 6535db259081b02e9db59b905ae922a37d03eddc (patch) | |
| tree | ccd2d4d06e1128f28bfb512c1db66f9a138c6f05 /src/model | |
| parent | 1e2cee519264f9ab2660540723915aec72bc2116 (diff) | |
| download | cms-6535db259081b02e9db59b905ae922a37d03eddc.zip | |
méthodes dans Page pour les fichiers CSS/JS, CCS/JS par défaut supprimé de la BDD, nettoyage quand le dernier bloc est supprimé
Diffstat (limited to 'src/model')
| -rw-r--r-- | src/model/Menu.php | 2 | ||||
| -rw-r--r-- | src/model/entities/Page.php | 36 |
2 files changed, 19 insertions, 19 deletions
diff --git a/src/model/Menu.php b/src/model/Menu.php index 9fb8562..4817b93 100644 --- a/src/model/Menu.php +++ b/src/model/Menu.php | |||
| @@ -20,7 +20,7 @@ class Menu extends Page | |||
| 20 | ->getResult(); // :array de Page | 20 | ->getResult(); // :array de Page |
| 21 | 21 | ||
| 22 | if(count($bulk_data) === 0){ | 22 | if(count($bulk_data) === 0){ |
| 23 | makeStartPage($entityManager); // => installation.php | 23 | fillStartingDatabase($entityManager); // => installation.php |
| 24 | } | 24 | } |
| 25 | 25 | ||
| 26 | foreach($bulk_data as $first_level_entries){ | 26 | foreach($bulk_data as $first_level_entries){ |
diff --git a/src/model/entities/Page.php b/src/model/entities/Page.php index 3e90dbc..8d3dd40 100644 --- a/src/model/entities/Page.php +++ b/src/model/entities/Page.php | |||
| @@ -40,14 +40,6 @@ class Page | |||
| 40 | static private array $default_css = ['body', 'head', 'nav', 'foot']; | 40 | static private array $default_css = ['body', 'head', 'nav', 'foot']; |
| 41 | static private array $default_js = ['main']; | 41 | static private array $default_js = ['main']; |
| 42 | 42 | ||
| 43 | /* remplissage | ||
| 44 | UPDATE nb_page | ||
| 45 | JOIN nb_node ON nb_node.page_id = nb_page.id_page | ||
| 46 | SET nb_page.css = JSON_EXTRACT(nb_node.attributes, '$.css_array'); | ||
| 47 | UPDATE nb_page | ||
| 48 | JOIN nb_node ON nb_node.page_id = nb_page.id_page | ||
| 49 | SET nb_page.js = JSON_EXTRACT(nb_node.attributes, '$.js_array'); */ | ||
| 50 | |||
| 51 | #[ORM\Column(type: "boolean")] | 43 | #[ORM\Column(type: "boolean")] |
| 52 | private bool $reachable; | 44 | private bool $reachable; |
| 53 | 45 | ||
| @@ -120,30 +112,38 @@ class Page | |||
| 120 | { | 112 | { |
| 121 | $this->description = $description; | 113 | $this->description = $description; |
| 122 | } | 114 | } |
| 115 | |||
| 123 | public function getCSS(): array | 116 | public function getCSS(): array |
| 124 | { | 117 | { |
| 125 | return $this->css; | 118 | return array_merge(self::$default_css, $this->css ?? []); |
| 126 | } | 119 | } |
| 127 | public function useDefaultCSS(): void | 120 | public function addCSS(string $css): void |
| 128 | { | 121 | { |
| 129 | $this->css = self::$default_css; | 122 | if(!in_array($css, $this->css ?? [])){ |
| 123 | $this->css[] = $css; | ||
| 124 | } | ||
| 130 | } | 125 | } |
| 131 | public function setCSS(array $css): void | 126 | public function removeCSS(string $css): void |
| 132 | { | 127 | { |
| 133 | $this->css = $css; | 128 | // array_diff renvoie une copie du 1er tableau alégée des élements existants aussi dans le 2è, array_values réindexe |
| 129 | $this->css = array_values(array_diff($this->css, [$css])); | ||
| 134 | } | 130 | } |
| 135 | public function getJS(): array | 131 | public function getJS(): array |
| 136 | { | 132 | { |
| 137 | return $this->js; | 133 | return array_merge(self::$default_js, $this->js ?? []); |
| 134 | //UPDATE `nb_page` SET `js` = NULL WHERE JSON_EQUALS(`js`, '["main"]'); | ||
| 138 | } | 135 | } |
| 139 | public function useDefaultJS(): void | 136 | public function addJS(string $js): void |
| 140 | { | 137 | { |
| 141 | $this->js = self::$default_js; | 138 | if(!in_array($js, $this->js ?? [])){ |
| 139 | $this->js[] = $js; | ||
| 140 | } | ||
| 142 | } | 141 | } |
| 143 | public function setJS(array $js): void | 142 | public function removeJS(string $js): void |
| 144 | { | 143 | { |
| 145 | $this->js = $js; | 144 | $this->js = array_values(array_diff($this->js, [$js])); |
| 146 | } | 145 | } |
| 146 | |||
| 147 | public function isReachable(): bool | 147 | public function isReachable(): bool |
| 148 | { | 148 | { |
| 149 | return $this->reachable; | 149 | return $this->reachable; |
