src/Controller/FormBuilderController.php line 488

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\User;
  4. use Doctrine\Persistence\ManagerRegistry;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Form\Extension\Core\Type\TextType;
  10. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  11. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  12. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  13. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  14. use Symfony\Component\Form\Extension\Core\Type\FileType;
  15. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  16. use Symfony\Component\Console\Input\ArrayInput;
  17. use Symfony\Bundle\FrameworkBundle\Console\Application;
  18. use App\Entity\Eshop;
  19. use App\Entity\FormBuilder;
  20. use App\Entity\FormField;
  21. use App\Entity\FormResponse;
  22. use App\Entity\FormFieldType;
  23. use PDO;
  24. use PDOStatement;
  25. use PDOException;
  26. use Symfony\Contracts\Translation\TranslatorInterface;
  27. class FormBuilderController extends DefaultController
  28. {
  29.     protected ManagerRegistry $doctrine;
  30.     protected TranslatorInterface $translator;
  31.     public function __construct(ManagerRegistry $doctrine,
  32.                                 TranslatorInterface $translator)
  33.     {
  34.         $this->doctrine $doctrine;
  35.         $this->translator $translator;
  36.     }
  37.     /**
  38.      * @Route("/formBuilder", name="formBuilder")
  39.      */
  40.     public function formBuilderAction(Request $request)
  41.     {
  42.         /* we load session data */
  43.         parent::init($request);     
  44.         $session $request->getSession();
  45.         $em $this->doctrine->getManager();
  46.         $dem $this->doctrine->getManager('dynamic_em');
  47.         $userId $session->get('user')->getUserId();
  48.         $user $em->getRepository(User::class)->getUser($userId);
  49.          
  50.         $formBuilderList $dem->getRepository(FormBuilder::class)->getFormBuilderList();
  51.         
  52.         /* we render data */
  53.         return $this->render('formBuilder.html.twig',
  54.                 array('headerData' => $this -> getPageHeader($request),
  55.                       'formBuilderList' => $formBuilderList,
  56.                       'menu' => $this -> adminMenu($request),
  57.                         'mainMenu' => $this -> adminMainMenu($request),
  58.                         'user' => $user,
  59.                 )
  60.                 );
  61.     
  62.     }
  63.     /**
  64.      * @Route("/formBuilderNew", name="formBuilderNew")
  65.      */
  66.     public function formBuilderNewAction(Request $request)
  67.     {
  68.         /* we load session data */
  69.         parent::init($request);
  70.          
  71.         $session $request->getSession();
  72.         $em $this->doctrine->getManager();
  73.         $dem $this->doctrine->getManager('dynamic_em');
  74.         /* we get user */
  75.         $userId $session->get('user')->getUserId();
  76.         $user $em->getRepository(User::class)->getUser($userId);
  77.         
  78.         /* we build login form */
  79.         $fmBuilder = new FormBuilder;
  80.         $formBuilder $this->createFormBuilder($fmBuilder);
  81.         
  82.         $formBuilder->add('formBuilderName'TextType::class, array(
  83.                 'required' => true,
  84.                 'label' => $this->translator->trans('module.formBuilder_name'),
  85.                 'attr' => array('class' => 'text_form''size' => 22),
  86.                 'label_attr' => array('class' => 'form_field_label'),
  87.         ));     
  88.     
  89.         //form.button.save
  90.         
  91.         $formBuilder->add('save'SubmitType::class, array('label' => $this->translator->trans('form.button.save'),
  92.                 'attr' => array('class' => 'butt_big')));
  93.         
  94.         $form $formBuilder->getForm();        
  95.         $form->handleRequest($request);
  96.         
  97.         if ($request->getMethod() == 'POST') {
  98.             if ($form->isValid()) {
  99.                 $formData $form->getData();
  100.         
  101.                 //$userName = $request->request->get('form')['username'];
  102.                 //$userExist = $em->getRepository(User::class)->getUserFromLogin($userName, $request->request->get('form')['password']);
  103.                 $fmBuilder->setFormBuilderName($formData->getFormBuilderName());
  104.                 
  105.                 /* we persist and save */
  106.                 $dem->persist($fmBuilder);
  107.                 $dem->flush();
  108.                 
  109.                 $this->addFlash('notice''New Form Builder was created.');
  110.                 
  111.                 return $this->redirectToRoute('formBuilderEdit', array('formBuilderId' => $fmBuilder->getFormBuilderId()));
  112.         
  113.             }
  114.         
  115.         }
  116.     
  117.         /* we render data */
  118.         return $this->render('formBuilderNew.html.twig',
  119.                 array(  'form' => $formBuilder->getForm()->createView(),
  120.                         'headerData' => $this -> getPageHeader($request),
  121.                         'menu' => $this -> adminMenu($request),
  122.                         'mainMenu' => $this -> adminMainMenu($request),
  123.                         'user' => $user,
  124.                 )
  125.                 );
  126.     
  127.     }  
  128.     /**
  129.      * @Route("/formBuilderEdit/{formBuilderId}", name="formBuilderEdit")
  130.      */
  131.     public function formBuilderEditAction(Request $request$formBuilderId)
  132.     {
  133.         /* we load session data */
  134.         parent::init($request);
  135.         $session $request->getSession();
  136.         
  137.         /* we load entity managers */
  138.         $em $this->doctrine->getManager();
  139.         $dem $this->doctrine->getManager('dynamic_em');
  140.          
  141.         /* we get user */ 
  142.         $userId $session->get('user')->getUserId();
  143.         $user $em->getRepository(User::class)->getUser($userId);
  144.         
  145.         /* we get current e-shop */
  146.         $eshop $em->getRepository(Eshop::class)->getCurrentEshop($userId);
  147.  
  148.         /* we get form builder entity */
  149.         $fmBuilder $dem->getRepository(FormBuilder::class)->getFormBuilder($formBuilderId);
  150.         $userDirs $this->getUserFolderPaths($request);
  151.         //print('<br>QQW user: ');
  152.         //\Doctrine\Common\Util\Debug::dump($user);
  153.         /* we build edit form */
  154.         $formBuilder $this->createFormBuilder($fmBuilder);
  155.         $formBuilder->add('formBuilderName'TextType::class, array(
  156.                 'required' => false,
  157.                 'label' => $this->translator->trans('module.formBuilder_name'),
  158.                 'attr' => array('class' => 'text_form''size' => 22'value' => $fmBuilder->getFormBuilderName()),
  159.                 'label_attr' => array('class' => 'form_field_label')
  160.         ));  
  161.         $formBuilder->add('formBuilderEmail'TextType::class, array(
  162.                 'required' => false,
  163.                 'label' => $this->translator->trans('module.formBuilder_email'),
  164.                 'attr' => array('class' => 'text_form''size' => 22'value' => $fmBuilder->getFormBuilderEmail()),
  165.                 'label_attr' => array('class' => 'form_field_label')
  166.         )); 
  167.         $formBuilder->add('isVisible'ChoiceType::class, array(
  168.                 'choices' => array('Yes' => true'No' => false),
  169.                 'required' => false,
  170.                 'mapped' => true,
  171.                 'multiple' => false,
  172.                 'expanded' => true,
  173.                 'placeholder' => false,
  174.                 'label_attr' => array('class' => 'form_field_label'),
  175.                 'attr' => array('class' => 'form_field_text'),              
  176.                 'data' => $fmBuilder->isIsVisible(),
  177.         ));    
  178.         
  179.         $formBuilder->add('save'SubmitType::class, array('label' => $this->translator->trans('form.button.save'),
  180.                 'attr' => array('class' => 'butt_big')));
  181.         $formField = new FormField;
  182.         $formFieldNewBuilder $this->createFormBuilder($formField);
  183.         $formFieldNewBuilder->add('formFieldName'TextType::class, array(
  184.                 'required' => false,
  185.                 'label' => $this->translator->trans('module.formField_name'),
  186.                 'attr' => array('class' => 'text_form''size' => 22'value' => ''),
  187.                 'label_attr' => array('class' => 'form_field_label'),
  188.         ));  
  189.         $formFieldNewBuilder->add('save'SubmitType::class, array('label' => $this->translator->trans('service.add'),
  190.                 'attr' => array('class' => 'butt_big')));
  191.         $form $formBuilder->getForm();
  192.         $formFieldNew $formFieldNewBuilder->getForm();
  193.          
  194.         $form->handleRequest($request);
  195.         $formFieldNew->handleRequest($request);
  196.          
  197.         if ($request->getMethod() == 'POST') {
  198.              
  199.             //$form->bindRequest($request);
  200.              
  201.             if ($form->isValid()) {
  202.                 $formData $form->getData();
  203.         
  204.                 /* we load user data from register form into user object */
  205.                 $fmBuilder->setFormBuilderName($formData->getFormBuilderName());
  206.                 $fmBuilder->setFormBuilderEmail($formData->getFormBuilderEmail());
  207.                 //$formContactGroups = $form['contactGroups']->getData();
  208.                 if(!empty($formData->isIsVisible())) {
  209.                     $fmBuilder->setIsVisible($formData->isIsVisible());
  210.                 }                
  211.                 /* we persist and save */
  212.                 $dem->persist($fmBuilder);
  213.                 $dem->flush();
  214.                 $this->addFlash('notice''Form Builder was updated.');
  215.                 return $this->redirectToRoute('formBuilderEdit', array('formBuilderId' => $fmBuilder->getFormBuilderId()));
  216.                  
  217.             }
  218.             if ($formFieldNew->isValid()) {
  219.                 $formFieldNewData $formFieldNew->getData();
  220.                 print('<br>qqw creating new field: '.$formFieldNewData->getFormFieldName());
  221.                 $formField = new FormField;
  222.                 $formField->setFormFieldName($formFieldNewData->getFormFieldName());
  223.                 //$formField->setProductSelectionGuide($productSelectionGuide);
  224.                 /* we update formbuilder - add form field */
  225.                 $fmBuilder->addFormField($formField);
  226.                 $dem->persist($fmBuilder);
  227.                 $dem->persist($formField);
  228.                 $dem->flush();
  229.                 return $this->redirectToRoute('formBuilderEdit', array('formBuilderId' => $fmBuilder->getFormBuilderId()));
  230.             }            
  231.              
  232.         }
  233.         /* we render data */
  234.         return $this->render('formBuilderEdit.html.twig',
  235.             array('headerData' => $this -> getPageHeader($request),
  236.                   'form' => $formBuilder->getForm()->createView(),
  237.                   'formFieldNew' => $formFieldNewBuilder->getForm()->createView(),
  238.                   'fmBuilder' => $fmBuilder,
  239.                   'userDirs' => $userDirs,
  240.                   'menu' => $this -> adminMenu($request),
  241.                         'mainMenu' => $this -> adminMainMenu($request),
  242.                   'user' => $user,
  243.                 )
  244.         );        
  245.     }
  246.     /**
  247.      * @Route("/formBuilderRemove/{formBuilderId}", name="formBuilderRemove")
  248.      */
  249.     public function formBuilderRemoveAction(Request $request$formBuilderId)
  250.     {
  251.         /* we load session data */
  252.         parent::init($request);
  253.         $session $request->getSession();
  254.     
  255.         /* we load entity managers */
  256.         $em $this->doctrine->getManager();
  257.         $dem $this->doctrine->getManager('dynamic_em');
  258.     
  259.         $userId $session->get('user')->getUserId();
  260.     
  261.         /* we get current e-shop */
  262.         $eshop $em->getRepository(Eshop::class)->getCurrentEshop($userId);
  263.          
  264.         $parameter $dem->getRepository('AppBundle:ProductParameter')->getProductParameter($productParameterId);
  265.     
  266.         print('<hr>qqw parameter: ');
  267.         \Doctrine\Common\Util\Debug::dump($parameter);
  268.         
  269.         //$repo = $dem->getRepository('AppBundle:Category');
  270.         //$repo->removeFromTree($category);
  271.         
  272.         $dem->remove($parameter);
  273.         $dem->flush();
  274.         
  275.         $this->addFlash('notice''Parameter was removed.');
  276.         
  277.         return $this->redirectToRoute('productParameter');
  278.     } 
  279.     /**
  280.      * @Route("/formFieldEdit/{formFieldId}", name="formFieldEdit")
  281.      */
  282.     public function formFieldEditAction(Request $request$formFieldId)
  283.     {
  284.         /* we load session data */
  285.         parent::init($request);
  286.         $session $request->getSession();
  287.         
  288.         /* we load entity managers */
  289.         $em $this->doctrine->getManager();
  290.         $dem $this->doctrine->getManager('dynamic_em');
  291.          
  292.         /* we get user */ 
  293.         $userId $session->get('user')->getUserId();
  294.         $user $em->getRepository(User::class)->getUser($userId);
  295.         
  296.         /* we get current e-shop */
  297.         $eshop $em->getRepository(Eshop::class)->getCurrentEshop($userId);
  298.  
  299.         /* we get form field entity */
  300.         $formField $dem->getRepository(FormField::class)->getFormField($formFieldId);
  301.         $userDirs $this->getUserFolderPaths($request);
  302. //        print('<br>QQW user: ');
  303. //        \Doctrine\Common\Util\Debug::dump($user);
  304.         /* we build edit form */
  305.         $formBuilder $this->createFormBuilder($formField);
  306.         
  307.         $formBuilder->add('formFieldName'TextType::class, array(
  308.                 'required' => false,
  309.                 'label' => $this->translator->trans('module.formField_name'),
  310.                 'attr' => array('class' => 'text_form''size' => 22'value' => $formField->getFormFieldName()),
  311.                 'label_attr' => array('class' => 'form_field_label')
  312.         ));    
  313.             $formFieldTypeList $em->getRepository(FormFieldType::class)->getFormFieldTypeList();
  314.             $formFieldTypes = array();
  315.             $formFieldTypesRequired false;
  316.             foreach($formFieldTypeList as $formFieldType) {
  317.                 //print('<br>Consent: '.$consent->getConsentName());
  318.                 // if($consent->getBlockOrder()) {
  319.                 //     $consentRequired = true;
  320.                 // }
  321.                 $formFieldTypes[$formFieldType->getFormFieldTypeName()] = $formFieldType->getFormFieldTypeId();
  322.             }
  323.             $selectedFormFieldTypes = array();
  324.             if(!empty($formField->getFormFieldType())) {
  325.                 foreach ($formField->getFormFieldType() as $fieldType) {
  326.                     $fieldTypeId $fieldType->getFormFieldTypeId();
  327.                     $selectedFormFieldTypes[] = $fieldTypeId;
  328.                 }
  329.             }
  330.             $formBuilder->add('formFieldType'ChoiceType::class, array(
  331.                     'choices' => $formFieldTypes,
  332.                     'attr' => array('class' => 'selector'),
  333.                     'label_attr' => array('class' => 'form_field_label'),
  334.                     'data' => $selectedFormFieldTypes,
  335.                     'mapped' => false,
  336.                     'multiple' => true
  337.             ));              
  338.             // $formBuilder->add('formFieldTypes', ChoiceType::class, array(
  339.             //         'choices' => $formFieldTypes,
  340.             //         // 'required' => $consentRequired,
  341.             //         'mapped' => false,
  342.             //         'multiple' => true,
  343.             //         'expanded' => true,
  344.             //         'label_attr' => array('class' => 'consent_label'),
  345.             //         'attr' => array('class' => 'form_field_text'),
  346.             //         'choice_attr' => function($val, $key, $index) {
  347.             //             // adds a class like attending_yes, attending_no, etc
  348.             //             return ['class' => 'choiceBlock5', 'required' => 'required']; 
  349.             //         },   
  350.             //         'data' => $selectedFormFieldTypes
  351.             // ));           
  352.         $formBuilder->add('formFieldOptions'TextType::class, array(
  353.                 'required' => false,
  354.                 'label' => $this->translator->trans('module.formField_options'),
  355.                 'attr' => array('class' => 'text_form''size' => 22'value' => $formField->getFormFieldOptions()),
  356.                 'label_attr' => array('class' => 'form_field_label')
  357.         ));  
  358.         
  359.         $formBuilder->add('save'SubmitType::class, array('label' => $this->translator->trans('form.button.save'),
  360.                 'attr' => array('class' => 'butt_big')));
  361.          
  362.         $form $formBuilder->getForm();
  363.          
  364.         $form->handleRequest($request);
  365.          
  366.         if ($request->getMethod() == 'POST') {
  367.              
  368.             //$form->bindRequest($request);
  369.              
  370.             if ($form->isValid()) {
  371.                 $formData $form->getData();
  372.         
  373.                 $formField->setFormFieldName($formData->getFormFieldName());
  374.                 if(is_array($formField->getFormFieldType())) {
  375.                     foreach ($formField->getFormFieldType() as $fieldType) {
  376.                         $formField->removeFormFieldType($fieldType);
  377.                     }
  378.                 }
  379.                 $formFieldTypes $form['formFieldType']->getData();
  380.                 if(is_array($formFieldTypes)) {
  381.                     foreach($formFieldTypes as $formFieldTypeId) {
  382.                         print('<br>add fieldTypeId: '.$formFieldTypeId);
  383.                         $fieldType $em->getRepository(FormFieldType::class)->getFormFieldType($formFieldTypeId);
  384.                         $formField->addFormFieldType($fieldType);
  385.                     }
  386.                 }
  387.                 //$formField->setFormFieldTypes($form['formFieldType']->getData());
  388.                 $formField->setFormFieldOptions($formData->getFormFieldOptions());
  389.                 /* we persist and save */
  390.                 $dem->persist($formField);
  391.                 $dem->flush();
  392.                 $this->addFlash('notice''Form Field was updated.');
  393.                 return $this->redirectToRoute('formFieldEdit', array('formFieldId' => $formField->getFormFieldId()));
  394.                  
  395.             }
  396.     
  397.         }
  398.         /* we render data */
  399.         return $this->render('formFieldEdit.html.twig',
  400.             array('headerData' => $this -> getPageHeader($request),
  401.                   'form' => $formBuilder->getForm()->createView(),
  402.                   'formField' => $formField,
  403.                   'userDirs' => $userDirs,
  404.                   'menu' => $this -> adminMenu($request),
  405.                         'mainMenu' => $this -> adminMainMenu($request),
  406.                   'user' => $user,
  407.                 )
  408.         );        
  409.     }
  410.     /**
  411.      * @Route("/formResponse", name="formResponse")
  412.      */
  413.     public function formResponseAction(Request $request)
  414.     {
  415.         /* we load session data */
  416.         parent::init($request);     
  417.         $session $request->getSession();
  418.         $userDirs $this->getUserFolderPaths($request);
  419.         
  420.         /* we load users entity manager */
  421.         $dem $this->doctrine->getManager('dynamic_em');
  422.          
  423.         $formResponseList $dem->getRepository('AppBundle:FormResponse')->getFormResponseList();
  424.         /* we render data */
  425.         return $this->render('formResponse.html.php',
  426.                 array('headerData' => $this -> getPageHeader($request),
  427.                       'formResponseList' => array_reverse($formResponseList),
  428.                       'userDirs' => $userDirs,
  429.                       'menu' => $this -> adminMenu($request),
  430.                         'mainMenu' => $this -> adminMainMenu($request),
  431.                 )
  432.                 );
  433.     
  434.     }
  435.     /**
  436.      * @Route("user/{userId}/form/{formBuilderId}", name="form")
  437.      */
  438.     public function formAction(Request $request$userId$formBuilderId)
  439.     {
  440.         $processResult true;
  441.         $processMessage 'OK';
  442.         /* we load session data */
  443.         parent::init($request);
  444.         $session $request->getSession();
  445.         
  446.         /* we load entity managers */
  447.         $em $this->doctrine->getManager();
  448.         $dem $this->doctrine->getManager('dynamic_em');
  449.         $user $em->getRepository(User::class)->getUser($userId);
  450.         
  451.         $form $dem->getRepository(FormBuilder::class)->getFormBuilder($formBuilderId);
  452.         $userDirs $this->getUserFolderPathsFromUserId($userId);
  453.         
  454.         //print('<br>QQW form: ');
  455.         //\Doctrine\Common\Util\Debug::dump($form);        
  456.  
  457.         /* we check if eshop exists */
  458.         if($user === null) {
  459.             $this->addFlash('error''User does not exist.');
  460.             print('<br>User does not exist');
  461.         }  
  462.         /* we generate response message */
  463.         if(!empty($request->query->get('message'))) {
  464.            $formResponseMessage $request->query->get('message');
  465.         } else {
  466.            $formResponseMessage '';
  467.         }
  468.         if(!empty($request->query->get('name'))) {
  469.            $formResponseName $request->query->get('name');
  470.         } else {
  471.            $formResponseName '';
  472.         }
  473.         if(!empty($request->query->get('email'))) {
  474.            $formResponseEmail $request->query->get('email');
  475.         } else {
  476.            $formResponseEmail '';
  477.         }     
  478.         if(!empty($request->query->get('phone'))) {
  479.            $formResponsePhone $request->query->get('phone');
  480.         } else {
  481.            $formResponsePhone '';
  482.         }  
  483.         if(!empty($request->query->get('subject'))) {
  484.            $formResponseSubject $request->query->get('subject');
  485.         } else {
  486.            $formResponseSubject '';
  487.         }          
  488.         /* we generate response xml */
  489.         $documentUrl 'formResponse' md5(uniqid()).'.xml';
  490.         $xmlFile $userDirs['user']. '/'.$documentUrl;
  491.         $xml = new \SimpleXMLElement('<?xml version="1.0" encoding="UTF-8" standalone="yes"?><formResponse></formResponse>');
  492.         $formRequests $request->query->all();
  493.         foreach($formRequests as $key=>$req) {
  494.             //print('<br>qqw req: '.$key);
  495.             //\Doctrine\Common\Util\Debug::dump($req);
  496.             $xml->addChild($key$req );
  497.         }
  498.         
  499.         // Save out the file
  500.         $xml->asXML($xmlFile);
  501.         
  502.         $formResponseMessage .= (string)$xml;
  503.         /* we try to connect to users database */
  504.         $dbHost '127.0.0.1';
  505.         $dbName $user->getDatabaseName();
  506.         $dsn sprintf("mysql:host=%s;dbname=%s",
  507.             $dbHost,
  508.             $dbName
  509.         );
  510.         $sql "INSERT INTO form_response (form_builder_id,
  511.                                            form_response_message, 
  512.                                            document_url,
  513.                                            form_response_name,
  514.                                            form_response_email,
  515.                                            form_response_phone,
  516.                                            form_response_subject,
  517.                                            form_response_ip,
  518.                                            date_inserted
  519.                             ) VALUES (  '".$formBuilderId."',
  520.                                         '".$formResponseMessage."',
  521.                                         '".$documentUrl."',
  522.                                         '".$formResponseName."',
  523.                                         '".$formResponseEmail."',
  524.                                         '".$formResponsePhone."',
  525.                                         '".$formResponseSubject."',
  526.                                         '".$request->getClientIp()."',
  527.                                         NOW()
  528.                             )";
  529.         $connection = new PDO $dsn$user->getDatabaseUser(), $user->getDatabasePassword());   
  530.         $statement $connection->prepare($sql);
  531.         
  532.         if($statement->execute()) {
  533.                     
  534.             $processMessage $this->translator->trans('module.formResponse_ok');
  535.             
  536.             //sending email
  537.             if(!empty($form->getFormBuilderEmail()) && $form->getFormBuilderEmail() !== '') {
  538.             
  539.                     // we prepare emailing
  540.                     
  541.             $name $formResponseName;
  542.             $to      $form->getFormBuilderEmail();
  543.             
  544.             $subject $name.' - '.$this->translator->trans('eshop.email_order_subject').': #';
  545.             
  546.             $message $this->translator->trans('eshop.email_form_message');
  547.             $from 'noreply@easycommerc.com';
  548.             
  549.             
  550.             $headers  "MIME-Version: 1.0\r\n";
  551.             $headers .= "Content-type: text/html; charset=UTF-8\r\n";
  552.             $headers .= "From: {$name} <{$from}>\r\n";
  553.             $headers .= "Reply-To: <{$from}>\r\n";
  554.             $headers .= "Subject: {$subject}\r\n";
  555.             $headers .= "X-Mailer: PHP/".phpversion()."\r\n";
  556.             
  557.             // we send email form builder admin - sendmail, sendemail 
  558.             if(@mail($to$subject$message$headers)) {
  559.                 print('<br>Email was sent.');
  560.             } else {
  561.                 print('<br>Email was not sent.');
  562.             }   
  563.             
  564.             
  565.          }           
  566.              
  567.             
  568.         } else {
  569.             $processResult false;
  570.             $processMessage $this->translator->trans('module.formResponse_error');
  571.         }
  572.         //$statement = $connection->query ( $this->buildQueryString());
  573.         /* we generate return URL */
  574.         //$returnLink = $request->get('returnLink');  
  575.         //$returnLink = $request->get('form')['returnLink'];
  576.         $returnLink $request->query->get('returnLink');
  577.         
  578.         
  579.         
  580.         //print('<br>qqw $sql: '.$sql);
  581.        
  582.         /*
  583.         if ($request->getMethod() == 'GET') {
  584.             print('<br>IS GET ');
  585.         }
  586.          
  587.         print('<br>QQW user: ');
  588.         \Doctrine\Common\Util\Debug::dump($user);
  589.         */
  590.         
  591.         /* we render data */
  592.         return $this->render('form.html.php',
  593.             array(
  594.                   'user' => $user,
  595.                   'returnLink' => $returnLink,
  596.                   'processResult' => $processResult,
  597.                   'processMessage' => $processMessage,
  598.                 )
  599.         );         
  600.     }    
  601.     public function adminMenu(Request $request)
  602.     {
  603.         $menuItems = array(=> array('link' => 'webpagesAdmin''langKey' => 'webpages.admin''routeName' => 'webpagesAdmin'),
  604.                 => array('link' => 'formBuilder''langKey' => 'module.formBuilder''routeName' => 'formBuilder'),
  605.                 => array('link' => 'formBuilderNew''langKey' => 'module.formBuilder_new''routeName' => 'formBuilderNew'),
  606.                 => array('link' => 'formResponse''langKey' => 'module.formResponse''routeName' => 'formResponse'),
  607.         );
  608.     
  609.         return $menuItems;
  610.     
  611.     }   
  612. }