Code Duplication    Length = 51-51 lines in 2 locations

core/process/queries/QueryManagerMysqlMonocleAlternate.php 1 location

@@ 503-553 (lines=51) @@
500
	// Trainers
501
	//////////////
502
503
	public function getTrainers($trainer_name, $team, $page, $rankingNumber) {
504
		$ranking = $this->getTrainerLevelRanking();
505
		$where = "";
506
		if (!empty(self::$config->system->trainer_blacklist)) {
507
			$where .= " AND gd.owner_name NOT IN ('".implode("','", self::$config->system->trainer_blacklist)."')";
508
		}
509
		if ($trainer_name != "") {
510
			$where = " AND gd.owner_name LIKE '%".$trainer_name."%'";
511
		}
512
		if ($team != 0) {
513
			$where .= ($where == "" ? " HAVING" : " AND")." team = ".$team;
514
		}
515
		switch ($rankingNumber) {
516
			case 1:
517
				$order = " ORDER BY active DESC, level DESC";
518
				break;
519
			case 2:
520
				$order = " ORDER BY maxCp DESC, level DESC";
521
				break;
522
			default:
523
				$order = " ORDER BY level DESC, active DESC";
524
		}
525
		$order .= ", last_seen DESC, name ";
526
		$limit = " LIMIT ".($page * 10).",10 ";
527
		$req = "SELECT gd.owner_name AS name, MAX(owner_level) AS level, MAX(cp) AS maxCp, MAX(active) AS active, MAX(team) AS team, FROM_UNIXTIME(MAX(last_modified)) as last_seen
528
				  	FROM gym_defenders gd
529
				  	LEFT JOIN (
530
				  		SELECT owner_name, COUNT(*) as active
531
				  		FROM gym_defenders gd2
532
						WHERE fort_id IS NOT NULL
533
				  		GROUP BY owner_name
534
				  	) active ON active.owner_name = gd.owner_name
535
				  	WHERE gd.owner_level IS NOT NULL " . $where . "
536
				  	GROUP BY gd.owner_name" . $order  . $limit;
537
		$result = $this->mysqli->query($req);
538
		$trainers = array();
539
		while ($data = $result->fetch_object()) {
540
			$data->last_seen = date("Y-m-d", strtotime($data->last_seen));
541
            if (is_null($data->active)) {
542
                $data->active = 0;
543
            }
544
			$trainers[$data->name] = $data;
545
546
			$pokemon = array_merge($this->getActivePokemon($data->name),  $this->getInactivePokemon($data->name));
547
548
			$trainers[$data->name]->gyms = $data->active;
549
			$trainers[$data->name]->pokemons = $pokemon;
550
			$trainers[$data->name]->rank = $ranking[$data->level];
551
		}
552
		return $trainers;
553
	}
554
555
	public function getTrainerLevelRanking() {
556
		$exclue = "";

core/process/queries/QueryManagerPostgresqlMonocleAlternate.php 1 location

@@ 508-558 (lines=51) @@
505
	// Trainers
506
	//////////////
507
508
	public function getTrainers($trainer_name, $team, $page, $rankingNumber) {
509
		$ranking = $this->getTrainerLevelRanking();
510
		$where = "";
511
		if (!empty(self::$config->system->trainer_blacklist)) {
512
			$where .= " AND gd.owner_name NOT IN ('".implode("','", self::$config->system->trainer_blacklist)."')";
513
		}
514
		if ($trainer_name != "") {
515
			$where = " AND gd.owner_name LIKE '%".$trainer_name."%'";
516
		}
517
		if ($team != 0) {
518
			$where .= ($where == "" ? " HAVING" : " AND")." team = ".$team;
519
		}
520
		switch ($rankingNumber) {
521
			case 1:
522
				$order = " ORDER BY active DESC, level DESC";
523
				break;
524
			case 2:
525
				$order = " ORDER BY maxCp DESC, level DESC";
526
				break;
527
			default:
528
				$order = " ORDER BY level DESC, active DESC";
529
		}
530
		$order .= ", last_seen DESC, name ";
531
		$limit = " LIMIT 10 OFFSET ".($page * 10);
532
		$req = "SELECT gd.owner_name AS name, MAX(owner_level) AS level, MAX(cp) AS maxCp, MAX(active) AS active, MAX(team) AS team, TO_TIMESTAMP(MAX(last_modified)) as last_seen
533
				  	FROM gym_defenders gd
534
				  	LEFT JOIN (
535
				  		SELECT owner_name, COUNT(*) as active
536
				  		FROM gym_defenders gd2
537
						WHERE fort_id IS NOT NULL
538
				  		GROUP BY owner_name
539
				  	) active ON active.owner_name = gd.owner_name
540
				  	WHERE level IS NOT NULL " . $where . "
541
				  	GROUP BY gd.owner_name" . $order  . $limit;
542
		$result = $this->mysqli->query($req);
543
		$trainers = array();
544
		while ($data = $result->fetch_object()) {
545
			$data->last_seen = date("Y-m-d", strtotime($data->last_seen));
546
			if (is_null($data->active)) {
547
				$data->active = 0;
548
			}
549
			$trainers[$data->name] = $data;
550
551
			$pokemon = array_merge($this->getActivePokemon($data->name),  $this->getInactivePokemon($data->name));
552
553
			$trainers[$data->name]->gyms = $data->active;
554
			$trainers[$data->name]->pokemons = $pokemon;
555
			$trainers[$data->name]->rank = $ranking[$data->level];
556
		}
557
		return $trainers;
558
	}
559
560
	public function getTrainerLevelRanking() {
561
		$exclue = "";