Files
piratepoet/mailpoet/lib/WooCommerce/MailPoetTask.php
Rostislav Wolny d832925107 Remove temporary static property for the plugin main page
The property was added so that we were able to set the main page
dynamically based on the feature switch value. This is no longer needed and
we can use the hardcoded constant as we did before.
[MAILPOET-4831]
2023-03-13 14:09:17 +01:00

60 lines
2.0 KiB
PHP

<?php declare(strict_types = 1);
namespace MailPoet\WooCommerce;
use Automattic\WooCommerce\Admin\Features\OnboardingTasks\Task;
use MailPoet\Config\Menu;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Settings\SettingsController;
/**
* MailPoet task that is added to the WooCommerce homepage.
*/
class MailPoetTask extends Task {
public function get_id(): string { // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
return 'mailpoet_task';
}
public function get_title(): string { // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
if ($this->is_complete()) {
return esc_html__( 'MailPoet is ready to send marketing emails from your store', 'mailpoet' );
}
return esc_html__( 'Set up email marketing with MailPoet', 'mailpoet' );
}
public function get_content(): string { // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
return '';
}
/**
* String that is displayed below the title of the task indicating the estimated completion time.
*/
public function get_time(): string { // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
return '';
}
/**
* Link used when the user clicks on the title of the task.
*/
public function get_action_url(): string { // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
if ($this->is_complete()) {
return admin_url('admin.php?page=' . Menu::MAIN_PAGE_SLUG);
}
return admin_url('admin.php?page=' . Menu::WELCOME_WIZARD_PAGE_SLUG . '&mailpoet_wizard_loaded_via_woocommerce');
}
/**
* Whether the task is completed.
* If the setting 'version' is not null it means the welcome wizard
* was already completed so we mark this task as completed as well.
*/
public function is_complete(): bool { // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
$settings = ContainerWrapper::getInstance()->get(SettingsController::class);
$version = $settings->get('version');
return $version !== null;
}
}