Add emoji sanitisation to forms save API endpoint

[MAILPOET-3196]
This commit is contained in:
Rostislav Wolny
2020-10-06 11:53:32 +02:00
committed by Veljko V
parent 96f2bfaa20
commit 3eb71f8012

View File

@ -16,6 +16,7 @@ use MailPoet\Listing;
use MailPoet\Models\Form;
use MailPoet\Models\StatisticsForms;
use MailPoet\Settings\UserFlagsController;
use MailPoet\WP\Emoji;
use MailPoet\WP\Functions as WPFunctions;
class Forms extends APIEndpoint {
@ -46,6 +47,9 @@ class Forms extends APIEndpoint {
/** @var FormsRepository */
private $formsRepository;
/** @var Emoji */
private $emoji;
public function __construct(
Listing\BulkActionController $bulkAction,
Listing\Handler $listingHandler,
@ -53,7 +57,8 @@ class Forms extends APIEndpoint {
FormFactory $formFactory,
FormsRepository $formsRepository,
FormsResponseBuilder $formsResponseBuilder,
WPFunctions $wp
WPFunctions $wp,
Emoji $emoji
) {
$this->bulkAction = $bulkAction;
$this->listingHandler = $listingHandler;
@ -62,6 +67,7 @@ class Forms extends APIEndpoint {
$this->wp = $wp;
$this->formsRepository = $formsRepository;
$this->formsResponseBuilder = $formsResponseBuilder;
$this->emoji = $emoji;
}
public function get($data = []) {
@ -225,6 +231,10 @@ class Forms extends APIEndpoint {
$settings['segments_selected_by'] = 'admin';
}
if ($body !== null) {
$body = $this->emoji->sanitizeEmojisInFormBody($body);
}
$form = Form::createOrUpdate([
'id' => $formId,
'name' => $name,