Code Duplication    Length = 27-27 lines in 3 locations

src/DataSource/DibiFluentDataSource.php 1 location

@@ 76-102 (lines=27) @@
73
	 * @param array $filters
74
	 * @return self
75
	 */
76
	public function filter(array $filters)
77
	{
78
		foreach ($filters as $filter) {
79
			if ($filter->isValueSet()) {
80
				if ($filter->hasConditionCallback()) {
81
					Callback::invokeArgs(
82
						$filter->getConditionCallback(),
83
						[$this->data_source, $filter->getValue()]
84
					);
85
				} else {
86
					if ($filter instanceof Filter\FilterText) {
87
						$this->applyFilterText($filter);
88
					} else if ($filter instanceof Filter\FilterSelect) {
89
						$this->applyFilterSelect($filter);
90
					} else if ($filter instanceof Filter\FilterDate) {
91
						$this->applyFilterDate($filter);
92
					} else if ($filter instanceof Filter\FilterDateRange) {
93
						$this->applyFilterDateRange($filter);
94
					} else if ($filter instanceof Filter\FilterRange) {
95
						$this->applyFilterRange($filter);
96
					}
97
				}
98
			}
99
		}
100
101
		return $this;
102
	}
103
104
105
	/**

src/DataSource/NetteDatabaseTableDataSource.php 1 location

@@ 75-101 (lines=27) @@
72
	 * @param array $filters
73
	 * @return self
74
	 */
75
	public function filter(array $filters)
76
	{
77
		foreach ($filters as $filter) {
78
			if ($filter->isValueSet()) {
79
				if ($filter->hasConditionCallback()) {
80
					Callback::invokeArgs(
81
						$filter->getConditionCallback(),
82
						[$this->data_source, $filter->getValue()]
83
					);
84
				} else {
85
					if ($filter instanceof Filter\FilterText) {
86
						$this->applyFilterText($filter);
87
					} else if ($filter instanceof Filter\FilterSelect) {
88
						$this->applyFilterSelect($filter);
89
					} else if ($filter instanceof Filter\FilterDate) {
90
						$this->applyFilterDate($filter);
91
					} else if ($filter instanceof Filter\FilterDateRange) {
92
						$this->applyFilterDateRange($filter);
93
					} else if ($filter instanceof Filter\FilterRange) {
94
						$this->applyFilterRange($filter);
95
					}
96
				}
97
			}
98
		}
99
100
		return $this;
101
	}
102
103
104
	/**

src/DataSource/DoctrineDataSource.php 1 location

@@ 107-133 (lines=27) @@
104
	 * @param array $filters
105
	 * @return self
106
	 */
107
	public function filter(array $filters)
108
	{
109
		foreach ($filters as $filter) {
110
			if ($filter->isValueSet()) {
111
				if ($filter->hasConditionCallback()) {
112
					Callback::invokeArgs(
113
						$filter->getConditionCallback(),
114
						[$this->data_source, $filter->getValue()]
115
					);
116
				} else {
117
					if ($filter instanceof Filter\FilterText) {
118
						$this->applyFilterText($filter);
119
					} else if ($filter instanceof Filter\FilterSelect) {
120
						$this->applyFilterSelect($filter);
121
					} else if ($filter instanceof Filter\FilterDate) {
122
						$this->applyFilterDate($filter);
123
					} else if ($filter instanceof Filter\FilterDateRange) {
124
						$this->applyFilterDateRange($filter);
125
					} else if ($filter instanceof Filter\FilterRange) {
126
						$this->applyFilterRange($filter);
127
					}
128
				}
129
			}
130
		}
131
132
		return $this;
133
	}
134
135
136
	/**