summaryrefslogtreecommitdiff
path: root/src/controller/ajax.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller/ajax.php')
-rw-r--r--src/controller/ajax.php44
1 files changed, 43 insertions, 1 deletions
diff --git a/src/controller/ajax.php b/src/controller/ajax.php
index a4b61e4..c774bf3 100644
--- a/src/controller/ajax.php
+++ b/src/controller/ajax.php
@@ -6,7 +6,7 @@ declare(strict_types=1);
6use App\Entity\Article; 6use App\Entity\Article;
7use App\Entity\Node; 7use App\Entity\Node;
8 8
9// détection des requêtes de tinymce 9// détection des requêtes de tinymce ou touchant aux articles
10if($_SERVER['CONTENT_TYPE'] === 'application/json' && isset($_GET['action'])) 10if($_SERVER['CONTENT_TYPE'] === 'application/json' && isset($_GET['action']))
11{ 11{
12 // récupération des données 12 // récupération des données
@@ -204,6 +204,48 @@ if(strpos($_SERVER['CONTENT_TYPE'], 'multipart/form-data') !== false && isset($_
204 die; 204 die;
205} 205}
206 206
207if($_SERVER['CONTENT_TYPE'] === 'application/json' && isset($_GET['menu_edit']))
208{
209 // récupération des données
210 $data = file_get_contents('php://input');
211 $json = json_decode($data, true);
212
213 if($_GET['menu_edit'] === 'switch_positions' && isset($json['id1']) && isset($json['id2']))
214 {
215 //$menu = new Menu($entityManager);
216 Director::$menu_data = new Menu($entityManager);
217
218 $id1 = $json['id1'];
219 $id2 = $json['id2'];
220
221 // vérifier qu'ils ont le même parent
222 $page1 = Director::$menu_data->findPageById((int)$id1);
223 $page2 = Director::$menu_data->findPageById((int)$id2);
224
225 // double le contrôle fait en JS
226 if($page1->getParent() === $page2->getParent()) // comparaison stricte d'objet (même instance du parent?)
227 {
228 // inversion
229 $tmp = $page1->getPosition();
230 $page1->setPosition($page2->getPosition());
231 $page2->setPosition($tmp);
232 Director::$menu_data->sortChildren(true); // modifie tableau children
233 $entityManager->flush();
234
235 // menu utilisant les nouvelles données
236 //Director::$page_path = new Path();
237 $nav_builder = new NavBuilder(); // builder appelé sans envoi du noeud correspondant
238
239 echo json_encode(['success' => true, 'path1' => '', 'path2' => '', 'nav' => $nav_builder->render()]);
240 }
241 else{
242 echo json_encode(['success' => false]);
243 }
244
245 die;
246 }
247}
248
207// détection des requêtes de type XHR, pas d'utilité pour l'instant 249// détection des requêtes de type XHR, pas d'utilité pour l'instant
208/*elseif(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'){ 250/*elseif(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'){
209 echo "requête XHR reçue par le serveur"; 251 echo "requête XHR reçue par le serveur";