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\Entities\UserFlagEntity;
|
||||||
use MailPoet\Features\FeaturesController;
|
use MailPoet\Features\FeaturesController;
|
||||||
use MailPoet\Form\FormFactory;
|
use MailPoet\Form\FormFactory;
|
||||||
|
use MailPoet\Form\FormsRepository;
|
||||||
use MailPoet\Mailer\MailerLog;
|
use MailPoet\Mailer\MailerLog;
|
||||||
use MailPoet\Models\Form;
|
use MailPoet\Models\Form;
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
@ -33,6 +34,7 @@ use MailPoet\Subscription\Captcha;
|
|||||||
use MailPoet\Util\Helpers;
|
use MailPoet\Util\Helpers;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
use MailPoetVendor\Carbon\Carbon;
|
use MailPoetVendor\Carbon\Carbon;
|
||||||
|
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||||
|
|
||||||
class Populator {
|
class Populator {
|
||||||
public $prefix;
|
public $prefix;
|
||||||
@ -51,6 +53,13 @@ class Populator {
|
|||||||
private $flagsController;
|
private $flagsController;
|
||||||
/** @var FormFactory */
|
/** @var FormFactory */
|
||||||
private $formFactory;
|
private $formFactory;
|
||||||
|
/** @var FormsRepository */
|
||||||
|
private $formsRepository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var EntityManager
|
||||||
|
*/
|
||||||
|
private $entityManager;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
@ -58,6 +67,8 @@ class Populator {
|
|||||||
Captcha $captcha,
|
Captcha $captcha,
|
||||||
ReferralDetector $referralDetector,
|
ReferralDetector $referralDetector,
|
||||||
FeaturesController $flagsController,
|
FeaturesController $flagsController,
|
||||||
|
FormsRepository $formsRepository,
|
||||||
|
EntityManager $entityManager,
|
||||||
FormFactory $formFactory
|
FormFactory $formFactory
|
||||||
) {
|
) {
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
@ -147,6 +158,8 @@ class Populator {
|
|||||||
'FarmersMarket',
|
'FarmersMarket',
|
||||||
];
|
];
|
||||||
$this->flagsController = $flagsController;
|
$this->flagsController = $flagsController;
|
||||||
|
$this->formsRepository = $formsRepository;
|
||||||
|
$this->entityManager = $entityManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function up() {
|
public function up() {
|
||||||
@ -174,6 +187,7 @@ class Populator {
|
|||||||
$this->detectReferral();
|
$this->detectReferral();
|
||||||
$this->updateFormsSuccessMessages();
|
$this->updateFormsSuccessMessages();
|
||||||
$this->moveGoogleAnalyticsFromPremium();
|
$this->moveGoogleAnalyticsFromPremium();
|
||||||
|
$this->addPlacementStatusToForms();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function createMailPoetPage() {
|
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() {
|
private function moveGoogleAnalyticsFromPremium() {
|
||||||
global $wpdb;
|
global $wpdb;
|
||||||
if (version_compare($this->settings->get('db_version', '3.38.2'), '3.38.1', '>')) {
|
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\Config\Populator;
|
||||||
use MailPoet\Features\FeaturesController;
|
use MailPoet\Features\FeaturesController;
|
||||||
use MailPoet\Form\FormFactory;
|
use MailPoet\Form\FormFactory;
|
||||||
|
use MailPoet\Form\FormsRepository;
|
||||||
use MailPoet\Referrals\ReferralDetector;
|
use MailPoet\Referrals\ReferralDetector;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Settings\SettingsRepository;
|
use MailPoet\Settings\SettingsRepository;
|
||||||
use MailPoet\Subscription\Captcha;
|
use MailPoet\Subscription\Captcha;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||||
|
|
||||||
class SetupTest extends \MailPoetTest {
|
class SetupTest extends \MailPoetTest {
|
||||||
public function _before() {
|
public function _before() {
|
||||||
@ -38,6 +40,8 @@ class SetupTest extends \MailPoetTest {
|
|||||||
new Captcha(),
|
new Captcha(),
|
||||||
$referralDetector,
|
$referralDetector,
|
||||||
$featuresController,
|
$featuresController,
|
||||||
|
$this->diContainer->get(FormsRepository::class),
|
||||||
|
$this->diContainer->get(EntityManager::class),
|
||||||
$this->diContainer->get(FormFactory::class)
|
$this->diContainer->get(FormFactory::class)
|
||||||
);
|
);
|
||||||
$router = new Setup($wp, new Activator($settings, $populator));
|
$router = new Setup($wp, new Activator($settings, $populator));
|
||||||
|
@ -16,6 +16,7 @@ use MailPoet\DI\ContainerWrapper;
|
|||||||
use MailPoet\Entities\NewsletterEntity;
|
use MailPoet\Entities\NewsletterEntity;
|
||||||
use MailPoet\Features\FeaturesController;
|
use MailPoet\Features\FeaturesController;
|
||||||
use MailPoet\Form\FormFactory;
|
use MailPoet\Form\FormFactory;
|
||||||
|
use MailPoet\Form\FormsRepository;
|
||||||
use MailPoet\Logging\LoggerFactory;
|
use MailPoet\Logging\LoggerFactory;
|
||||||
use MailPoet\Mailer\MailerLog;
|
use MailPoet\Mailer\MailerLog;
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
@ -42,6 +43,7 @@ use MailPoet\Subscription\SubscriptionUrlFactory;
|
|||||||
use MailPoet\Tasks\Sending as SendingTask;
|
use MailPoet\Tasks\Sending as SendingTask;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
use MailPoetVendor\Carbon\Carbon;
|
use MailPoetVendor\Carbon\Carbon;
|
||||||
|
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||||
use MailPoetVendor\Idiorm\ORM;
|
use MailPoetVendor\Idiorm\ORM;
|
||||||
|
|
||||||
class SendingQueueTest extends \MailPoetTest {
|
class SendingQueueTest extends \MailPoetTest {
|
||||||
@ -79,6 +81,8 @@ class SendingQueueTest extends \MailPoetTest {
|
|||||||
new Captcha,
|
new Captcha,
|
||||||
$referralDetector,
|
$referralDetector,
|
||||||
$featuresController,
|
$featuresController,
|
||||||
|
$this->diContainer->get(FormsRepository::class),
|
||||||
|
$this->diContainer->get(EntityManager::class),
|
||||||
$this->diContainer->get(FormFactory::class)
|
$this->diContainer->get(FormFactory::class)
|
||||||
);
|
);
|
||||||
$populator->up();
|
$populator->up();
|
||||||
|
@ -8,6 +8,7 @@ use MailPoet\Config\Populator;
|
|||||||
use MailPoet\Cron\Workers\SendingQueue\Tasks\Mailer as MailerTask;
|
use MailPoet\Cron\Workers\SendingQueue\Tasks\Mailer as MailerTask;
|
||||||
use MailPoet\Features\FeaturesController;
|
use MailPoet\Features\FeaturesController;
|
||||||
use MailPoet\Form\FormFactory;
|
use MailPoet\Form\FormFactory;
|
||||||
|
use MailPoet\Form\FormsRepository;
|
||||||
use MailPoet\Mailer\Mailer;
|
use MailPoet\Mailer\Mailer;
|
||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber;
|
||||||
use MailPoet\Referrals\ReferralDetector;
|
use MailPoet\Referrals\ReferralDetector;
|
||||||
@ -15,6 +16,7 @@ use MailPoet\Settings\SettingsController;
|
|||||||
use MailPoet\Settings\SettingsRepository;
|
use MailPoet\Settings\SettingsRepository;
|
||||||
use MailPoet\Subscription\Captcha;
|
use MailPoet\Subscription\Captcha;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||||
use MailPoetVendor\Idiorm\ORM;
|
use MailPoetVendor\Idiorm\ORM;
|
||||||
|
|
||||||
class MailerTest extends \MailPoetTest {
|
class MailerTest extends \MailPoetTest {
|
||||||
@ -37,6 +39,8 @@ class MailerTest extends \MailPoetTest {
|
|||||||
new Captcha,
|
new Captcha,
|
||||||
$referralDetector,
|
$referralDetector,
|
||||||
$featuresController,
|
$featuresController,
|
||||||
|
$this->diContainer->get(FormsRepository::class),
|
||||||
|
$this->diContainer->get(EntityManager::class),
|
||||||
$this->diContainer->get(FormFactory::class)
|
$this->diContainer->get(FormFactory::class)
|
||||||
);
|
);
|
||||||
$populator->up();
|
$populator->up();
|
||||||
|
@ -6,6 +6,7 @@ use Codeception\Util\Stub;
|
|||||||
use MailPoet\Config\Populator;
|
use MailPoet\Config\Populator;
|
||||||
use MailPoet\Features\FeaturesController;
|
use MailPoet\Features\FeaturesController;
|
||||||
use MailPoet\Form\FormFactory;
|
use MailPoet\Form\FormFactory;
|
||||||
|
use MailPoet\Form\FormsRepository;
|
||||||
use MailPoet\Models\CustomField;
|
use MailPoet\Models\CustomField;
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Models\SendingQueue;
|
use MailPoet\Models\SendingQueue;
|
||||||
@ -20,6 +21,7 @@ use MailPoet\Subscribers\LinkTokens;
|
|||||||
use MailPoet\Subscription\Captcha;
|
use MailPoet\Subscription\Captcha;
|
||||||
use MailPoet\Subscription\SubscriptionUrlFactory;
|
use MailPoet\Subscription\SubscriptionUrlFactory;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||||
use MailPoetVendor\Idiorm\ORM;
|
use MailPoetVendor\Idiorm\ORM;
|
||||||
|
|
||||||
require_once(ABSPATH . 'wp-admin/includes/user.php');
|
require_once(ABSPATH . 'wp-admin/includes/user.php');
|
||||||
@ -49,6 +51,8 @@ class ShortcodesTest extends \MailPoetTest {
|
|||||||
new Captcha,
|
new Captcha,
|
||||||
$referralDetector,
|
$referralDetector,
|
||||||
$featuresController,
|
$featuresController,
|
||||||
|
$this->diContainer->get(FormsRepository::class),
|
||||||
|
$this->diContainer->get(EntityManager::class),
|
||||||
$this->diContainer->get(FormFactory::class)
|
$this->diContainer->get(FormFactory::class)
|
||||||
);
|
);
|
||||||
$populator->up();
|
$populator->up();
|
||||||
|
@ -6,6 +6,7 @@ use Codeception\Util\Stub;
|
|||||||
use MailPoet\Config\Populator;
|
use MailPoet\Config\Populator;
|
||||||
use MailPoet\Features\FeaturesController;
|
use MailPoet\Features\FeaturesController;
|
||||||
use MailPoet\Form\FormFactory;
|
use MailPoet\Form\FormFactory;
|
||||||
|
use MailPoet\Form\FormsRepository;
|
||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber;
|
||||||
use MailPoet\Referrals\ReferralDetector;
|
use MailPoet\Referrals\ReferralDetector;
|
||||||
use MailPoet\Router\Router;
|
use MailPoet\Router\Router;
|
||||||
@ -15,6 +16,7 @@ use MailPoet\Subscribers\LinkTokens;
|
|||||||
use MailPoet\Subscription\Captcha;
|
use MailPoet\Subscription\Captcha;
|
||||||
use MailPoet\Subscription\SubscriptionUrlFactory;
|
use MailPoet\Subscription\SubscriptionUrlFactory;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||||
|
|
||||||
class UrlTest extends \MailPoetTest {
|
class UrlTest extends \MailPoetTest {
|
||||||
|
|
||||||
@ -35,6 +37,8 @@ class UrlTest extends \MailPoetTest {
|
|||||||
new Captcha,
|
new Captcha,
|
||||||
$referralDetector,
|
$referralDetector,
|
||||||
$featuresController,
|
$featuresController,
|
||||||
|
$this->diContainer->get(FormsRepository::class),
|
||||||
|
$this->diContainer->get(EntityManager::class),
|
||||||
$this->diContainer->get(FormFactory::class)
|
$this->diContainer->get(FormFactory::class)
|
||||||
);
|
);
|
||||||
$populator->up();
|
$populator->up();
|
||||||
|
Reference in New Issue
Block a user