Extract usage of emoji encoding from the newsletter model [MAILPOET-2460]
This commit is contained in:
@@ -27,6 +27,7 @@ use MailPoet\Newsletter\Url as NewsletterUrl;
|
|||||||
use MailPoet\Services\AuthorizedEmailsController;
|
use MailPoet\Services\AuthorizedEmailsController;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\WooCommerce\Helper as WCHelper;
|
use MailPoet\WooCommerce\Helper as WCHelper;
|
||||||
|
use MailPoet\WP\Emoji;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
class Newsletters extends APIEndpoint {
|
class Newsletters extends APIEndpoint {
|
||||||
@@ -65,6 +66,9 @@ class Newsletters extends APIEndpoint {
|
|||||||
/** @var MetaInfo */
|
/** @var MetaInfo */
|
||||||
private $mailerMetaInfo;
|
private $mailerMetaInfo;
|
||||||
|
|
||||||
|
/** @var Emoji */
|
||||||
|
private $emoji;
|
||||||
|
|
||||||
function __construct(
|
function __construct(
|
||||||
Listing\BulkActionController $bulk_action,
|
Listing\BulkActionController $bulk_action,
|
||||||
Listing\Handler $listing_handler,
|
Listing\Handler $listing_handler,
|
||||||
@@ -75,7 +79,8 @@ class Newsletters extends APIEndpoint {
|
|||||||
NewslettersRepository $newsletters_repository,
|
NewslettersRepository $newsletters_repository,
|
||||||
NewslettersResponseBuilder $newsletters_response_builder,
|
NewslettersResponseBuilder $newsletters_response_builder,
|
||||||
PostNotificationScheduler $post_notification_scheduler,
|
PostNotificationScheduler $post_notification_scheduler,
|
||||||
MetaInfo $mailerMetaInfo
|
MetaInfo $mailerMetaInfo,
|
||||||
|
Emoji $emoji
|
||||||
) {
|
) {
|
||||||
$this->bulk_action = $bulk_action;
|
$this->bulk_action = $bulk_action;
|
||||||
$this->listing_handler = $listing_handler;
|
$this->listing_handler = $listing_handler;
|
||||||
@@ -87,6 +92,7 @@ class Newsletters extends APIEndpoint {
|
|||||||
$this->newsletters_response_builder = $newsletters_response_builder;
|
$this->newsletters_response_builder = $newsletters_response_builder;
|
||||||
$this->post_notification_scheduler = $post_notification_scheduler;
|
$this->post_notification_scheduler = $post_notification_scheduler;
|
||||||
$this->mailerMetaInfo = $mailerMetaInfo;
|
$this->mailerMetaInfo = $mailerMetaInfo;
|
||||||
|
$this->emoji = $emoji;
|
||||||
}
|
}
|
||||||
|
|
||||||
function get($data = []) {
|
function get($data = []) {
|
||||||
@@ -170,6 +176,9 @@ class Newsletters extends APIEndpoint {
|
|||||||
$old_newsletter = Newsletter::findOne(intval($data['id'])) ?: null;
|
$old_newsletter = Newsletter::findOne(intval($data['id'])) ?: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($data['body'])) {
|
||||||
|
$data['body'] = $this->emoji->encodeForUTF8Column(MP_NEWSLETTERS_TABLE, 'body', $data['body']);
|
||||||
|
}
|
||||||
$newsletter = Newsletter::createOrUpdate($data);
|
$newsletter = Newsletter::createOrUpdate($data);
|
||||||
$errors = $newsletter->getErrors();
|
$errors = $newsletter->getErrors();
|
||||||
|
|
||||||
@@ -396,6 +405,7 @@ class Newsletters extends APIEndpoint {
|
|||||||
|
|
||||||
if ($newsletter instanceof Newsletter) {
|
if ($newsletter instanceof Newsletter) {
|
||||||
$newsletter->body = $data['body'];
|
$newsletter->body = $data['body'];
|
||||||
|
$newsletter->body = $this->emoji->encodeForUTF8Column(MP_NEWSLETTERS_TABLE, 'body', $newsletter->body);
|
||||||
$newsletter->save();
|
$newsletter->save();
|
||||||
$subscriber = Subscriber::getCurrentWPUser();
|
$subscriber = Subscriber::getCurrentWPUser();
|
||||||
$preview_url = NewsletterUrl::getViewInBrowserUrl(
|
$preview_url = NewsletterUrl::getViewInBrowserUrl(
|
||||||
|
@@ -14,7 +14,6 @@ use MailPoet\Tasks\Sending as SendingTask;
|
|||||||
use MailPoet\Util\Helpers;
|
use MailPoet\Util\Helpers;
|
||||||
use MailPoet\Util\Security;
|
use MailPoet\Util\Security;
|
||||||
use MailPoet\WooCommerce\Helper as WCHelper;
|
use MailPoet\WooCommerce\Helper as WCHelper;
|
||||||
use MailPoet\WP\Emoji;
|
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
use function MailPoet\Util\array_column;
|
use function MailPoet\Util\array_column;
|
||||||
@@ -58,14 +57,11 @@ class Newsletter extends Model {
|
|||||||
// automatic newsletters status
|
// automatic newsletters status
|
||||||
const STATUS_ACTIVE = NewsletterEntity::STATUS_ACTIVE;
|
const STATUS_ACTIVE = NewsletterEntity::STATUS_ACTIVE;
|
||||||
|
|
||||||
private $emoji;
|
|
||||||
|
|
||||||
function __construct() {
|
function __construct() {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
$this->addValidations('type', [
|
$this->addValidations('type', [
|
||||||
'required' => WPFunctions::get()->__('Please specify a type.', 'mailpoet'),
|
'required' => WPFunctions::get()->__('Please specify a type.', 'mailpoet'),
|
||||||
]);
|
]);
|
||||||
$this->emoji = new Emoji();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function queue() {
|
function queue() {
|
||||||
@@ -125,7 +121,7 @@ class Newsletter extends Model {
|
|||||||
}
|
}
|
||||||
$this->set(
|
$this->set(
|
||||||
'body',
|
'body',
|
||||||
$this->emoji->encodeForUTF8Column(self::$_table, 'body', $this->body)
|
$this->body
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user