Add placement enabled settings
[MAILPOET-3075]
This commit is contained in:
@ -12,6 +12,7 @@ use MailPoet\Cron\Workers\UnsubscribeTokens;
|
||||
use MailPoet\Entities\UserFlagEntity;
|
||||
use MailPoet\Features\FeaturesController;
|
||||
use MailPoet\Form\FormFactory;
|
||||
use MailPoet\Form\FormsRepository;
|
||||
use MailPoet\Mailer\MailerLog;
|
||||
use MailPoet\Models\Form;
|
||||
use MailPoet\Models\Newsletter;
|
||||
@ -33,6 +34,7 @@ use MailPoet\Subscription\Captcha;
|
||||
use MailPoet\Util\Helpers;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
class Populator {
|
||||
public $prefix;
|
||||
@ -51,6 +53,13 @@ class Populator {
|
||||
private $flagsController;
|
||||
/** @var FormFactory */
|
||||
private $formFactory;
|
||||
/** @var FormsRepository */
|
||||
private $formsRepository;
|
||||
|
||||
/**
|
||||
* @var EntityManager
|
||||
*/
|
||||
private $entityManager;
|
||||
|
||||
public function __construct(
|
||||
SettingsController $settings,
|
||||
@ -58,6 +67,8 @@ class Populator {
|
||||
Captcha $captcha,
|
||||
ReferralDetector $referralDetector,
|
||||
FeaturesController $flagsController,
|
||||
FormsRepository $formsRepository,
|
||||
EntityManager $entityManager,
|
||||
FormFactory $formFactory
|
||||
) {
|
||||
$this->settings = $settings;
|
||||
@ -147,6 +158,8 @@ class Populator {
|
||||
'FarmersMarket',
|
||||
];
|
||||
$this->flagsController = $flagsController;
|
||||
$this->formsRepository = $formsRepository;
|
||||
$this->entityManager = $entityManager;
|
||||
}
|
||||
|
||||
public function up() {
|
||||
@ -174,6 +187,7 @@ class Populator {
|
||||
$this->detectReferral();
|
||||
$this->updateFormsSuccessMessages();
|
||||
$this->moveGoogleAnalyticsFromPremium();
|
||||
$this->addPlacementStatusToForms();
|
||||
}
|
||||
|
||||
private function createMailPoetPage() {
|
||||
@ -688,6 +702,50 @@ class Populator {
|
||||
));
|
||||
}
|
||||
|
||||
private function addPlacementStatusToForms() {
|
||||
if (version_compare($this->settings->get('db_version', '3.48.1'), '3.48.1', '>')) {
|
||||
return;
|
||||
}
|
||||
$forms = $this->formsRepository->findAll();
|
||||
foreach ($forms as $form) {
|
||||
$settings = $form->getSettings();
|
||||
if (
|
||||
(isset($settings['place_form_bellow_all_posts']) && $settings['place_form_bellow_all_posts'] === '1')
|
||||
|| (isset($settings['place_form_bellow_all_pages']) && $settings['place_form_bellow_all_pages'] === '1')
|
||||
) {
|
||||
$settings['form_placement_bellow_posts_enabled'] = '1';
|
||||
} else {
|
||||
$settings['form_placement_bellow_posts_enabled'] = '';
|
||||
}
|
||||
if (
|
||||
(isset($settings['place_popup_form_on_all_posts']) && $settings['place_popup_form_on_all_posts'] === '1')
|
||||
|| (isset($settings['place_popup_form_on_all_pages']) && $settings['place_popup_form_on_all_pages'] === '1')
|
||||
) {
|
||||
$settings['form_placement_popup_enabled'] = '1';
|
||||
} else {
|
||||
$settings['form_placement_popup_enabled'] = '';
|
||||
}
|
||||
if (
|
||||
(isset($settings['place_fixed_bar_form_on_all_posts']) && $settings['place_fixed_bar_form_on_all_posts'] === '1')
|
||||
|| (isset($settings['place_fixed_bar_form_on_all_pages']) && $settings['place_fixed_bar_form_on_all_pages'] === '1')
|
||||
) {
|
||||
$settings['form_placement_fixed_bar_enabled'] = '1';
|
||||
} else {
|
||||
$settings['form_placement_fixed_bar_enabled'] = '';
|
||||
}
|
||||
if (
|
||||
(isset($settings['place_slide_in_form_on_all_posts']) && $settings['place_slide_in_form_on_all_posts'] === '1')
|
||||
|| (isset($settings['place_slide_in_form_on_all_pages']) && $settings['place_slide_in_form_on_all_pages'] === '1')
|
||||
) {
|
||||
$settings['form_placement_slide_in_enabled'] = '1';
|
||||
} else {
|
||||
$settings['form_placement_slide_in_enabled'] = '';
|
||||
}
|
||||
$form->setSettings($settings);
|
||||
}
|
||||
$this->entityManager->flush();
|
||||
}
|
||||
|
||||
private function moveGoogleAnalyticsFromPremium() {
|
||||
global $wpdb;
|
||||
if (version_compare($this->settings->get('db_version', '3.38.2'), '3.38.1', '>')) {
|
||||
|
@ -10,11 +10,13 @@ use MailPoet\Config\Activator;
|
||||
use MailPoet\Config\Populator;
|
||||
use MailPoet\Features\FeaturesController;
|
||||
use MailPoet\Form\FormFactory;
|
||||
use MailPoet\Form\FormsRepository;
|
||||
use MailPoet\Referrals\ReferralDetector;
|
||||
use MailPoet\Settings\SettingsController;
|
||||
use MailPoet\Settings\SettingsRepository;
|
||||
use MailPoet\Subscription\Captcha;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
class SetupTest extends \MailPoetTest {
|
||||
public function _before() {
|
||||
@ -38,6 +40,8 @@ class SetupTest extends \MailPoetTest {
|
||||
new Captcha(),
|
||||
$referralDetector,
|
||||
$featuresController,
|
||||
$this->diContainer->get(FormsRepository::class),
|
||||
$this->diContainer->get(EntityManager::class),
|
||||
$this->diContainer->get(FormFactory::class)
|
||||
);
|
||||
$router = new Setup($wp, new Activator($settings, $populator));
|
||||
|
@ -16,6 +16,7 @@ use MailPoet\DI\ContainerWrapper;
|
||||
use MailPoet\Entities\NewsletterEntity;
|
||||
use MailPoet\Features\FeaturesController;
|
||||
use MailPoet\Form\FormFactory;
|
||||
use MailPoet\Form\FormsRepository;
|
||||
use MailPoet\Logging\LoggerFactory;
|
||||
use MailPoet\Mailer\MailerLog;
|
||||
use MailPoet\Models\Newsletter;
|
||||
@ -42,6 +43,7 @@ use MailPoet\Subscription\SubscriptionUrlFactory;
|
||||
use MailPoet\Tasks\Sending as SendingTask;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
use MailPoetVendor\Idiorm\ORM;
|
||||
|
||||
class SendingQueueTest extends \MailPoetTest {
|
||||
@ -79,6 +81,8 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
new Captcha,
|
||||
$referralDetector,
|
||||
$featuresController,
|
||||
$this->diContainer->get(FormsRepository::class),
|
||||
$this->diContainer->get(EntityManager::class),
|
||||
$this->diContainer->get(FormFactory::class)
|
||||
);
|
||||
$populator->up();
|
||||
|
@ -8,6 +8,7 @@ use MailPoet\Config\Populator;
|
||||
use MailPoet\Cron\Workers\SendingQueue\Tasks\Mailer as MailerTask;
|
||||
use MailPoet\Features\FeaturesController;
|
||||
use MailPoet\Form\FormFactory;
|
||||
use MailPoet\Form\FormsRepository;
|
||||
use MailPoet\Mailer\Mailer;
|
||||
use MailPoet\Models\Subscriber;
|
||||
use MailPoet\Referrals\ReferralDetector;
|
||||
@ -15,6 +16,7 @@ use MailPoet\Settings\SettingsController;
|
||||
use MailPoet\Settings\SettingsRepository;
|
||||
use MailPoet\Subscription\Captcha;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
use MailPoetVendor\Idiorm\ORM;
|
||||
|
||||
class MailerTest extends \MailPoetTest {
|
||||
@ -37,6 +39,8 @@ class MailerTest extends \MailPoetTest {
|
||||
new Captcha,
|
||||
$referralDetector,
|
||||
$featuresController,
|
||||
$this->diContainer->get(FormsRepository::class),
|
||||
$this->diContainer->get(EntityManager::class),
|
||||
$this->diContainer->get(FormFactory::class)
|
||||
);
|
||||
$populator->up();
|
||||
|
@ -6,6 +6,7 @@ use Codeception\Util\Stub;
|
||||
use MailPoet\Config\Populator;
|
||||
use MailPoet\Features\FeaturesController;
|
||||
use MailPoet\Form\FormFactory;
|
||||
use MailPoet\Form\FormsRepository;
|
||||
use MailPoet\Models\CustomField;
|
||||
use MailPoet\Models\Newsletter;
|
||||
use MailPoet\Models\SendingQueue;
|
||||
@ -20,6 +21,7 @@ use MailPoet\Subscribers\LinkTokens;
|
||||
use MailPoet\Subscription\Captcha;
|
||||
use MailPoet\Subscription\SubscriptionUrlFactory;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
use MailPoetVendor\Idiorm\ORM;
|
||||
|
||||
require_once(ABSPATH . 'wp-admin/includes/user.php');
|
||||
@ -49,6 +51,8 @@ class ShortcodesTest extends \MailPoetTest {
|
||||
new Captcha,
|
||||
$referralDetector,
|
||||
$featuresController,
|
||||
$this->diContainer->get(FormsRepository::class),
|
||||
$this->diContainer->get(EntityManager::class),
|
||||
$this->diContainer->get(FormFactory::class)
|
||||
);
|
||||
$populator->up();
|
||||
|
@ -6,6 +6,7 @@ use Codeception\Util\Stub;
|
||||
use MailPoet\Config\Populator;
|
||||
use MailPoet\Features\FeaturesController;
|
||||
use MailPoet\Form\FormFactory;
|
||||
use MailPoet\Form\FormsRepository;
|
||||
use MailPoet\Models\Subscriber;
|
||||
use MailPoet\Referrals\ReferralDetector;
|
||||
use MailPoet\Router\Router;
|
||||
@ -15,6 +16,7 @@ use MailPoet\Subscribers\LinkTokens;
|
||||
use MailPoet\Subscription\Captcha;
|
||||
use MailPoet\Subscription\SubscriptionUrlFactory;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
class UrlTest extends \MailPoetTest {
|
||||
|
||||
@ -35,6 +37,8 @@ class UrlTest extends \MailPoetTest {
|
||||
new Captcha,
|
||||
$referralDetector,
|
||||
$featuresController,
|
||||
$this->diContainer->get(FormsRepository::class),
|
||||
$this->diContainer->get(EntityManager::class),
|
||||
$this->diContainer->get(FormFactory::class)
|
||||
);
|
||||
$populator->up();
|
||||
|
Reference in New Issue
Block a user