aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/controller/ArticleController.php27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/controller/ArticleController.php b/src/controller/ArticleController.php
index 7dc7f49..2364c50 100644
--- a/src/controller/ArticleController.php
+++ b/src/controller/ArticleController.php
@@ -73,38 +73,39 @@ class ArticleController
73 } 73 }
74 74
75 // nouvel article 75 // nouvel article
76 if($json['id'][0] === 'n') // ici $id est un bloc 76 if($json['id'][0] === 'n'){ // ici $id est un bloc
77 {
78 $section_id = (int)substr($id, 1); // id du bloc <section> 77 $section_id = (int)substr($id, 1); // id du bloc <section>
79 if(!$model->findNodeById($section_id)){ // erreur mauvais id 78 if(!$model->findNodeById($section_id)){ // erreur mauvais id
80 echo json_encode(['success' => false, 'error' => 'article_not_saved, bad id']); 79 echo json_encode(['success' => false, 'error' => 'article_not_saved, bad id']);
81 die; 80 die;
82 } 81 }
83 $model->makeSectionNode(); 82 $model->makeSectionNode();
84 $node = $model->getNode(); // = <section> 83 $section = $model->getNode();
85 84
86 if(is_array($content)){ // cas d'une nouvelle "news" 85 // ajout d'une news
87 if($node->getPage()->getEndOfPath() !== $json['from']){ // erreur mauvais from 86 if(is_array($content)){
87 if($section->getPage()->getEndOfPath() !== $json['from']){ // erreur mauvais from
88 echo json_encode(['success' => false, 'error' => 'article_not_saved, bad from']); 88 echo json_encode(['success' => false, 'error' => 'article_not_saved, bad from']);
89 die; 89 die;
90 } 90 }
91 91
92 $date = new \DateTime($content['d'] . ':' . (new \DateTime)->format('s')); // l'input type="datetime-local" ne donne pas les secondes, on les ajoute: 'hh:mm' . ':ss' 92 $date = new \DateTime($content['d'] . ':' . (new \DateTime)->format('s')); // l'input type="datetime-local" ne donne pas les secondes, on les ajoute: 'hh:mm' . ':ss'
93 $article = new Article($content['i'], $date, $content['t'], $content['p']); 93 $article = new Article($content['i'], $date, $content['t'], $content['p']);
94 $article_node = new Node('new', count($node->getChildren()) + 1, $node, $node->getPage(), $article); 94 $article_node = new Node('new', count($section->getChildren()) + 1, $section, $section->getPage(), $article);
95 } 95 }
96 else{ // autres cas 96 // ajout d'un post
97 else{
97 $timestamp = time(); 98 $timestamp = time();
98 $date = new \DateTime; 99 $date = new \DateTime;
99 $date->setTimestamp($timestamp); 100 $date->setTimestamp($timestamp);
100 101
101 $article = new Article($content, $date); // le "current" timestamp est obtenu par la BDD 102 $article = new Article($content, $date);
102 $placement = $json['placement'] === 'first' ? 0 : count($node->getChildren()) + 1; // 103 $placement = $json['placement'] === 'first' ? 0 : count($section->getChildren()) + 1; //
103 $article_node = new Node('post', $placement, $node, $node->getPage(), $article); 104 $article_node = new Node('post', $placement, $section, $section->getPage(), $article);
104 105
105 if($json['placement'] === 'first'){ 106 if($json['placement'] === 'first'){
106 $node->addChild($article_node); 107 $section->addChild($article_node);
107 $node->reindexPositions(); // régénère les positions (0 devient 1, 1 devient 2...) 108 $section->sortChildren(true); // mettre $article_node au début du tableau puis régénérer les positions (0 devient 1, 1 devient 2...)
108 } 109 }
109 } 110 }
110 111
@@ -119,7 +120,7 @@ class ArticleController
119 120
120 if($model->makeArticleNode($id)) // une entrée est trouvée 121 if($model->makeArticleNode($id)) // une entrée est trouvée
121 { 122 {
122 $node = $model->getArticleNode(); // article 123 $node = $model->getArticleNode();
123 switch($json['id'][0]){ 124 switch($json['id'][0]){
124 case 'i': 125 case 'i':
125 $node->getArticle()->setContent($content); 126 $node->getArticle()->setContent($content);