Use cache oldest created at in template

[MAILPOET-3646]
This commit is contained in:
Jan Lysý
2021-07-07 10:20:45 +02:00
committed by Veljko V
parent 3b9bf6142c
commit d6e709ff53
4 changed files with 16 additions and 3 deletions

View File

@ -4,6 +4,7 @@ namespace MailPoet\AdminPages\Pages;
use MailPoet\AdminPages\PageRenderer;
use MailPoet\API\JSON\ResponseBuilders\CustomFieldsResponseBuilder;
use MailPoet\Cache\TransientCache;
use MailPoet\Config\ServicesChecker;
use MailPoet\CustomFields\CustomFieldsRepository;
use MailPoet\Entities\DynamicSegmentFilterData;
@ -16,6 +17,7 @@ use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
use MailPoet\WooCommerce\Helper as WooCommerceHelper;
use MailPoet\WP\AutocompletePostListLoader as WPPostListLoader;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon;
class Segments {
/** @var PageRenderer */
@ -51,6 +53,9 @@ class Segments {
/** @var CustomFieldsResponseBuilder */
private $customFieldsResponseBuilder;
/** @var TransientCache */
private $transientCache;
public function __construct(
PageRenderer $pageRenderer,
PageLimit $listingPageLimit,
@ -62,7 +67,8 @@ class Segments {
SettingsController $settings,
CustomFieldsRepository $customFieldsRepository,
CustomFieldsResponseBuilder $customFieldsResponseBuilder,
SegmentDependencyValidator $segmentDependencyValidator
SegmentDependencyValidator $segmentDependencyValidator,
TransientCache $transientCache
) {
$this->pageRenderer = $pageRenderer;
$this->listingPageLimit = $listingPageLimit;
@ -75,6 +81,7 @@ class Segments {
$this->segmentDependencyValidator = $segmentDependencyValidator;
$this->customFieldsRepository = $customFieldsRepository;
$this->customFieldsResponseBuilder = $customFieldsResponseBuilder;
$this->transientCache = $transientCache;
}
public function render() {
@ -123,7 +130,9 @@ class Segments {
$wooCurrencySymbol = $this->woocommerceHelper->isWooCommerceActive() ? $this->woocommerceHelper->getWoocommerceCurrencySymbol() : '';
$data['woocommerce_currency_symbol'] = html_entity_decode($wooCurrencySymbol);
$data['tracking_enabled'] = $this->settings->get('tracking.enabled');
$subscribersCacheCreatedAt = $this->transientCache->getOldestCreatedAt(TransientCache::SUBSCRIBERS_STATISTICS_COUNT_KEY);
$subscribersCacheCreatedAt = $subscribersCacheCreatedAt ?: Carbon::now();
$data['subscribers_counts_cache_created_at'] = $subscribersCacheCreatedAt->format('Y-m-d\TH:i:sO');
$this->pageRenderer->displayPage('segments.html', $data);
}
}