Completed
Pull Request — dev (#67)
by
unknown
01:33
created

EntryQueryEntryrelationshipAdapter   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 58
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 5
lcom 0
cbo 0
dl 0
loc 58
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A createFilterIncludes() 0 14 1
A filterSingle() 0 23 2
A getFilterColumns() 0 4 1
A getSortColumns() 0 4 1
1
<?php
2
3
/**
4
 * @package toolkit
5
 */
6
/**
7
 * Specialized EntryQueryFieldAdapter that facilitate creation of queries filtering/sorting data from
8
 * an entryrelationship Field.
9
 * @see FieldTextarea
10
 * @since Symphony 3.0.0
11
 */
12
class EntryQueryEntryrelationshipAdapter extends EntryQueryFieldAdapter
13
{
14
    public function createFilterIncludes($filter, array $columns)
15
    {
16
        $field_id = General::intval($this->field->get('id'));
17
        $filter = $this->field->cleanValue($filter);
18
19
        $conditions = $this->field->generateWhereFilter($filter, 'f' . $field_id);
20
        // foreach ($columns as $key => $col) {
21
        //     $conditions[] = [$this->formatColumn($col, $field_id) => [$op => $filter]];
22
        // }
23
        // if (count($conditions) < 2) {
24
        //     return $conditions;
25
        // }
26
        return $conditions;
27
    }
28
29
    /**
30
     * @see EntryQueryFieldAdapter::filterSingle()
31
     *
32
     * @param EntryQuery $query
33
     * @param string $filter
34
     * @return array
35
     */
36
    protected function filterSingle(EntryQuery $query, $filter)
37
    {
38
        General::ensureType([
39
            'filter' => ['var' => $filter, 'type' => 'string'],
40
        ]);
41
        if ($this->isFilterRegex($filter)) {
42
            var_dump('regex');
0 ignored issues
show
Security Debugging Code introduced by
var_dump('regex'); looks like debug code. Are you sure you do not want to remove it? This might expose sensitive data.
Loading history...
43
            return $this->createFilterRegexp($filter, $this->getFilterColumns());
44
        }
45
46
        var_dump('no regex');
47
48
        // elseif ($this->isFilterSQL($filter)) {
49
        //     return $this->createFilterSQL($filter, $this->getFilterColumns());
50
        // } elseif ($this->isFilterBoolean($filter)) {
51
        //     return $this->createFilterBoolean($filter, $this->getFilterColumns());
52
        // } elseif ($this->isFilterContains($filter)) {
53
        //     return $this->createFilterContains($filter, $this->getFilterColumns());
54
        // } elseif ($this->isFilterHandle($filter)) {
55
        //     return $this->createFilterHandle($filter, $this->getFilterColumns());
56
        // }
57
        return $this->createFilterIncludes($filter, $this->getFilterColumns());
58
    }
59
60
    public function getFilterColumns()
61
    {
62
        return ['entries'];
63
    }
64
65
    public function getSortColumns()
66
    {
67
        return ['entries'];
68
    }
69
}
70