![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/aheadworks/module-csblock/Model/Rule/Condition/ |
<?php namespace Aheadworks\Csblock\Model\Rule\Condition; /** * Class Combine * @package Aheadworks\Csblock\Model\Rule\Condition */ class Combine extends \Magento\Rule\Model\Condition\Combine { /** * @var \Aheadworks\Csblock\Model\Rule\Condition\Product\AttributesFactory */ protected $_attributeFactory; /** * @param \Magento\Rule\Model\Condition\Context $context * @param \Aheadworks\Csblock\Model\Rule\Condition\Product\AttributesFactory $attributesFactory * @param array $data */ public function __construct( \Magento\Rule\Model\Condition\Context $context, \Aheadworks\Csblock\Model\Rule\Condition\Product\AttributesFactory $attributesFactory, array $data = [] ) { parent::__construct($context, $data); $this->_attributeFactory = $attributesFactory; $this->setType(\Aheadworks\Csblock\Model\Rule\Condition\Combine::class); } /** * Prepare child rules option list * * @return array */ public function getNewChildSelectOptions() { $conditions = [ ['value' => $this->getType(), 'label' => __('Conditions Combination')], $this->_attributeFactory->create()->getNewChildSelectOptions(), ]; $conditions = array_merge_recursive(parent::getNewChildSelectOptions(), $conditions); return $conditions; } /** * @return array|mixed */ public function getConditions() { if ($this->getData($this->getPrefix()) === null) { $this->setData($this->getPrefix(), []); } return $this->getData($this->getPrefix()); } /** * @param array $productCollection * @return $this */ public function collectValidatedAttributes($productCollection) { foreach ($this->getConditions() as $condition) { /** @var Product|Combine $condition */ $condition->setAggregator($condition->getAggregator()); $condition->setTrue((bool)$condition->getValue()); $condition->collectValidatedAttributes($productCollection); } return $this; } }