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