From f477314613beb26b0ce4c61ec0b1900df1de1cb1 Mon Sep 17 00:00:00 2001 From: polo Date: Mon, 1 Sep 2025 18:52:17 +0200 Subject: =?UTF-8?q?renommage=20des=20pr=C3=A9sentations,modif=20pr=C3=A9se?= =?UTF-8?q?ntation=20des=20blocs=20et=20largeur=20min=20(donc=20nb=20de=20?= =?UTF-8?q?colonnes)=20en=20mode=20grid,=20corrections=20de=20bugs=20et=20?= =?UTF-8?q?erreurs=20404,=20le=20param=20page=5Fmodif=20n'est=20plus=20une?= =?UTF-8?q?=20action,=20l=C3=A9g=C3=A8re=20symfonyfication=20du=20routeur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/view/FooterBuilder.php | 29 +++++++++++++----- src/view/MainBuilder.php | 63 ++++++++++++++++++++++++++++++-------- src/view/NewBuilder.php | 13 +++++--- src/view/NewsBlockBuilder.php | 11 ++++--- src/view/PostBlockBuilder.php | 11 ++++--- src/view/templates/main.php | 53 -------------------------------- src/view/templates/modify_page.php | 53 ++++++++++++++++++++++++++++++++ src/view/templates/news_block.php | 2 +- src/view/templates/post_block.php | 2 +- 9 files changed, 147 insertions(+), 90 deletions(-) delete mode 100644 src/view/templates/main.php create mode 100644 src/view/templates/modify_page.php (limited to 'src/view') diff --git a/src/view/FooterBuilder.php b/src/view/FooterBuilder.php index eda5be1..cf88476 100644 --- a/src/view/FooterBuilder.php +++ b/src/view/FooterBuilder.php @@ -24,21 +24,16 @@ class FooterBuilder extends AbstractBuilder // zone admin $empty_admin_zone = ''; - //$zone_admin = ''; if($_SESSION['admin']) { $empty_admin_zone = 'empty_admin_zone'; - $link_edit_page = CURRENT_PAGE === 'article' ? new URL(['page' => 'accueil']) : new URL(['page' => CURRENT_PAGE]); if(MainBuilder::$modif_mode){ $mode = 'modification de page'; $div_admin = 'logged_in modif_mode'; - $link_edit_label = 'Sortir du mode modification'; } else{ $mode = 'administrateur'; $div_admin = 'logged_in'; - $link_edit_page->addParams(['action' => 'modif_page']); - $link_edit_label = 'Modifier la page'; } $link_new_page = new URL(['page' => 'nouvelle_page']); $link_change_paths = new URL(['page' => 'menu_chemins']); @@ -51,9 +46,9 @@ class FooterBuilder extends AbstractBuilder $zone_admin = '

Vous êtes en mode ' . $mode . ".

\n" . - '
' . "\n" . - '
' . "\n" . - '
' . "\n" . + '
' . "\n"; + $zone_admin .= $this->makePageModifModeButton(); + $zone_admin .= '
' . "\n" . '
' . "\n" . '
' . "\n" . '
' . "\n"; @@ -73,4 +68,22 @@ class FooterBuilder extends AbstractBuilder $this->html = ob_get_clean(); } } + + private function makePageModifModeButton(): string + { + $link_edit_page = new URL(['page' => CURRENT_PAGE]); + if(CURRENT_PAGE !== 'article'){ + if(MainBuilder::$modif_mode){ + $link_edit_label = 'Sortir du mode modification'; + } + else{ + $link_edit_page->addParams(['mode' => 'page_modif']); + $link_edit_label = 'Modifier la page'; + } + return '
' . "\n"; + } + else{ + return ''; + } + } } \ No newline at end of file diff --git a/src/view/MainBuilder.php b/src/view/MainBuilder.php index d7a0dfa..fc80cd1 100644 --- a/src/view/MainBuilder.php +++ b/src/view/MainBuilder.php @@ -5,10 +5,11 @@ declare(strict_types=1); use App\Entity\Article; use App\Entity\Node; +use App\Entity\Presentation; class MainBuilder extends AbstractBuilder { - static bool $modif_mode = false; + static public bool $modif_mode = false; public function __construct(Node $node) { @@ -52,7 +53,8 @@ class MainBuilder extends AbstractBuilder // mode modification de page uniquement private function viewEditBlocks($node): void { - $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; // mode modification uniquement + //$viewFile = self::VIEWS_PATH . $node->getName() . '.php'; // mode modification uniquement + $viewFile = self::VIEWS_PATH . 'modify_page.php'; // mode modification uniquement $blocks = Blocks::getTypeNamePairs(); $options = ''; @@ -71,25 +73,62 @@ class MainBuilder extends AbstractBuilder $bloc_edit = ''; foreach($node->getChildren() as $child_node){ + // mettre tout ça dans une vue modify_block.php + // => pourrait être déplacé au niveau des articles + // renommage d'un bloc - $bloc_edit .= '
-

- - '. "\n"; + $bloc_edit .= '

+
+ +

+ + +

'. "\n"; // déplacement d'un bloc - $bloc_edit .= ' - ' . "\n"; + $bloc_edit .= '
+

+ + +

' . "\n"; // suppression d'un bloc $bloc_edit .= '
- - -

-
+ + + + +
'. "\n"; + if($child_node->getNodeData()->getPresentation() !== null){ + // select mode de présentation + $bloc_edit .= '

+ + '; + // select largeur minimale colonnes mode grid + $bloc_edit .= '

+ '; + $bloc_edit .= ''; + /*$bloc_edit .= '';*/ + $bloc_edit .= ' pixels
+
'; + } + $bloc_edit .= "
\n"; } ob_start(); require $viewFile; $this->html .= ob_get_clean(); } + + private function makePresentationOptions(string $presentation): string + { + $options = ''; + foreach(Presentation::$option_list as $key => $value){ + $options .= ''; + } + return $options; + } } \ No newline at end of file diff --git a/src/view/NewBuilder.php b/src/view/NewBuilder.php index 2d30d32..2d66238 100644 --- a/src/view/NewBuilder.php +++ b/src/view/NewBuilder.php @@ -7,6 +7,8 @@ use App\Entity\Node; class NewBuilder extends AbstractBuilder { + static public bool $new_article_mode = false; + public function __construct(Node $node, ) { $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; @@ -39,7 +41,6 @@ class NewBuilder extends AbstractBuilder $content = $node->getArticle()->getContent(); $from_to_button = '

'; } - // page d'accueil (avec des news) else{ $from_to_button = '

'; } @@ -101,7 +102,7 @@ class NewBuilder extends AbstractBuilder $date_buttons = '
' . $modify_date . $close_editor_date . $submit_date . '
'; // mode nouvel article - if($_GET['id'][0] != 'i'){ + if(self::$new_article_mode){ $delete_article = ''; // valider la création d'un nouvel article $submit_js = 'onclick="submitArticle(\'' . $_GET['id'] . '\', \'' . Director::$page_path->getLast()->getEndOfPath() . '\')"'; @@ -109,8 +110,7 @@ class NewBuilder extends AbstractBuilder } // mode article existant else{ - // supprimer article existant - $url = new URL(['action' => 'delete_article', 'id' => $_GET['id'], 'from' => $_GET['from']]); + $url = new URL(['action' => 'delete_article', 'id' => $_GET['id'], 'from' => $_GET['from'] ?? '']); $delete_article = '

-

- - - - - -
-
-
- -
- - -
-
- -
-
- - - - -
-
-
-
-

Ajouter un bloc de page

-
-

-

-

- - -

-
-
-
-

Modifier un bloc

- -
-
- \ No newline at end of file diff --git a/src/view/templates/modify_page.php b/src/view/templates/modify_page.php new file mode 100644 index 0000000..5ab1a95 --- /dev/null +++ b/src/view/templates/modify_page.php @@ -0,0 +1,53 @@ + +
+

Modification de la page

+
+
+

+ + + +

+
+ + + + +
+
+
+ +
+ + +
+
+
+
+
+ + + + +
+
+
+
+

Ajouter un bloc de page

+
+

+

+

+ + +

+
+
+
+

Modifier un bloc

+ +
+
+
\ No newline at end of file diff --git a/src/view/templates/news_block.php b/src/view/templates/news_block.php index d88d780..9d01513 100644 --- a/src/view/templates/news_block.php +++ b/src/view/templates/news_block.php @@ -5,7 +5,7 @@ -
+
\ No newline at end of file diff --git a/src/view/templates/post_block.php b/src/view/templates/post_block.php index d88d780..9d01513 100644 --- a/src/view/templates/post_block.php +++ b/src/view/templates/post_block.php @@ -5,7 +5,7 @@ -
+
\ No newline at end of file -- cgit v1.2.3