Code Duplication    Length = 51-51 lines in 2 locations

core/process/queries/QueryManagerPostgresqlMonocleAlternate.php 1 location

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

core/process/queries/QueryManagerMysqlMonocleAlternate.php 1 location

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