Code Duplication    Length = 21-21 lines in 2 locations

src/ORM/DataList.php 2 locations

@@ 457-477 (lines=21) @@
454
     * @param string|array See {@link filter()}
455
     * @return static
456
     */
457
    public function filterAny()
458
    {
459
        $numberFuncArgs = count(func_get_args());
460
        $whereArguments = array();
461
462
        if ($numberFuncArgs == 1 && is_array(func_get_arg(0))) {
463
            $whereArguments = func_get_arg(0);
464
        } elseif ($numberFuncArgs == 2) {
465
            $whereArguments[func_get_arg(0)] = func_get_arg(1);
466
        } else {
467
            throw new InvalidArgumentException('Incorrect number of arguments passed to filterAny()');
468
        }
469
470
        return $this->alterDataQuery(function (DataQuery $query) use ($whereArguments) {
471
            $subquery = $query->disjunctiveGroup();
472
473
            foreach ($whereArguments as $field => $value) {
474
                $filter = $this->createSearchFilter($field, $value);
475
                $filter->apply($subquery);
476
            }
477
        });
478
    }
479
480
    /**
@@ 614-634 (lines=21) @@
611
     * @param string|array Escaped SQL statement. If passed as array, all keys and values will be escaped internally
612
     * @return $this
613
     */
614
    public function exclude()
615
    {
616
        $numberFuncArgs = count(func_get_args());
617
        $whereArguments = array();
618
619
        if ($numberFuncArgs == 1 && is_array(func_get_arg(0))) {
620
            $whereArguments = func_get_arg(0);
621
        } elseif ($numberFuncArgs == 2) {
622
            $whereArguments[func_get_arg(0)] = func_get_arg(1);
623
        } else {
624
            throw new InvalidArgumentException('Incorrect number of arguments passed to exclude()');
625
        }
626
627
        return $this->alterDataQuery(function (DataQuery $query) use ($whereArguments) {
628
            $subquery = $query->disjunctiveGroup();
629
630
            foreach ($whereArguments as $field => $value) {
631
                $filter = $this->createSearchFilter($field, $value);
632
                $filter->exclude($subquery);
633
            }
634
        });
635
    }
636
637
    /**