aboutsummaryrefslogtreecommitdiff
path: root/src/View/NewPageBuilder.php
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2026-10-23 00:47:32 +0200
committerpolo <ordipolo@gmx.fr>2026-10-23 00:47:32 +0200
commitf27cca08ff786ceff1870147f6d6bad14d71117f (patch)
treed36597a72025313d6faf4ed228755fa267ebe2f6 /src/View/NewPageBuilder.php
parentc7309f900ef05bd5cb313110ec159b761af394ec (diff)
downloadcms-f27cca08ff786ceff1870147f6d6bad14d71117f.tar.gz
cms-f27cca08ff786ceff1870147f6d6bad14d71117f.tar.bz2
cms-f27cca08ff786ceff1870147f6d6bad14d71117f.zip
dossiers avec majuscule, namespace pour toutes les classes, autoload psr-4, UserDataService::createZip déplacé dans Backup
Diffstat (limited to 'src/View/NewPageBuilder.php')
-rw-r--r--src/View/NewPageBuilder.php53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/View/NewPageBuilder.php b/src/View/NewPageBuilder.php
new file mode 100644
index 0000000..578a098
--- /dev/null
+++ b/src/View/NewPageBuilder.php
@@ -0,0 +1,53 @@
1<?php
2// src/View/NewPageBuilder.php
3//
4// page Nouvelle page en mode admin, fonctionne avec new_page.js
5
6declare(strict_types=1);
7
8namespace App\View;
9
10use App\Entity\Node;
11use App\Entity\Page;
12use App\Model\Model;
13use App\Service\URL;
14
15class NewPageBuilder extends AbstractBuilder
16{
17 //private int $margin_left_multiplier = 29;
18 private string $options = '';
19
20 public function __construct(Node $node)
21 {
22 //parent::__construct($node);
23 $viewFile = self::VIEWS_PATH . $node->getName() . '.php';
24
25 if(IS_ADMIN && file_exists($viewFile))
26 {
27 /*if(!empty($node->getNodeData()->getData()))
28 {
29 extract($node->getNodeData()->getData());
30 }*/
31
32 $this->unfoldOptions(Model::$menu);
33
34 ob_start();
35 require $viewFile; // insertion de $this->html généré par unfoldMenu
36 $this->html = ob_get_clean(); // pas de concaténation .= cette fois on écrase
37 }
38 else{
39 header('Location: ' . new URL);
40 die;
41 }
42 }
43
44 private function unfoldOptions(Page $page): void
45 {
46 foreach($page->getChildren() as $entry){
47 $this->options .= '<option value="' . $entry->getId() . '">' . $entry->getPageName() . "</option>\n";
48 if(count($entry->getChildren()) > 0){
49 $this->unfoldOptions($entry);
50 }
51 }
52 }
53} \ No newline at end of file