Passed
Pull Request — master (#1574)
by
unknown
06:56 queued 02:51
created

Hook::assignment()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 4
c 1
b 0
f 0
nc 2
nop 2
dl 0
loc 6
rs 10
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: User
5
 * Date: 2/13/2019
6
 * Time: 5:43 PM
7
 */
8
9
namespace crocodicstudio\crudbooster\types\datetime;
10
11
use crocodicstudio\crudbooster\types\TypesHook;
12
13
class Hook extends TypesHook
14
{
15
16
    /**
17
     * @param $row
18
     * @param $column DatetimeModel
19
     * @return mixed
20
     */
21
    public function indexRender($row, $column)
22
    {
23
        if($column->getFormat()) {
24
            return date($column->getFormat(), strtotime($row->{$column->getField()}));
25
        }else{
26
            return $row->{$column->getField()};
27
        }
28
    }
29
30
    public function assignment($value, $column)
31
    {
32
		if($column->getFormat()) {
33
			return date_create_from_format($column->getFormat(), $value)->format('Y-m-d H:i:s');
34
		} else {
35
			return $value;
36
		}
37
    }
38
    
39
    public function detailRender($row, $column)
40
    {
41
        return $this->indexRender($row, $column);
42
    }
43
44
    public function filterQuery($query, $column, $value)
45
    {
46
        $start = sanitizeXSS($value['start']);
47
        $end = sanitizeXSS($value['end']);
48
        if($start && $end) {
49
            $start = date("Y-m-d H:i:s", strtotime($start));
50
            $end = date("Y-m-d H:i:s", strtotime($end));
51
            $query->whereBetween($column->getFilterColumn(), [$start, $end]);
52
        }
53
        return $query;
54
    }
55
}
56