aboutsummaryrefslogtreecommitdiff
path: root/src/controller/ArticleController.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller/ArticleController.php')
-rw-r--r--src/controller/ArticleController.php41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/controller/ArticleController.php b/src/controller/ArticleController.php
index 411c1dc..8bbef19 100644
--- a/src/controller/ArticleController.php
+++ b/src/controller/ArticleController.php
@@ -6,10 +6,51 @@ declare(strict_types=1);
6use App\Entity\Node; 6use App\Entity\Node;
7use App\Entity\Article; 7use App\Entity\Article;
8use Doctrine\ORM\EntityManager; 8use Doctrine\ORM\EntityManager;
9use Symfony\Component\HttpFoundation\Request;
9use Symfony\Component\HttpFoundation\Response; 10use Symfony\Component\HttpFoundation\Response;
10 11
11class ArticleController 12class ArticleController
12{ 13{
14 static public function fetch(EntityManager $entityManager, Request $request): void
15 {
16 if($request->query->has('id') && !empty($request->query->get('id')) && $request->query->has('last_article')){
17 //var_dump($request->query->get('last_article'));
18 $id = (int)$request->get('id'); // type et nettoie
19 $director = new Director($entityManager);
20 $director->findNodeById($id);
21 $parent_block = $director->getNode();
22
23 if(Blocks::hasPresentation($parent_block->getName())){
24 $get_articles_return = $director->getNextArticles($parent_block, $request);
25 $bulk_data = $get_articles_return[0];
26
27 if($parent_block->getName() === 'post_block'){
28 $builder_name = 'PostBuilder';
29 }
30 elseif($parent_block->getName() === 'news_block'){
31 $builder_name = 'NewBuilder';
32 }
33
34 $html = '';
35 foreach($bulk_data as $article){
36 $builder = new $builder_name($article);
37 $html .= $builder->render();
38 }
39
40 echo json_encode(['success' => true, 'html' => $html, 'truncated' => $get_articles_return[1]]);
41 die;
42 }
43 else{
44 echo json_encode(['success' => false, 'error' => 'mauvais type de bloc']);
45 die;
46 }
47 }
48 else{
49 echo json_encode(['success' => false, 'error' => 'la requête ne comporte pas les paramètres attendus']);
50 die;
51 }
52 }
53
13 static public function editorSubmit(EntityManager $entityManager, array $json): void 54 static public function editorSubmit(EntityManager $entityManager, array $json): void
14 { 55 {
15 if(json_last_error() === JSON_ERROR_NONE) 56 if(json_last_error() === JSON_ERROR_NONE)