Files
piratepoet/lib/DynamicSegments/RequirementsChecker.php
Rostislav Wolny d13f63b3e2 Fix other minor type issues in libs
[MAILPOET-3926]
2020-12-07 11:36:01 +01:00

45 lines
1.0 KiB
PHP

<?php
namespace MailPoet\DynamicSegments;
use MailPoet\DynamicSegments\Filters\Filter;
use MailPoet\Models\DynamicSegment;
use MailPoet\WooCommerce\Helper;
class RequirementsChecker {
/** @var Helper */
private $woocommerceHelper;
public function __construct(Helper $woocommerceHelper = null) {
if (!$woocommerceHelper) {
$woocommerceHelper = new Helper();
}
$this->woocommerceHelper = $woocommerceHelper;
}
public function shouldSkipSegment(DynamicSegment $segment) {
foreach ($segment->getFilters() as $filter) {
if ($this->shouldSkipFilter($filter)) {
return true;
}
}
return false;
}
private function shouldSkipFilter(Filter $filter) {
if ($this->woocommerceHelper->isWooCommerceActive()) {
return false;
}
$className = get_class($filter);
$ref = new \ReflectionClass($className);
$constants = $ref->getConstants() ?? [];
if (!array_key_exists('SEGMENT_TYPE', $constants)) {
return true;
}
return $constants['SEGMENT_TYPE'] === 'woocommerce';
}
}