diff options
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; |