115 array_unshift($this->_filters[
$name], $filter);
117 $this->_filters[
$name][] = $filter;
159 $this->_filters = array_merge_recursive($this->_filters,
$filters);
183 if (
null ===
$name) {
186 return $this->_filters[
$name] ??
null;
217 if (!$isFilterListSimple && !empty(
$filters[$key])) {
225 if (!$isFilterListSimple && is_array(
$value) && isset(
$filters[$key][
'children_filters'])) {
226 $isChildrenFilterListSimple = is_numeric(implode(
'', array_keys(
$filters[$key][
'children_filters'])));
229 foreach ($itemFilters as $filterData) {
230 if ($zendFilter = $this->_getZendFilter($filterData)) {
256 if (!isset($filterData[
'method']) || empty($filterData[
'method'])) {
257 throw new \Exception(
"Helper filtration method is not set");
259 if (!isset($filterData[
'args']) || empty($filterData[
'args'])) {
260 $filterData[
'args'] = [];
262 $filterData[
'args'] = [-100 =>
$value] + $filterData[
'args'];
264 $value = call_user_func_array([
$helper, $filterData[
'method']], $filterData[
'args']);
278 if (isset($filterData[
'helper'])) {
279 $helper = $filterData[
'helper'];
283 throw new \Exception(
"Filter '{$helper}' not found");
295 protected function _getZendFilter($filterData)
300 $zendFilter = $filterData;
301 }
elseif (isset($filterData[
'model'])) {
303 }
elseif (isset($filterData[
'zend'])) {
318 $filter = $filterData[
'model'];
319 if (!isset($filterData[
'args'])) {
320 $filterData[
'args'] =
null;
323 $filterData[
'args'] = $filterData[
'args'][0];
325 if (is_string($filter)) {
326 $filter = $this->_objectManager->create($filter, $filterData[
'args']);
329 throw new \Exception(
'Filter is not instance of \Zend_Filter_Interface');
343 $filter = $filterData[
'zend'];
344 if (is_string($filter)) {
345 $filterClassName =
'Zend_Filter_' . ucfirst($filter);
346 if (!is_a($filterClassName, \Zend_Filter_Interface::class,
true)) {
347 throw new \Exception(
'Filter is not instance of \Zend_Filter_Interface');
349 $filterClassOptions = isset($filterData[
'args']) ? $filterData[
'args'] : [];
350 $filter =
new $filterClassName(...array_values($filterClassOptions));
elseif(isset( $params[ 'redirect_parent']))
if(!isset($_GET['name'])) $name