Advertisement
Guest User

Untitled

a guest
Aug 3rd, 2022
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.96 KB | None | 0 0
  1.         // Создание формы отправки.
  2.         $event = new ThreadFormCreateEvent(ThreadType::class, null, ['method' => 'post']);
  3.         $eventDispatcher->dispatch($event, ThreadFormCreateEvent::NAME);
  4.         $form = $event->getForm();
  5.         $form->handleRequest($request);
  6.         // Провека на наличие отправленных данных.
  7.         if($request->isMethod('post') == true) {
  8.             $event = new ThreadValidateEvent($board->getCategory(), $board, $form);
  9.             $eventDispatcher->dispatch($event, ThreadValidateEvent::NAME);
  10.             $form = $event->getForm();
  11.             if($form->isSubmitted() == false) {
  12.                 switch($request->getRequestFormat()) {
  13.                     case 'json':
  14.                         return $this->json(['detail' => 'Данные не отправлены.'], 400);
  15.                         break;
  16.                 }              
  17.             }
  18.             // Проверка отправленных данных.
  19.             if($form->isValid() == false) {
  20.                 switch($request->getRequestFormat()) {
  21.                     case 'json':
  22.                         return $this->json(\MaidBox\Form::getErrors($form), 400);
  23.                         break;
  24.                 }
  25.             }
  26.             if($form->isSubmitted() == true and $form->isValid() == true) {
  27.                 $data = $form->getData();
  28.                 // Создание треда.
  29.                 $event = new ThreadCreateEvent($board->getCategory(), $board, new Thread, new Post, $data);
  30.                 $eventDispatcher->dispatch($event, ThreadCreateEvent::NAME);
  31.                 // Отображение результата.
  32.                 switch($request->getRequestFormat()) {
  33.                     case 'json':
  34.                         $post = [];
  35.                         return $this->json($post);
  36.                         break;
  37.                 }  
  38.             }
  39.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement