Files
piratepoet/lib/DynamicSegments/RequirementsChecker.php
Jan Jakeš 8c848cfa28 Convert property names to camel case
[MAILPOET-1796]
2020-01-14 15:22:42 +01:00

46 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';
}
}