From 09bea09c8157ff45279f0d06aa9d313448c0bec5 Mon Sep 17 00:00:00 2001 From: polo Date: Mon, 7 Apr 2025 07:46:27 +0200 Subject: nouvelle "news" --- src/view/GridBuilder.php | 4 +-- src/view/MainBuilder.php | 18 +++++++++++--- src/view/NewBuilder.php | 63 ++++++++++++++++++++++++++++++------------------ 3 files changed, 56 insertions(+), 29 deletions(-) (limited to 'src/view') diff --git a/src/view/GridBuilder.php b/src/view/GridBuilder.php index e183e6f..fdc5426 100644 --- a/src/view/GridBuilder.php +++ b/src/view/GridBuilder.php @@ -27,9 +27,9 @@ class GridBuilder extends AbstractBuilder $share_button = ''; $html = ''; - if(CURRENT_PAGE === 'accueil'){ + if(Director::$page_path->getLast()->getEndOfPath() === 'accueil'){ $new_button = '

-

'; +

'; } else{ $new_button = '

' . "\n" . diff --git a/src/view/MainBuilder.php b/src/view/MainBuilder.php index a44570b..ea7b8c3 100644 --- a/src/view/MainBuilder.php +++ b/src/view/MainBuilder.php @@ -1,6 +1,7 @@ html .= "

\n"; if(Director::$page_path->getLast()->getEndOfPath() === 'article'){ - if($node->getTempChild() == null){ - $new = new Node; + // pas censé arriver + if(!isset($_GET['id'])){ + header('Location: ' . new URL); + die; + } + + if($node->getAdoptedChild() == null){ + // on pourrait raccourcir ça + $timestamp = time(); // int + $date = new \DateTime; + $date->setTimestamp($timestamp); // \DateTime + $article = new Article('', $date); + $new = new Node('new', 'i' . (string)$timestamp, [], 0, null, null, $article); } else{ - $new = $node->getTempChild(); + $new = $node->getAdoptedChild(); } //$builder_name = $this->snakeToPascalCase($new->getName()) . 'Builder'; $builder_name = 'NewBuilder'; diff --git a/src/view/NewBuilder.php b/src/view/NewBuilder.php index acde8b4..a862a08 100644 --- a/src/view/NewBuilder.php +++ b/src/view/NewBuilder.php @@ -5,7 +5,7 @@ use App\Entity\Node; class NewBuilder extends AbstractBuilder { - public function __construct(Node $node) + public function __construct(Node $node, ) { $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; @@ -50,10 +50,15 @@ class NewBuilder extends AbstractBuilder //$date = str_replace(':', 'h', $date_object->format('d-m-Y à H:i')); // partage - $share_link = new URL(['page' => CURRENT_PAGE], $id); - isset($_GET['id']) ? $share_link->addParams(['id' => $_GET['id']]) : ''; + $share_link = new URL(['page' => 'article', 'id' => $id]); $share_js = 'onclick="copyInClipBoard(\'' . $share_link . '\')"'; - $share_button = '' . "\n"; + if(isset($_GET['id']) && $_GET['id'][0] === 'n'){ + $class = 'class="share hidden"'; + } + else{ + $class = 'class="share"'; + } + $share_button = '

' . "\n"; // modifier un article $title_buttons = ''; @@ -65,53 +70,64 @@ class NewBuilder extends AbstractBuilder { if(Director::$page_path->getLast()->getEndOfPath() === 'article'){ $title_js = 'onclick="openEditor(\'' . $id_title . '\', \'article\')"'; - $modify_title = '

' . "\n"; + $modify_title = '

' . "\n"; $close_js_title = 'onclick="closeEditor(\'' . $id_title . '\', \'article\', \'preview\')"'; - $close_editor_title = ''; + $close_editor_title = ''; $submit_js_title = 'onclick="submitArticle(\'' . $id_title . '\', \'article\')"'; - $submit_title = ''; + $submit_title = ''; $title_buttons = '
' . $modify_title . $close_editor_title . $submit_title . '
'; $preview_js = 'onclick="openEditor(\'' . $id_preview . '\', \'article\')"'; - $modify_preview = '

' . "\n"; + $modify_preview = '

' . "\n"; $close_js_preview = 'onclick="closeEditor(\'' . $id_preview . '\', \'article\', \'preview\')"'; - $close_editor_preview = ''; + $close_editor_preview = ''; $submit_js_preview = 'onclick="submitArticle(\'' . $id_preview . '\', \'article\')"'; - $submit_preview = ''; + $submit_preview = ''; $preview_buttons = '
' . $modify_preview . $close_editor_preview . $submit_preview . '
'; $article_js = 'onclick="openEditor(\'' . $id . '\', \'article\')"'; - $modify_article = '

' . "\n"; + $modify_article = '

' . "\n"; $close_js_article = 'onclick="closeEditor(\'' . $id . '\', \'article\')"'; - $close_editor_article = ''; + $close_editor_article = ''; $submit_js_article = 'onclick="submitArticle(\'' . $id . '\', \'article\')"'; - $submit_article = ''; + $submit_article = ''; $article_buttons = '
' . $modify_article . $close_editor_article . $submit_article . '
'; $date_js = 'onclick="changeDate(\'' . $id_date . '\', \'article\');'; - $modify_date = '

' . "\n"; + $modify_date = '

' . "\n"; $close_js_date = 'onclick="closeInput(\'' . $id_date . '\')"'; - $close_editor_date = ''; + $close_editor_date = ''; $submit_js_date = 'onclick="submitDate(\'' . $id_date . '\')"'; - $submit_date = ''; + $submit_date = ''; $date_buttons = '
' . $modify_date . $close_editor_date . $submit_date . '
'; - $delete_js = 'onclick="deleteArticle(\'' . $id . '\', \'' . CURRENT_PAGE . '\')"'; - $delete_article = '

' . "\n"; - - $admin_buttons = $delete_article; + $delete_article = ''; + $submit_article = ''; + // modification: bouton "supprimer" + if($_GET['id'][0] === 'i'){ + $delete_js = 'onclick="deleteArticle(\'' . $id . '\', \'' . Director::$page_path->getLast()->getEndOfPath() . '\')"'; + $delete_article = '

' . "\n"; + } + // nouvel article: bouton pour valider la création d'un nouvel article + else{ + $submit_js = 'onclick="submitArticle(\'' . $_GET['id'] . '\', \'' . Director::$page_path->getLast()->getEndOfPath() . '\')"'; + $submit_article = '

' . "\n"; + } + + $admin_buttons = $delete_article . $submit_article; } + // page d'accueil else{ $modify_article = '

' . "\n"; $up_js = 'onclick="switchPositions(\'' . $id . '\', \'up\')"'; - $up_button = '

' . "\n"; + $up_button = '

' . "\n"; $down_js = 'onclick="switchPositions(\'' . $id . '\', \'down\')"'; - $down_button = '

' . "\n"; + $down_button = '

' . "\n"; $delete_js = 'onclick="deleteArticle(\'' . $id . '\')"'; - $delete_article = '

' . "\n"; + $delete_article = '

' . "\n"; $close_editor = ''; $submit_article = ''; @@ -120,7 +136,6 @@ class NewBuilder extends AbstractBuilder $admin_buttons = $modify_article . $up_button . $down_button . $delete_article . $close_editor . $submit_article; } - } ob_start(); -- cgit v1.2.3