|
|
<?php |
|
|
|
|
|
namespace Kanboard\Filter; |
|
|
|
|
|
use Kanboard\Core\DateParser; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
abstract class BaseDateRangeFilter extends BaseFilter |
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected $dateParser; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function setDateParser(DateParser $dateParser) |
|
|
{ |
|
|
$this->dateParser = $dateParser; |
|
|
return $this; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected function applyDateFilter($field) |
|
|
{ |
|
|
$dates = explode('..', $this->value); |
|
|
|
|
|
if(count($dates)=== 2){ |
|
|
$timestampFrom = $this->dateParser->getTimestamp($dates[0]." 00:00"); |
|
|
$timestampTo = $this->dateParser->getTimestamp($dates[1]." 00:00"); |
|
|
|
|
|
$this->query->gte($field, $timestampFrom); |
|
|
$this->query->lte($field, $timestampTo + 86399); |
|
|
} |
|
|
} |
|
|
} |
|
|
|