summaryrefslogtreecommitdiff
path: root/src/view/MainBuilder.php
blob: e73b29848b16977da139433219520ed7662f2633 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
// src/view/MainBuilder.php

use App\Entity\Article;
use App\Entity\Node;

class MainBuilder extends AbstractBuilder
{
    public function __construct(Node $node)
    {
        $this->html .= "<main>\n";

        if(Director::$page_path->getLast()->getEndOfPath() === 'article'){
            // pas censé arriver
            if(!isset($_GET['id'])){
                header('Location: ' . new URL);
                die;
            }

            if($node->getAdoptedChild() == null){
                $date = new \DateTime;
                $article = new Article('', $date);
                $new = new Node('new', 'i' . (string)$date->getTimestamp(), [], 0, null, null, $article);
            }
            else{
                $new = $node->getAdoptedChild();
            }
            //$builder_name = $this->snakeToPascalCase($new->getName()) . 'Builder';
            $builder_name = 'NewBuilder';
            $builder = new $builder_name($new);
            $this->html .= $builder->render();
        }
        else{
            $this->useChildrenBuilder($node);
        }

        $this->html .= "</main>\n";
    }
}