Use api data fix service for save form api

[MAILPOET-3415]
This commit is contained in:
Rostislav Wolny
2021-02-10 14:02:47 +01:00
committed by Veljko V
parent 1fbed46411
commit 08b5fae173

View File

@ -7,6 +7,7 @@ use MailPoet\API\JSON\Error as APIError;
use MailPoet\API\JSON\ResponseBuilders\FormsResponseBuilder; use MailPoet\API\JSON\ResponseBuilders\FormsResponseBuilder;
use MailPoet\Config\AccessControl; use MailPoet\Config\AccessControl;
use MailPoet\Entities\FormEntity; use MailPoet\Entities\FormEntity;
use MailPoet\Form\ApiDataSanitiser;
use MailPoet\Form\DisplayFormInWPContent; use MailPoet\Form\DisplayFormInWPContent;
use MailPoet\Form\FormFactory; use MailPoet\Form\FormFactory;
use MailPoet\Form\FormsRepository; use MailPoet\Form\FormsRepository;
@ -50,6 +51,9 @@ class Forms extends APIEndpoint {
/** @var Emoji */ /** @var Emoji */
private $emoji; private $emoji;
/** @var ApiDataSanitiser */
private $dataSanitiser;
public function __construct( public function __construct(
Listing\BulkActionController $bulkAction, Listing\BulkActionController $bulkAction,
Listing\Handler $listingHandler, Listing\Handler $listingHandler,
@ -58,7 +62,8 @@ class Forms extends APIEndpoint {
FormsRepository $formsRepository, FormsRepository $formsRepository,
FormsResponseBuilder $formsResponseBuilder, FormsResponseBuilder $formsResponseBuilder,
WPFunctions $wp, WPFunctions $wp,
Emoji $emoji Emoji $emoji,
ApiDataSanitiser $dataSanitiser
) { ) {
$this->bulkAction = $bulkAction; $this->bulkAction = $bulkAction;
$this->listingHandler = $listingHandler; $this->listingHandler = $listingHandler;
@ -68,6 +73,7 @@ class Forms extends APIEndpoint {
$this->formsRepository = $formsRepository; $this->formsRepository = $formsRepository;
$this->formsResponseBuilder = $formsResponseBuilder; $this->formsResponseBuilder = $formsResponseBuilder;
$this->emoji = $emoji; $this->emoji = $emoji;
$this->dataSanitiser = $dataSanitiser;
} }
public function get($data = []) { public function get($data = []) {
@ -188,6 +194,7 @@ class Forms extends APIEndpoint {
$formId = (isset($data['id']) ? (int)$data['id'] : 0); $formId = (isset($data['id']) ? (int)$data['id'] : 0);
$name = (isset($data['name']) ? $data['name'] : WPFunctions::get()->__('New form', 'mailpoet')); $name = (isset($data['name']) ? $data['name'] : WPFunctions::get()->__('New form', 'mailpoet'));
$body = (isset($data['body']) ? $data['body'] : []); $body = (isset($data['body']) ? $data['body'] : []);
$body = $this->dataSanitiser->sanitiseBody($body);
$settings = (isset($data['settings']) ? $data['settings'] : []); $settings = (isset($data['settings']) ? $data['settings'] : []);
$styles = (isset($data['styles']) ? $data['styles'] : ''); $styles = (isset($data['styles']) ? $data['styles'] : '');
$status = (isset($data['status']) ? $data['status'] : FormEntity::STATUS_ENABLED); $status = (isset($data['status']) ? $data['status'] : FormEntity::STATUS_ENABLED);