Spaces:
No application file
No application file
| namespace MauticPlugin\MauticSocialBundle\Controller; | |
| use Mautic\CoreBundle\Controller\AjaxController as CommonAjaxController; | |
| use Mautic\CoreBundle\Controller\AjaxLookupControllerTrait; | |
| use Mautic\CoreBundle\Helper\InputHelper; | |
| use MauticPlugin\MauticSocialBundle\Model\MonitoringModel; | |
| use Symfony\Component\Form\FormFactoryInterface; | |
| use Symfony\Component\HttpFoundation\Request; | |
| class AjaxController extends CommonAjaxController | |
| { | |
| use AjaxLookupControllerTrait; | |
| public function getNetworkFormAction(Request $request, MonitoringModel $monitoringModel, FormFactoryInterface $formFactory): \Symfony\Component\HttpFoundation\JsonResponse | |
| { | |
| // get the form type | |
| $type = InputHelper::clean($request->request->get('networkType')); | |
| // default to empty | |
| $dataArray = [ | |
| 'html' => '', | |
| 'success' => 0, | |
| ]; | |
| if (!empty($type)) { | |
| // get the HTML for the form | |
| $formType = $monitoringModel->getFormByType($type); | |
| // get the network type form | |
| $form = $formFactory->create($formType, [], ['label' => false, 'csrf_protection' => false]); | |
| $html = $this->renderView( | |
| '@MauticSocial/FormTheme/'.$type.'_widget.html.twig', | |
| ['form' => $form->createView()] | |
| ); | |
| $html = str_replace( | |
| [ | |
| $type.'[', // this is going to generate twitter_hashtag[ or twitter_mention[ | |
| $type.'_', // this is going to generate twitter_hashtag_ or twitter_mention_ | |
| $type, | |
| ], | |
| [ | |
| 'monitoring[properties][', | |
| 'monitoring_properties_', | |
| 'monitoring', | |
| ], | |
| $html | |
| ); | |
| $dataArray['html'] = $html; | |
| $dataArray['success'] = 1; | |
| } | |
| return $this->sendJsonResponse($dataArray); | |
| } | |
| } | |