/**
  * @Route("/", name="subscribe")
  */
 public function subscribeAction(Request $req)
 {
     $subscriber = new Subscriber();
     $form = $this->createFormBuilder($subscriber)->add('name', 'text', [])->add('email', 'email', [])->add('categories', 'choice', ['choices' => Category::getAllKeyValue(), 'multiple' => true, 'attr' => ['class' => 'ui fluid dropdown']])->getForm();
     $form->handleRequest($req);
     if ($req->isMethod('POST') && $form->isValid()) {
         $subscriber->save();
         return $this->render('subscribe-successful.html.twig', []);
     }
     return $this->render('subscribe.html.twig', ['form' => $form->createView()]);
 }
 public function getCategoriesString()
 {
     $categories = Category::getAllKeyValue();
     $result = [];
     foreach ($this->categories as $i) {
         if (isset($categories[$i])) {
             $result[] = $categories[$i];
         }
     }
     return implode(', ', $result);
 }
 /**
  * @Route("/admin/subscriber/{id}/edit", name="admin.subscriber.edit")
  */
 public function editAction(Request $req, $id)
 {
     $subscriber = new Subscriber(['id' => $id]);
     $subscriber->load();
     $form = $this->createFormBuilder($subscriber)->add('name', 'text', [])->add('email', 'email', [])->add('categories', 'choice', ['choices' => Category::getAllKeyValue(), 'multiple' => true, 'attr' => ['class' => 'ui fluid dropdown']])->getForm();
     $form->handleRequest($req);
     if ($req->isMethod('POST') && $form->isValid()) {
         $subscriber->save();
         return $this->redirectToRoute('admin.subscriber');
     }
     return $this->render('admin/subscriber/edit.html.twig', ['form' => $form->createView()]);
 }