Move WooCommerce detection to a helper [MAILPOET-1723]
This commit is contained in:
@ -9,6 +9,7 @@ use MailPoet\Models\Subscriber;
|
|||||||
use MailPoet\Settings\Pages;
|
use MailPoet\Settings\Pages;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Subscribers\NewSubscriberNotificationMailer;
|
use MailPoet\Subscribers\NewSubscriberNotificationMailer;
|
||||||
|
use MailPoet\WooCommerce\Helper as WooCommerceHelper;
|
||||||
|
|
||||||
class Reporter {
|
class Reporter {
|
||||||
/** @var SettingsController */
|
/** @var SettingsController */
|
||||||
@ -26,7 +27,8 @@ class Reporter {
|
|||||||
$checker = new ServicesChecker();
|
$checker = new ServicesChecker();
|
||||||
$bounceAddress = $this->settings->get('bounce.address');
|
$bounceAddress = $this->settings->get('bounce.address');
|
||||||
$segments = Segment::getAnalytics();
|
$segments = Segment::getAnalytics();
|
||||||
$has_wc = class_exists('WooCommerce');
|
$woocommerce_helper = new WooCommerceHelper;
|
||||||
|
$has_wc = $woocommerce_helper->isWooCommerceActive();
|
||||||
$wc_customers_count = 0;
|
$wc_customers_count = 0;
|
||||||
if($has_wc) {
|
if($has_wc) {
|
||||||
$wc_customers_count = (int)Newsletter::rawQuery(
|
$wc_customers_count = (int)Newsletter::rawQuery(
|
||||||
|
@ -25,6 +25,7 @@ use MailPoet\Tasks\Sending;
|
|||||||
use MailPoet\Tasks\State;
|
use MailPoet\Tasks\State;
|
||||||
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
||||||
use MailPoet\Util\License\License;
|
use MailPoet\Util\License\License;
|
||||||
|
use MailPoet\WooCommerce\Helper as WooCommerceHelper;
|
||||||
use MailPoet\WP\DateTime;
|
use MailPoet\WP\DateTime;
|
||||||
use MailPoet\WP\Notice as WPNotice;
|
use MailPoet\WP\Notice as WPNotice;
|
||||||
use MailPoet\WP\Readme;
|
use MailPoet\WP\Readme;
|
||||||
@ -36,6 +37,9 @@ class Menu {
|
|||||||
const MAIN_PAGE_SLUG = 'mailpoet-newsletters';
|
const MAIN_PAGE_SLUG = 'mailpoet-newsletters';
|
||||||
const LAST_ANNOUNCEMENT_DATE = '2019-01-28 10:00:00';
|
const LAST_ANNOUNCEMENT_DATE = '2019-01-28 10:00:00';
|
||||||
|
|
||||||
|
/** @var WooCommerceHelper */
|
||||||
|
private $woocommerce_helper;
|
||||||
|
|
||||||
/** @var Renderer */
|
/** @var Renderer */
|
||||||
public $renderer;
|
public $renderer;
|
||||||
public $mp_api_key_valid;
|
public $mp_api_key_valid;
|
||||||
@ -54,12 +58,14 @@ class Menu {
|
|||||||
Renderer $renderer,
|
Renderer $renderer,
|
||||||
AccessControl $access_control,
|
AccessControl $access_control,
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
WPFunctions $wp
|
WPFunctions $wp,
|
||||||
|
WooCommerceHelper $woocommerce_helper
|
||||||
) {
|
) {
|
||||||
$this->renderer = $renderer;
|
$this->renderer = $renderer;
|
||||||
$this->access_control = $access_control;
|
$this->access_control = $access_control;
|
||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
|
$this->woocommerce_helper = $woocommerce_helper;
|
||||||
}
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
@ -370,7 +376,7 @@ class Menu {
|
|||||||
if((bool)(defined('DOING_AJAX') && DOING_AJAX)) return;
|
if((bool)(defined('DOING_AJAX') && DOING_AJAX)) return;
|
||||||
$data = [
|
$data = [
|
||||||
'is_mp2_migration_complete' => (bool)$this->settings->get('mailpoet_migration_complete'),
|
'is_mp2_migration_complete' => (bool)$this->settings->get('mailpoet_migration_complete'),
|
||||||
'is_woocommerce_active' => class_exists('WooCommerce'),
|
'is_woocommerce_active' => $this->woocommerce_helper->isWooCommerceActive(),
|
||||||
'finish_wizard_url' => admin_url('admin.php?page=' . self::MAIN_PAGE_SLUG),
|
'finish_wizard_url' => admin_url('admin.php?page=' . self::MAIN_PAGE_SLUG),
|
||||||
'sender' => $this->settings->get('sender'),
|
'sender' => $this->settings->get('sender'),
|
||||||
'reply_to' => $this->settings->get('reply_to'),
|
'reply_to' => $this->settings->get('reply_to'),
|
||||||
@ -617,7 +623,7 @@ class Menu {
|
|||||||
|
|
||||||
$data['tracking_enabled'] = $this->settings->get('tracking.enabled');
|
$data['tracking_enabled'] = $this->settings->get('tracking.enabled');
|
||||||
$data['premium_plugin_active'] = License::getLicense();
|
$data['premium_plugin_active'] = License::getLicense();
|
||||||
$data['is_woocommerce_active'] = class_exists('WooCommerce');
|
$data['is_woocommerce_active'] = $this->woocommerce_helper->isWooCommerceActive();
|
||||||
|
|
||||||
$user_id = $data['current_wp_user']['ID'];
|
$user_id = $data['current_wp_user']['ID'];
|
||||||
$data['feature_announcement_has_news'] = empty($data['settings']['last_announcement_seen'][$user_id])
|
$data['feature_announcement_has_news'] = empty($data['settings']['last_announcement_seen'][$user_id])
|
||||||
|
@ -86,6 +86,8 @@ class ContainerConfigurator implements IContainerConfigurator {
|
|||||||
$container->autowire(\MailPoet\Subscription\Form::class)->setPublic(true);
|
$container->autowire(\MailPoet\Subscription\Form::class)->setPublic(true);
|
||||||
// Newsletter
|
// Newsletter
|
||||||
$container->autowire(\MailPoet\Newsletter\AutomatedLatestContent::class)->setPublic(true);
|
$container->autowire(\MailPoet\Newsletter\AutomatedLatestContent::class)->setPublic(true);
|
||||||
|
// WooCommerce
|
||||||
|
$container->autowire(\MailPoet\WooCommerce\Helper::class)->setPublic(true);
|
||||||
// WordPress
|
// WordPress
|
||||||
$container->autowire(\MailPoet\WP\Functions::class)->setPublic(true);
|
$container->autowire(\MailPoet\WP\Functions::class)->setPublic(true);
|
||||||
return $container;
|
return $container;
|
||||||
|
8
lib/WooCommerce/Helper.php
Normal file
8
lib/WooCommerce/Helper.php
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
namespace MailPoet\WooCommerce;
|
||||||
|
|
||||||
|
class Helper {
|
||||||
|
function isWooCommerceActive() {
|
||||||
|
return class_exists('WooCommerce');
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user