![]() 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/cartforge.co/app/code/StripeIntegration/Payments/Plugin/SalesRule/Model/ |
<?php namespace StripeIntegration\Payments\Plugin\SalesRule\Model; class Utility { private $couponCollection; private $recurringOrderData; public function __construct( \StripeIntegration\Payments\Model\ResourceModel\Coupon\Collection $couponCollection, \StripeIntegration\Payments\Helper\RecurringOrderData $recurringOrderData ) { $this->couponCollection = $couponCollection; $this->recurringOrderData = $recurringOrderData; } /** * Check if rule can be applied for specific address/quote/customer * * @param \Magento\SalesRule\Model\Rule $rule * @param \Magento\Quote\Model\Quote\Address $address * @return bool * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ public function afterCanProcessRule(\Magento\SalesRule\Model\Utility $subject, $result, $rule, $address) { if (is_object($address)) { $coupon = $this->couponCollection->getByRuleId($rule->getId()); if ($coupon && $coupon->expires() && $this->recurringOrderData->discountObject == "none") { // The coupon has expired, do not apply the rule return false; } } return $result; } }