Code Duplication    Length = 25-25 lines in 2 locations

code/adapters/ShopSearchSolr.php 2 locations

@@ 389-413 (lines=25) @@
386
        }
387
388
        // Filter by filters
389
        foreach ($query->require as $field => $values) {
390
            $requireq = array();
391
392
            foreach ($values as $value) {
393
                if ($value === SearchQuery::$missing) {
394
                    $requireq[] = "(*:* -{$field}:[* TO *])";
395
                } elseif ($value === SearchQuery::$present) {
396
                    $requireq[] = "{$field}:[* TO *]";
397
                } elseif ($value instanceof SearchQuery_Range) {
398
                    $start = $value->start;
399
                    if ($start === null) {
400
                        $start = '*';
401
                    }
402
                    $end = $value->end;
403
                    if ($end === null) {
404
                        $end = '*';
405
                    }
406
                    $requireq[] = "$field:[$start TO $end]";
407
                } else {
408
                    $requireq[] = $field.':"'.$value.'"';
409
                }
410
            }
411
412
            $fq[] = '+('.implode(' ', $requireq).')';
413
        }
414
415
        foreach ($query->exclude as $field => $values) {
416
            $excludeq = array();
@@ 584-608 (lines=25) @@
581
582
        // Filter by filters
583
584
        foreach ($query->require as $field => $values) {
585
            $requireq = array();
586
587
            foreach ($values as $value) {
588
                if ($value === SearchQuery::$missing) {
589
                    $requireq[] = "(*:* -{$field}:[* TO *])";
590
                } elseif ($value === SearchQuery::$present) {
591
                    $requireq[] = "{$field}:[* TO *]";
592
                } elseif ($value instanceof SearchQuery_Range) {
593
                    $start = $value->start;
594
                    if ($start === null) {
595
                        $start = '*';
596
                    }
597
                    $end = $value->end;
598
                    if ($end === null) {
599
                        $end = '*';
600
                    }
601
                    $requireq[] = "$field:[$start TO $end]";
602
                } else {
603
                    $requireq[] = $field.':"'.$value.'"';
604
                }
605
            }
606
607
            $fq[] = '+('.implode(' ', $requireq).')';
608
        }
609
610
        foreach ($query->exclude as $field => $values) {
611
            $excludeq = array();