Remove feature flag for woocommerce revenues
[MAILPOET-1990]
This commit is contained in:
@ -8,7 +8,6 @@ use MailPoet\API\JSON\Error as APIError;
|
|||||||
use MailPoet\Config\AccessControl;
|
use MailPoet\Config\AccessControl;
|
||||||
use MailPoet\Cron\CronHelper;
|
use MailPoet\Cron\CronHelper;
|
||||||
use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterQueueTask;
|
use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterQueueTask;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Listing;
|
use MailPoet\Listing;
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Models\NewsletterOption;
|
use MailPoet\Models\NewsletterOption;
|
||||||
@ -45,9 +44,6 @@ class Newsletters extends APIEndpoint {
|
|||||||
/** @var SettingsController */
|
/** @var SettingsController */
|
||||||
private $settings;
|
private $settings;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
/** @var AuthorizedEmailsController */
|
/** @var AuthorizedEmailsController */
|
||||||
private $authorized_emails_controller;
|
private $authorized_emails_controller;
|
||||||
|
|
||||||
@ -61,7 +57,6 @@ class Newsletters extends APIEndpoint {
|
|||||||
WPFunctions $wp,
|
WPFunctions $wp,
|
||||||
WCHelper $woocommerce_helper,
|
WCHelper $woocommerce_helper,
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
FeaturesController $features_controller,
|
|
||||||
AuthorizedEmailsController $authorized_emails_controller
|
AuthorizedEmailsController $authorized_emails_controller
|
||||||
) {
|
) {
|
||||||
$this->bulk_action = $bulk_action;
|
$this->bulk_action = $bulk_action;
|
||||||
@ -69,7 +64,6 @@ class Newsletters extends APIEndpoint {
|
|||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->woocommerce_helper = $woocommerce_helper;
|
$this->woocommerce_helper = $woocommerce_helper;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
$this->authorized_emails_controller = $authorized_emails_controller;
|
$this->authorized_emails_controller = $authorized_emails_controller;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,7 +100,7 @@ class Newsletters extends APIEndpoint {
|
|||||||
->withOptions()
|
->withOptions()
|
||||||
->withSendingQueue()
|
->withSendingQueue()
|
||||||
->withTotalSent()
|
->withTotalSent()
|
||||||
->withStatistics($this->woocommerce_helper, $this->features_controller);
|
->withStatistics($this->woocommerce_helper);
|
||||||
|
|
||||||
$preview_url = NewsletterUrl::getViewInBrowserUrl(
|
$preview_url = NewsletterUrl::getViewInBrowserUrl(
|
||||||
NewsletterUrl::TYPE_LISTING_EDITOR,
|
NewsletterUrl::TYPE_LISTING_EDITOR,
|
||||||
@ -483,13 +477,13 @@ class Newsletters extends APIEndpoint {
|
|||||||
$newsletter
|
$newsletter
|
||||||
->withSegments(true)
|
->withSegments(true)
|
||||||
->withSendingQueue()
|
->withSendingQueue()
|
||||||
->withStatistics($this->woocommerce_helper, $this->features_controller);
|
->withStatistics($this->woocommerce_helper);
|
||||||
} else if ($newsletter->type === Newsletter::TYPE_WELCOME || $newsletter->type === Newsletter::TYPE_AUTOMATIC) {
|
} else if ($newsletter->type === Newsletter::TYPE_WELCOME || $newsletter->type === Newsletter::TYPE_AUTOMATIC) {
|
||||||
$newsletter
|
$newsletter
|
||||||
->withOptions()
|
->withOptions()
|
||||||
->withTotalSent()
|
->withTotalSent()
|
||||||
->withScheduledToBeSent()
|
->withScheduledToBeSent()
|
||||||
->withStatistics($this->woocommerce_helper, $this->features_controller);
|
->withStatistics($this->woocommerce_helper);
|
||||||
} else if ($newsletter->type === Newsletter::TYPE_NOTIFICATION) {
|
} else if ($newsletter->type === Newsletter::TYPE_NOTIFICATION) {
|
||||||
$newsletter
|
$newsletter
|
||||||
->withOptions()
|
->withOptions()
|
||||||
@ -499,7 +493,7 @@ class Newsletters extends APIEndpoint {
|
|||||||
$newsletter
|
$newsletter
|
||||||
->withSegments(true)
|
->withSegments(true)
|
||||||
->withSendingQueue()
|
->withSendingQueue()
|
||||||
->withStatistics($this->woocommerce_helper, $this->features_controller);
|
->withStatistics($this->woocommerce_helper);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($newsletter->status === Newsletter::STATUS_SENT ||
|
if ($newsletter->status === Newsletter::STATUS_SENT ||
|
||||||
|
@ -4,7 +4,6 @@ namespace MailPoet\AdminPages\Pages;
|
|||||||
|
|
||||||
use MailPoet\AdminPages\PageRenderer;
|
use MailPoet\AdminPages\PageRenderer;
|
||||||
use MailPoet\Config\Menu;
|
use MailPoet\Config\Menu;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
if (!defined('ABSPATH')) exit;
|
if (!defined('ABSPATH')) exit;
|
||||||
@ -16,23 +15,15 @@ class RevenueTrackingPermission {
|
|||||||
/** @var WPFunctions */
|
/** @var WPFunctions */
|
||||||
private $wp;
|
private $wp;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
function __construct(
|
function __construct(
|
||||||
PageRenderer $page_renderer,
|
PageRenderer $page_renderer,
|
||||||
WPFunctions $wp,
|
WPFunctions $wp
|
||||||
FeaturesController $features_controller
|
|
||||||
) {
|
) {
|
||||||
$this->page_renderer = $page_renderer;
|
$this->page_renderer = $page_renderer;
|
||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function render() {
|
function render() {
|
||||||
if (!$this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return;
|
if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return;
|
||||||
$data = [
|
$data = [
|
||||||
'finish_wizard_url' => $this->wp->adminUrl('admin.php?page=' . Menu::MAIN_PAGE_SLUG),
|
'finish_wizard_url' => $this->wp->adminUrl('admin.php?page=' . Menu::MAIN_PAGE_SLUG),
|
||||||
|
@ -6,7 +6,6 @@ use MailPoet\AdminPages\PageRenderer;
|
|||||||
use MailPoet\Config\Installer;
|
use MailPoet\Config\Installer;
|
||||||
use MailPoet\Config\ServicesChecker;
|
use MailPoet\Config\ServicesChecker;
|
||||||
use MailPoet\Cron\CronTrigger;
|
use MailPoet\Cron\CronTrigger;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Models\Segment;
|
use MailPoet\Models\Segment;
|
||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber;
|
||||||
use MailPoet\Services\Bridge;
|
use MailPoet\Services\Bridge;
|
||||||
@ -40,9 +39,6 @@ class Settings {
|
|||||||
/** @var Captcha */
|
/** @var Captcha */
|
||||||
private $captcha;
|
private $captcha;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
/** @var Installation */
|
/** @var Installation */
|
||||||
private $installation;
|
private $installation;
|
||||||
|
|
||||||
@ -52,7 +48,6 @@ class Settings {
|
|||||||
WooCommerceHelper $woocommerce_helper,
|
WooCommerceHelper $woocommerce_helper,
|
||||||
WPFunctions $wp,
|
WPFunctions $wp,
|
||||||
ServicesChecker $services_checker,
|
ServicesChecker $services_checker,
|
||||||
FeaturesController $features_controller,
|
|
||||||
Installation $installation,
|
Installation $installation,
|
||||||
Captcha $captcha
|
Captcha $captcha
|
||||||
) {
|
) {
|
||||||
@ -61,7 +56,6 @@ class Settings {
|
|||||||
$this->woocommerce_helper = $woocommerce_helper;
|
$this->woocommerce_helper = $woocommerce_helper;
|
||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->services_checker = $services_checker;
|
$this->services_checker = $services_checker;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
$this->installation = $installation;
|
$this->installation = $installation;
|
||||||
$this->captcha = $captcha;
|
$this->captcha = $captcha;
|
||||||
}
|
}
|
||||||
@ -89,7 +83,6 @@ class Settings {
|
|||||||
'current_user' => $this->wp->wpGetCurrentUser(),
|
'current_user' => $this->wp->wpGetCurrentUser(),
|
||||||
'linux_cron_path' => dirname(dirname(__DIR__)),
|
'linux_cron_path' => dirname(dirname(__DIR__)),
|
||||||
'is_woocommerce_active' => $this->woocommerce_helper->isWooCommerceActive(),
|
'is_woocommerce_active' => $this->woocommerce_helper->isWooCommerceActive(),
|
||||||
'display_revenues' => $this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES),
|
|
||||||
'ABSPATH' => ABSPATH,
|
'ABSPATH' => ABSPATH,
|
||||||
'hosts' => [
|
'hosts' => [
|
||||||
'web' => Hosts::getWebHosts(),
|
'web' => Hosts::getWebHosts(),
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
namespace MailPoet\Config;
|
namespace MailPoet\Config;
|
||||||
|
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Util\Url;
|
use MailPoet\Util\Url;
|
||||||
use MailPoet\WooCommerce\Helper;
|
use MailPoet\WooCommerce\Helper;
|
||||||
@ -21,21 +20,16 @@ class Changelog {
|
|||||||
/** @var Url */
|
/** @var Url */
|
||||||
private $url_helper;
|
private $url_helper;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
function __construct(
|
function __construct(
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
WPFunctions $wp,
|
WPFunctions $wp,
|
||||||
Helper $wooCommerceHelper,
|
Helper $wooCommerceHelper,
|
||||||
Url $url_helper,
|
Url $url_helper
|
||||||
FeaturesController $features_controller
|
|
||||||
) {
|
) {
|
||||||
$this->wooCommerceHelper = $wooCommerceHelper;
|
$this->wooCommerceHelper = $wooCommerceHelper;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->url_helper = $url_helper;
|
$this->url_helper = $url_helper;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
@ -69,9 +63,7 @@ class Changelog {
|
|||||||
$this->checkWelcomeWizard();
|
$this->checkWelcomeWizard();
|
||||||
}
|
}
|
||||||
$this->checkWooCommerceListImportPage();
|
$this->checkWooCommerceListImportPage();
|
||||||
if ($this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) {
|
$this->checkRevenueTrackingPermissionPage();
|
||||||
$this->checkRevenueTrackingPermissionPage();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function checkMp2Migration($version) {
|
private function checkMp2Migration($version) {
|
||||||
|
@ -5,7 +5,6 @@ namespace MailPoet\Cron\Workers\StatsNotifications;
|
|||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use MailPoet\Config\Renderer;
|
use MailPoet\Config\Renderer;
|
||||||
use MailPoet\Cron\CronHelper;
|
use MailPoet\Cron\CronHelper;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Mailer\Mailer;
|
use MailPoet\Mailer\Mailer;
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Models\NewsletterLink;
|
use MailPoet\Models\NewsletterLink;
|
||||||
@ -33,9 +32,6 @@ class Worker {
|
|||||||
/** @var SettingsController */
|
/** @var SettingsController */
|
||||||
private $settings;
|
private $settings;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
/** @var WCHelper */
|
/** @var WCHelper */
|
||||||
private $woocommerce_helper;
|
private $woocommerce_helper;
|
||||||
|
|
||||||
@ -43,7 +39,6 @@ class Worker {
|
|||||||
Mailer $mailer,
|
Mailer $mailer,
|
||||||
Renderer $renderer,
|
Renderer $renderer,
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
FeaturesController $features_controller,
|
|
||||||
WCHelper $woocommerce_helper,
|
WCHelper $woocommerce_helper,
|
||||||
$timer = false
|
$timer = false
|
||||||
) {
|
) {
|
||||||
@ -51,7 +46,6 @@ class Worker {
|
|||||||
$this->renderer = $renderer;
|
$this->renderer = $renderer;
|
||||||
$this->mailer = $mailer;
|
$this->mailer = $mailer;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
$this->woocommerce_helper = $woocommerce_helper;
|
$this->woocommerce_helper = $woocommerce_helper;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,7 +103,7 @@ class Worker {
|
|||||||
return $newsletter
|
return $newsletter
|
||||||
->withSendingQueue()
|
->withSendingQueue()
|
||||||
->withTotalSent()
|
->withTotalSent()
|
||||||
->withStatistics($this->woocommerce_helper, $this->features_controller);
|
->withStatistics($this->woocommerce_helper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
namespace MailPoet\Cron\Workers;
|
namespace MailPoet\Cron\Workers;
|
||||||
|
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Models\ScheduledTask;
|
use MailPoet\Models\ScheduledTask;
|
||||||
use MailPoet\Models\StatisticsClicks;
|
use MailPoet\Models\StatisticsClicks;
|
||||||
use MailPoet\Statistics\Track\WooCommercePurchases;
|
use MailPoet\Statistics\Track\WooCommercePurchases;
|
||||||
@ -21,25 +20,17 @@ class WooCommerceOrders extends SimpleWorker {
|
|||||||
/** @var WooCommercePurchases */
|
/** @var WooCommercePurchases */
|
||||||
private $woocommerce_purchases;
|
private $woocommerce_purchases;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
function __construct(
|
function __construct(
|
||||||
WCHelper $woocommerce_helper,
|
WCHelper $woocommerce_helper,
|
||||||
WooCommercePurchases $woocommerce_purchases,
|
WooCommercePurchases $woocommerce_purchases,
|
||||||
FeaturesController $features_controller,
|
|
||||||
$timer = false
|
$timer = false
|
||||||
) {
|
) {
|
||||||
$this->woocommerce_helper = $woocommerce_helper;
|
$this->woocommerce_helper = $woocommerce_helper;
|
||||||
$this->woocommerce_purchases = $woocommerce_purchases;
|
$this->woocommerce_purchases = $woocommerce_purchases;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
parent::__construct($timer);
|
parent::__construct($timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkProcessingRequirements() {
|
function checkProcessingRequirements() {
|
||||||
if (!$this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return $this->woocommerce_helper->isWooCommerceActive() && empty(self::getCompletedTasks()); // run only once
|
return $this->woocommerce_helper->isWooCommerceActive() && empty(self::getCompletedTasks()); // run only once
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,6 @@ use MailPoet\Cron\Workers\KeyCheck\PremiumKeyCheck as PremiumKeyCheckWorker;
|
|||||||
use MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck as SendingServiceKeyCheckWorker;
|
use MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck as SendingServiceKeyCheckWorker;
|
||||||
use MailPoet\Cron\Workers\WooCommerceSync as WooCommerceSyncWorker;
|
use MailPoet\Cron\Workers\WooCommerceSync as WooCommerceSyncWorker;
|
||||||
use MailPoet\Cron\Workers\SendingQueue\SendingErrorHandler;
|
use MailPoet\Cron\Workers\SendingQueue\SendingErrorHandler;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Segments\SubscribersFinder;
|
use MailPoet\Segments\SubscribersFinder;
|
||||||
use MailPoet\Segments\WooCommerce as WooCommerceSegment;
|
use MailPoet\Segments\WooCommerce as WooCommerceSegment;
|
||||||
use MailPoet\Services\AuthorizedEmailsController;
|
use MailPoet\Services\AuthorizedEmailsController;
|
||||||
@ -39,9 +38,6 @@ class WorkersFactory {
|
|||||||
/** @var SettingsController */
|
/** @var SettingsController */
|
||||||
private $settings;
|
private $settings;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
/** @var WooCommerceSegment */
|
/** @var WooCommerceSegment */
|
||||||
private $woocommerce_segment;
|
private $woocommerce_segment;
|
||||||
|
|
||||||
@ -71,7 +67,6 @@ class WorkersFactory {
|
|||||||
Mailer $mailer,
|
Mailer $mailer,
|
||||||
Renderer $renderer,
|
Renderer $renderer,
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
FeaturesController $features_controller,
|
|
||||||
WooCommerceSegment $woocommerce_segment,
|
WooCommerceSegment $woocommerce_segment,
|
||||||
InactiveSubscribersController $inactive_subscribers_controller,
|
InactiveSubscribersController $inactive_subscribers_controller,
|
||||||
WooCommerceHelper $woocommerce_helper,
|
WooCommerceHelper $woocommerce_helper,
|
||||||
@ -84,7 +79,6 @@ class WorkersFactory {
|
|||||||
$this->mailer = $mailer;
|
$this->mailer = $mailer;
|
||||||
$this->renderer = $renderer;
|
$this->renderer = $renderer;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
$this->woocommerce_segment = $woocommerce_segment;
|
$this->woocommerce_segment = $woocommerce_segment;
|
||||||
$this->inactive_subscribers_controller = $inactive_subscribers_controller;
|
$this->inactive_subscribers_controller = $inactive_subscribers_controller;
|
||||||
$this->woocommerce_helper = $woocommerce_helper;
|
$this->woocommerce_helper = $woocommerce_helper;
|
||||||
@ -105,7 +99,7 @@ class WorkersFactory {
|
|||||||
|
|
||||||
/** @return StatsNotificationsWorker */
|
/** @return StatsNotificationsWorker */
|
||||||
function createStatsNotificationsWorker($timer) {
|
function createStatsNotificationsWorker($timer) {
|
||||||
return new StatsNotificationsWorker($this->mailer, $this->renderer, $this->settings, $this->features_controller, $this->woocommerce_helper, $timer);
|
return new StatsNotificationsWorker($this->mailer, $this->renderer, $this->settings, $this->woocommerce_helper, $timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return StatsNotificationsWorkerForAutomatedEmails */
|
/** @return StatsNotificationsWorkerForAutomatedEmails */
|
||||||
@ -160,6 +154,6 @@ class WorkersFactory {
|
|||||||
|
|
||||||
/** @return WooCommerceOrders */
|
/** @return WooCommerceOrders */
|
||||||
function createWooCommerceOrdersWorker($timer) {
|
function createWooCommerceOrdersWorker($timer) {
|
||||||
return new WooCommerceOrders($this->woocommerce_helper, $this->woocommerce_purchases, $this->features_controller, $timer);
|
return new WooCommerceOrders($this->woocommerce_helper, $this->woocommerce_purchases, $timer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,12 +8,10 @@ class FeaturesController {
|
|||||||
|
|
||||||
// Define features below in the following form:
|
// Define features below in the following form:
|
||||||
// const FEATURE_NAME_OF_FEATURE = 'name-of-feature';
|
// const FEATURE_NAME_OF_FEATURE = 'name-of-feature';
|
||||||
const FEATURE_DISPLAY_WOOCOMMERCE_REVENUES = 'display-woocommerce-revenues'; // may also have 'display_revenues' setting
|
|
||||||
|
|
||||||
// Define feature defaults in the array below in the following form:
|
// Define feature defaults in the array below in the following form:
|
||||||
// self::FEATURE_NAME_OF_FEATURE => true,
|
// self::FEATURE_NAME_OF_FEATURE => true,
|
||||||
private $defaults = [
|
private $defaults = [
|
||||||
self::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES => false,
|
|
||||||
];
|
];
|
||||||
|
|
||||||
/** @var array */
|
/** @var array */
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace MailPoet\Models;
|
namespace MailPoet\Models;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Newsletter\Renderer\Renderer;
|
use MailPoet\Newsletter\Renderer\Renderer;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Tasks\Sending as SendingTask;
|
use MailPoet\Tasks\Sending as SendingTask;
|
||||||
@ -560,8 +559,8 @@ class Newsletter extends Model {
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
function withStatistics(WCHelper $woocommerce_helper, FeaturesController $features_controller) {
|
function withStatistics(WCHelper $woocommerce_helper) {
|
||||||
$statistics = $this->getStatistics($woocommerce_helper, $features_controller);
|
$statistics = $this->getStatistics($woocommerce_helper);
|
||||||
$this->statistics = $statistics;
|
$this->statistics = $statistics;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
@ -571,7 +570,7 @@ class Newsletter extends Model {
|
|||||||
return $renderer->render();
|
return $renderer->render();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getStatistics(WCHelper $woocommerce_helper, FeaturesController $features_controller) {
|
function getStatistics(WCHelper $woocommerce_helper) {
|
||||||
if (($this->type !== self::TYPE_WELCOME) && ($this->queue === false)) {
|
if (($this->type !== self::TYPE_WELCOME) && ($this->queue === false)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -600,10 +599,7 @@ class Newsletter extends Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// WooCommerce revenues
|
// WooCommerce revenues
|
||||||
if (
|
if ($woocommerce_helper->isWooCommerceActive()) {
|
||||||
$features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)
|
|
||||||
&& $woocommerce_helper->isWooCommerceActive()
|
|
||||||
) {
|
|
||||||
$currency = $woocommerce_helper->getWoocommerceCurrency();
|
$currency = $woocommerce_helper->getWoocommerceCurrency();
|
||||||
$row = StatisticsWooCommercePurchases::selectExpr('SUM(order_price_total) AS total')
|
$row = StatisticsWooCommercePurchases::selectExpr('SUM(order_price_total) AS total')
|
||||||
->selectExpr('count(*)', 'count')
|
->selectExpr('count(*)', 'count')
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
namespace MailPoet\Test\Acceptance;
|
namespace MailPoet\Test\Acceptance;
|
||||||
|
|
||||||
|
|
||||||
class FreePlanAnnouncementCest {
|
class FreePlanAnnouncementCest {
|
||||||
const NOTICE_SELECTOR = '[data-automation-id="free-plan-announcement"]';
|
const NOTICE_SELECTOR = '[data-automation-id="free-plan-announcement"]';
|
||||||
|
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
namespace MailPoet\Test\Acceptance;
|
namespace MailPoet\Test\Acceptance;
|
||||||
|
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Test\DataFactories\Features;
|
|
||||||
use MailPoet\Test\DataFactories\Newsletter;
|
use MailPoet\Test\DataFactories\Newsletter;
|
||||||
use MailPoet\Test\DataFactories\NewsletterLink;
|
use MailPoet\Test\DataFactories\NewsletterLink;
|
||||||
use MailPoet\Test\DataFactories\Settings;
|
use MailPoet\Test\DataFactories\Settings;
|
||||||
@ -17,17 +15,12 @@ class NewsletterStatisticsCest {
|
|||||||
/** @var Settings */
|
/** @var Settings */
|
||||||
private $settings;
|
private $settings;
|
||||||
|
|
||||||
/** @var Features */
|
protected function _inject(Settings $settings) {
|
||||||
private $features;
|
|
||||||
|
|
||||||
protected function _inject(Settings $settings, Features $features) {
|
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->features = $features;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function _before(\AcceptanceTester $I) {
|
function _before(\AcceptanceTester $I) {
|
||||||
$I->activateWooCommerce();
|
$I->activateWooCommerce();
|
||||||
$this->features->withFeatureEnabled(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES);
|
|
||||||
$this->settings->withWooCommerceListImportPageDisplayed(true);
|
$this->settings->withWooCommerceListImportPageDisplayed(true);
|
||||||
$this->settings->withCookieRevenueTrackingDisabled();
|
$this->settings->withCookieRevenueTrackingDisabled();
|
||||||
}
|
}
|
||||||
|
@ -3,12 +3,9 @@
|
|||||||
namespace MailPoet\Test\Acceptance;
|
namespace MailPoet\Test\Acceptance;
|
||||||
|
|
||||||
use Codeception\Util\Locator;
|
use Codeception\Util\Locator;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Test\DataFactories\Features;
|
|
||||||
use MailPoet\Test\DataFactories\Newsletter;
|
use MailPoet\Test\DataFactories\Newsletter;
|
||||||
use MailPoet\Test\DataFactories\Settings;
|
use MailPoet\Test\DataFactories\Settings;
|
||||||
|
|
||||||
require_once __DIR__ . '/../DataFactories/Features.php';
|
|
||||||
require_once __DIR__ . '/../DataFactories/Newsletter.php';
|
require_once __DIR__ . '/../DataFactories/Newsletter.php';
|
||||||
require_once __DIR__ . '/../DataFactories/Settings.php';
|
require_once __DIR__ . '/../DataFactories/Settings.php';
|
||||||
|
|
||||||
@ -17,17 +14,12 @@ class RevenueTrackingCookieCest {
|
|||||||
/** @var Settings */
|
/** @var Settings */
|
||||||
private $settings;
|
private $settings;
|
||||||
|
|
||||||
/** @var Features */
|
protected function _inject(Settings $settings) {
|
||||||
private $features;
|
|
||||||
|
|
||||||
protected function _inject(Settings $settings, Features $features) {
|
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->features = $features;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function _before(\AcceptanceTester $I) {
|
function _before(\AcceptanceTester $I) {
|
||||||
$I->activateWooCommerce();
|
$I->activateWooCommerce();
|
||||||
$this->features->withFeatureEnabled(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function _after(\AcceptanceTester $I) {
|
function _after(\AcceptanceTester $I) {
|
||||||
|
@ -8,7 +8,6 @@ use Codeception\Util\Fixtures;
|
|||||||
use Codeception\Util\Stub;
|
use Codeception\Util\Stub;
|
||||||
use Helper\WordPressHooks as WPHooksHelper;
|
use Helper\WordPressHooks as WPHooksHelper;
|
||||||
use MailPoet\API\JSON\Response as APIResponse;
|
use MailPoet\API\JSON\Response as APIResponse;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Listing\BulkActionController;
|
use MailPoet\Listing\BulkActionController;
|
||||||
use MailPoet\Listing\Handler;
|
use MailPoet\Listing\Handler;
|
||||||
use MailPoet\API\JSON\v1\Newsletters;
|
use MailPoet\API\JSON\v1\Newsletters;
|
||||||
@ -127,7 +126,6 @@ class NewslettersTest extends \MailPoetTest {
|
|||||||
$wp,
|
$wp,
|
||||||
$this->makeEmpty(WCHelper::class),
|
$this->makeEmpty(WCHelper::class),
|
||||||
new SettingsController(),
|
new SettingsController(),
|
||||||
new FeaturesController(),
|
|
||||||
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()])
|
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()])
|
||||||
);
|
);
|
||||||
$response = $this->endpoint->get(['id' => $this->newsletter->id]);
|
$response = $this->endpoint->get(['id' => $this->newsletter->id]);
|
||||||
@ -168,7 +166,6 @@ class NewslettersTest extends \MailPoetTest {
|
|||||||
$wp,
|
$wp,
|
||||||
$this->makeEmpty(WCHelper::class),
|
$this->makeEmpty(WCHelper::class),
|
||||||
new SettingsController(),
|
new SettingsController(),
|
||||||
new FeaturesController(),
|
|
||||||
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::once()])
|
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::once()])
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -536,7 +533,6 @@ class NewslettersTest extends \MailPoetTest {
|
|||||||
$wp,
|
$wp,
|
||||||
$this->makeEmpty(WCHelper::class),
|
$this->makeEmpty(WCHelper::class),
|
||||||
new SettingsController(),
|
new SettingsController(),
|
||||||
new FeaturesController(),
|
|
||||||
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()])
|
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()])
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
namespace MailPoet\Cron\Workers\StatsNotifications;
|
namespace MailPoet\Cron\Workers\StatsNotifications;
|
||||||
|
|
||||||
use MailPoet\Config\Renderer;
|
use MailPoet\Config\Renderer;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Mailer\Mailer;
|
use MailPoet\Mailer\Mailer;
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Models\NewsletterLink;
|
use MailPoet\Models\NewsletterLink;
|
||||||
@ -46,7 +45,7 @@ class WorkerTest extends \MailPoetTest {
|
|||||||
$this->mailer = $this->createMock(Mailer::class);
|
$this->mailer = $this->createMock(Mailer::class);
|
||||||
$this->renderer = $this->createMock(Renderer::class);
|
$this->renderer = $this->createMock(Renderer::class);
|
||||||
$this->settings = new SettingsController();
|
$this->settings = new SettingsController();
|
||||||
$this->stats_notifications = new Worker($this->mailer, $this->renderer, $this->settings, new FeaturesController(), $this->makeEmpty(WCHelper::class));
|
$this->stats_notifications = new Worker($this->mailer, $this->renderer, $this->settings, $this->makeEmpty(WCHelper::class));
|
||||||
$this->settings->set(Worker::SETTINGS_KEY, [
|
$this->settings->set(Worker::SETTINGS_KEY, [
|
||||||
'enabled' => true,
|
'enabled' => true,
|
||||||
'address' => 'email@example.com',
|
'address' => 'email@example.com',
|
||||||
|
@ -4,8 +4,6 @@ namespace MailPoet\Test\Cron\Workers;
|
|||||||
|
|
||||||
use DateTime;
|
use DateTime;
|
||||||
use MailPoet\Cron\Workers\WooCommerceOrders;
|
use MailPoet\Cron\Workers\WooCommerceOrders;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Models\FeatureFlag;
|
|
||||||
use MailPoet\Models\ScheduledTask;
|
use MailPoet\Models\ScheduledTask;
|
||||||
use MailPoet\Models\StatisticsClicks;
|
use MailPoet\Models\StatisticsClicks;
|
||||||
use MailPoet\Statistics\Track\WooCommercePurchases;
|
use MailPoet\Statistics\Track\WooCommercePurchases;
|
||||||
@ -26,11 +24,7 @@ class WooCommerceOrdersTest extends \MailPoetTest {
|
|||||||
$this->woocommerce_helper = $this->createMock(WooCommerceHelper::class);
|
$this->woocommerce_helper = $this->createMock(WooCommerceHelper::class);
|
||||||
$this->woocommerce_purchases = $this->createMock(WooCommercePurchases::class);
|
$this->woocommerce_purchases = $this->createMock(WooCommercePurchases::class);
|
||||||
|
|
||||||
FeatureFlag::createOrUpdate([
|
$this->worker = new WooCommerceOrders($this->woocommerce_helper, $this->woocommerce_purchases, microtime(true));
|
||||||
'name' => FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES,
|
|
||||||
'value' => true,
|
|
||||||
]);
|
|
||||||
$this->worker = new WooCommerceOrders($this->woocommerce_helper, $this->woocommerce_purchases, new FeaturesController(), microtime(true));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItDoesNotRunIfWooCommerceIsDisabled() {
|
function testItDoesNotRunIfWooCommerceIsDisabled() {
|
||||||
@ -146,7 +140,6 @@ class WooCommerceOrdersTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function cleanup() {
|
private function cleanup() {
|
||||||
\ORM::raw_execute('TRUNCATE ' . FeatureFlag::$_table);
|
|
||||||
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
|
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
|
||||||
\ORM::raw_execute('TRUNCATE ' . StatisticsClicks::$_table);
|
\ORM::raw_execute('TRUNCATE ' . StatisticsClicks::$_table);
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
namespace MailPoet\Test\Models;
|
namespace MailPoet\Test\Models;
|
||||||
|
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Models\Segment;
|
use MailPoet\Models\Segment;
|
||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber;
|
||||||
@ -171,7 +170,7 @@ class NewsletterTest extends \MailPoetTest {
|
|||||||
$unsubscribes->save();
|
$unsubscribes->save();
|
||||||
|
|
||||||
$newsletter->queue = $newsletter->getQueue()->asArray();
|
$newsletter->queue = $newsletter->getQueue()->asArray();
|
||||||
$statistics = $newsletter->getStatistics($this->makeEmpty(WCHelper::class), new FeaturesController());
|
$statistics = $newsletter->getStatistics($this->makeEmpty(WCHelper::class));
|
||||||
expect($statistics['opened'])->equals(1);
|
expect($statistics['opened'])->equals(1);
|
||||||
expect($statistics['clicked'])->equals(1);
|
expect($statistics['clicked'])->equals(1);
|
||||||
expect($statistics['unsubscribed'])->equals(1);
|
expect($statistics['unsubscribed'])->equals(1);
|
||||||
|
@ -80,33 +80,31 @@
|
|||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% if display_revenues %>
|
<tr>
|
||||||
<tr>
|
<th scope="row">
|
||||||
<th scope="row">
|
<label for="settings[mailpoet_accept_cookie_revenue_tracking]">
|
||||||
<label for="settings[mailpoet_accept_cookie_revenue_tracking]">
|
<%= _x('Enable browser cookies', 'Option in settings page: the user can accept or forbid MailPoet to use browser cookies') %>
|
||||||
<%= _x('Enable browser cookies', 'Option in settings page: the user can accept or forbid MailPoet to use browser cookies') %>
|
</label>
|
||||||
</label>
|
<p class="description">
|
||||||
<p class="description">
|
<%= _x('If you enable this option, MailPoet will use browser cookies for more precise WooCommerce tracking. This is practical for abandoned cart emails for example.', 'Browser cookies are data created by websites and stored in visitors web browser') %>
|
||||||
<%= _x('If you enable this option, MailPoet will use browser cookies for more precise WooCommerce tracking. This is practical for abandoned cart emails for example.', 'Browser cookies are data created by websites and stored in visitors web browser') %>
|
</p>
|
||||||
</p>
|
</th>
|
||||||
</th>
|
<td>
|
||||||
<td>
|
<p>
|
||||||
<p>
|
<input
|
||||||
<input
|
type="checkbox"
|
||||||
type="checkbox"
|
value="1"
|
||||||
value="1"
|
id="settings[mailpoet_accept_cookie_revenue_tracking]"
|
||||||
id="settings[mailpoet_accept_cookie_revenue_tracking]"
|
data-automation-id="accept_cookie_revenue_tracking"
|
||||||
data-automation-id="accept_cookie_revenue_tracking"
|
name="woocommerce[accept_cookie_revenue_tracking][enabled]"
|
||||||
name="woocommerce[accept_cookie_revenue_tracking][enabled]"
|
<% if(settings.woocommerce.accept_cookie_revenue_tracking.enabled == "1") %>checked="checked"<% endif %>
|
||||||
<% if(settings.woocommerce.accept_cookie_revenue_tracking.enabled == "1") %>checked="checked"<% endif %>
|
>
|
||||||
>
|
<input
|
||||||
<input
|
type="hidden"
|
||||||
type="hidden"
|
value="1"
|
||||||
value="1"
|
name="woocommerce[accept_cookie_revenue_tracking][set]"
|
||||||
name="woocommerce[accept_cookie_revenue_tracking][set]"
|
>
|
||||||
>
|
</p>
|
||||||
</p>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
|
||||||
<% endif %>
|
|
||||||
</table>
|
</table>
|
||||||
|
Reference in New Issue
Block a user