Thought I fixed this at home
[rock.divinelegy.git] / DataAccess / Queries / DownloadQueryConstraints.php
1 <?php
2
3 namespace DataAccess\Queries;
4
5 use DataAccess\Queries\IQueryBuilder;
6 use DataAccess\Queries\IDownloadQueryConstraints;
7 use DateTime;
8
9 class DownloadQueryConstraints implements IDownloadQueryConstraints
10 {
11 private $_queryBuilder;
12 private $_dateRangeStart;
13 private $_dateRangeEnd;
14
15 public function applyTo(IQueryBuilder $queryBuilder)
16 {
17 $this->_queryBuilder = $queryBuilder;
18 $this->applyDateRange();
19 }
20
21 public function inDateRange(DateTime $start, DateTime $end)
22 {
23 $this->_dateRangeStart = $start;
24 $this->_dateRangeEnd = $end;
25 return $this;
26 }
27
28 private function applyDateRange()
29 {
30 if($this->_dateRangeStart && $this->_dateRangeEnd) {
31 $this->_queryBuilder->where('timestamp', '>=', $this->_dateRangeStart->getTimestamp())
32 ->where('timestamp', '<=', $this->_dateRangeEnd->getTimestamp());
33 }
34
35 return $this;
36 }
37 }
38