Source of file DiscountCouponFilterForDate.php
Size: 1,148 Bytes - Last Modified: 2021-12-23T10:40:47+00:00
/var/www/docs.ssmods.com/process/src/src/Search/DiscountCouponFilterForDate.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | <?php namespace Sunnysideup\EcommerceDiscountCoupon\Search; use SilverStripe\ORM\DataQuery; use SilverStripe\ORM\Filters\ExactMatchFilter; // Future one //0----------F--|-------|----------------3000 // Current One //0------------|--C-----|----------------3000 // Past One //0------------|-------|---P-------------3000 class DiscountCouponFilterForDate extends ExactMatchFilter { /** * @return DataQuery */ public function apply(DataQuery $query) { $value = $this->getValue(); $date = time(); $filterString = ''; switch ($value) { case 'future': $filterString = 'UNIX_TIMESTAMP("StartDate") > ' . $date; break; case 'current': $filterString = 'UNIX_TIMESTAMP("StartDate") <= ' . $date . ' AND UNIX_TIMESTAMP("EndDate") >= ' . $date; break; case 'past': $filterString = 'UNIX_TIMESTAMP("EndDate") < ' . $date; break; } if ($filterString) { $query = $query->where($filterString); } return $query; } } |