Code Duplication    Length = 40-40 lines in 2 locations

core/process/queries/QueryManagerMysqlMAD.php 1 location

@@ 649-688 (lines=40) @@
646
        return $levelData;
647
    }
648
649
    private function getTrainerData($trainer_name, $team, $page, $ranking)
650
    {
651
        $where = '';
652
        if (!empty(self::$config->system->trainer_blacklist)) {
653
            $where .= ('' == $where ? ' HAVING' : ' AND')." name NOT IN ('".implode("','", self::$config->system->trainer_blacklist)."')";
654
        }
655
        if ('' != $trainer_name) {
656
            $where = " HAVING name LIKE '%".$trainer_name."%'";
657
        }
658
        if (0 != $team) {
659
            $where .= ('' == $where ? ' HAVING' : ' AND').' team = '.$team;
660
        }
661
        switch ($ranking) {
662
            case 1:
663
                $order = ' ORDER BY active DESC, level DESC';
664
                break;
665
            case 2:
666
                $order = ' ORDER BY maxCp DESC, level DESC';
667
                break;
668
            default:
669
                $order = ' ORDER BY level DESC, active DESC';
670
        }
671
        $order .= ', last_seen DESC, name ';
672
        $limit = ' LIMIT '.($page * 10).',10 ';
673
        $req = "SELECT trainer.*, COUNT(actives_pokemons.trainer_name) AS active, max(actives_pokemons.cp) AS maxCp
674
				FROM trainer
675
				LEFT JOIN (SELECT DISTINCT gympokemon.pokemon_id, gympokemon.pokemon_uid, gympokemon.trainer_name, gympokemon.cp, DATEDIFF(UTC_TIMESTAMP(), gympokemon.last_seen) AS last_scanned
676
				FROM gympokemon
677
				INNER JOIN (SELECT gymmember.pokemon_uid, gymmember.gym_id FROM gymmember GROUP BY gymmember.pokemon_uid, gymmember.gym_id HAVING gymmember.gym_id <> '') AS filtered_gymmember
678
				ON gympokemon.pokemon_uid = filtered_gymmember.pokemon_uid) AS actives_pokemons ON actives_pokemons.trainer_name = trainer.name
679
				GROUP BY trainer.name ".$where.$order.$limit;
680
        $result = $this->mysqli->query($req);
681
        $trainers = array();
682
        while ($data = $result->fetch_object()) {
683
            $data->last_seen = date('Y-m-d', strtotime($data->last_seen));
684
            $trainers[$data->name] = $data;
685
        }
686
687
        return $trainers;
688
    }
689
690
    private function getTrainerLevelRating($level)
691
    {

core/process/queries/QueryManagerMysqlRocketmap.php 1 location

@@ 667-706 (lines=40) @@
664
        return $levelData;
665
    }
666
667
    private function getTrainerData($trainer_name, $team, $page, $ranking)
668
    {
669
        $where = '';
670
        if (!empty(self::$config->system->trainer_blacklist)) {
671
            $where .= ('' == $where ? ' HAVING' : ' AND')." name NOT IN ('".implode("','", self::$config->system->trainer_blacklist)."')";
672
        }
673
        if ('' != $trainer_name) {
674
            $where = " HAVING name LIKE '%".$trainer_name."%'";
675
        }
676
        if (0 != $team) {
677
            $where .= ('' == $where ? ' HAVING' : ' AND').' team = '.$team;
678
        }
679
        switch ($ranking) {
680
            case 1:
681
                $order = ' ORDER BY active DESC, level DESC';
682
                break;
683
            case 2:
684
                $order = ' ORDER BY maxCp DESC, level DESC';
685
                break;
686
            default:
687
                $order = ' ORDER BY level DESC, active DESC';
688
        }
689
        $order .= ', last_seen DESC, name ';
690
        $limit = ' LIMIT '.($page * 10).',10 ';
691
        $req = "SELECT trainer.*, COUNT(actives_pokemons.trainer_name) AS active, max(actives_pokemons.cp) AS maxCp
692
				FROM trainer
693
				LEFT JOIN (SELECT DISTINCT gympokemon.pokemon_id, gympokemon.pokemon_uid, gympokemon.trainer_name, gympokemon.cp, DATEDIFF(UTC_TIMESTAMP(), gympokemon.last_seen) AS last_scanned
694
				FROM gympokemon
695
				INNER JOIN (SELECT gymmember.pokemon_uid, gymmember.gym_id FROM gymmember GROUP BY gymmember.pokemon_uid, gymmember.gym_id HAVING gymmember.gym_id <> '') AS filtered_gymmember
696
				ON gympokemon.pokemon_uid = filtered_gymmember.pokemon_uid) AS actives_pokemons ON actives_pokemons.trainer_name = trainer.name
697
				GROUP BY trainer.name ".$where.$order.$limit;
698
        $result = $this->mysqli->query($req);
699
        $trainers = array();
700
        while ($data = $result->fetch_object()) {
701
            $data->last_seen = date('Y-m-d', strtotime($data->last_seen));
702
            $trainers[$data->name] = $data;
703
        }
704
705
        return $trainers;
706
    }
707
708
    private function getTrainerLevelRating($level)
709
    {