diff options
Diffstat (limited to 'src/view/BlogBuilder.php')
| -rw-r--r-- | src/view/BlogBuilder.php | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/view/BlogBuilder.php b/src/view/BlogBuilder.php new file mode 100644 index 0000000..8c2125f --- /dev/null +++ b/src/view/BlogBuilder.php | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | <?php | ||
| 2 | // src/view/BlogBuilder.php | ||
| 3 | |||
| 4 | use App\Entity\Node; | ||
| 5 | |||
| 6 | class BlogBuilder extends AbstractBuilder | ||
| 7 | { | ||
| 8 | public function __construct(Node $node) | ||
| 9 | { | ||
| 10 | $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; | ||
| 11 | |||
| 12 | if(file_exists($viewFile)) | ||
| 13 | { | ||
| 14 | if(!empty($node->getNodeData()->getData())) | ||
| 15 | { | ||
| 16 | extract($node->getNodeData()->getData()); | ||
| 17 | } | ||
| 18 | |||
| 19 | // ajouter un article | ||
| 20 | $new_article = ''; | ||
| 21 | $new_article_admin_buttons = ''; | ||
| 22 | if($_SESSION['admin']) | ||
| 23 | { | ||
| 24 | $id = 'new'; | ||
| 25 | |||
| 26 | //$link = new URL(['page' => CURRENT_PAGE, 'action' => 'open_editor']); | ||
| 27 | $js = 'onclick="openEditor(\'' . $id . '\')"'; | ||
| 28 | //$new_article = '<article><a href="' . $link . '"><button>Nouvel article</button></a></article>'; | ||
| 29 | $new_article = '<article><p id="new"></p>' . "\n" . | ||
| 30 | '<p id="new-' . $id . '"><a href="#"><button ' . $js . '><img class="action_icon" src="assets/edit.svg">Nouvel article</button></a></p>'; | ||
| 31 | |||
| 32 | $close_js = 'onclick="closeEditor(\'' . $id . '\')"'; | ||
| 33 | $close_editor = '<div class="article_admin_zone"><p id="cancel-' . $id . '" class="hidden"><a href="#"><button ' . $close_js . '>Annuler</button></a></p>'; | ||
| 34 | |||
| 35 | $submit_js = 'onclick="submitArticle(\'' . $id . '\')"'; | ||
| 36 | $submit_article = '<p id="submit-' . $id . '" class="hidden"><a href="#"><button ' . $submit_js . '>Valider</button></a></p></div></article>'; | ||
| 37 | |||
| 38 | $new_article_admin_buttons = $close_editor . $submit_article; | ||
| 39 | } | ||
| 40 | |||
| 41 | $this->useChildrenBuilder($node); | ||
| 42 | $content = $this->html; | ||
| 43 | |||
| 44 | ob_start(); | ||
| 45 | require $viewFile; | ||
| 46 | $this->html = ob_get_clean(); // pas de concaténation ici, on écrase | ||
| 47 | } | ||
| 48 | } | ||
| 49 | } \ No newline at end of file | ||
