Code Duplication    Length = 30-30 lines in 2 locations

includes/user/LocalIdLookup.php 2 locations

@@ 55-84 (lines=30) @@
52
			in_array( $wikiId, $wgLocalDatabases, true );
53
	}
54
55
	public function lookupCentralIds(
56
		array $idToName, $audience = self::AUDIENCE_PUBLIC, $flags = self::READ_NORMAL
57
	) {
58
		if ( !$idToName ) {
59
			return [];
60
		}
61
62
		$audience = $this->checkAudience( $audience );
63
		list( $index, $options ) = DBAccessObjectUtils::getDBOptions( $flags );
64
		$db = wfGetDB( $index );
65
66
		$tables = [ 'user' ];
67
		$fields = [ 'user_id', 'user_name' ];
68
		$where = [
69
			'user_id' => array_map( 'intval', array_keys( $idToName ) ),
70
		];
71
		$join = [];
72
		if ( $audience && !$audience->isAllowed( 'hideuser' ) ) {
73
			$tables[] = 'ipblocks';
74
			$join['ipblocks'] = [ 'LEFT JOIN', 'ipb_user=user_id' ];
75
			$fields[] = 'ipb_deleted';
76
		}
77
78
		$res = $db->select( $tables, $fields, $where, __METHOD__, $options, $join );
79
		foreach ( $res as $row ) {
80
			$idToName[$row->user_id] = empty( $row->ipb_deleted ) ? $row->user_name : '';
81
		}
82
83
		return $idToName;
84
	}
85
86
	public function lookupUserNames(
87
		array $nameToId, $audience = self::AUDIENCE_PUBLIC, $flags = self::READ_NORMAL
@@ 86-115 (lines=30) @@
83
		return $idToName;
84
	}
85
86
	public function lookupUserNames(
87
		array $nameToId, $audience = self::AUDIENCE_PUBLIC, $flags = self::READ_NORMAL
88
	) {
89
		if ( !$nameToId ) {
90
			return [];
91
		}
92
93
		$audience = $this->checkAudience( $audience );
94
		list( $index, $options ) = DBAccessObjectUtils::getDBOptions( $flags );
95
		$db = wfGetDB( $index );
96
97
		$tables = [ 'user' ];
98
		$fields = [ 'user_id', 'user_name' ];
99
		$where = [
100
			'user_name' => array_map( 'strval', array_keys( $nameToId ) ),
101
		];
102
		$join = [];
103
		if ( $audience && !$audience->isAllowed( 'hideuser' ) ) {
104
			$tables[] = 'ipblocks';
105
			$join['ipblocks'] = [ 'LEFT JOIN', 'ipb_user=user_id' ];
106
			$where[] = 'ipb_deleted = 0 OR ipb_deleted IS NULL';
107
		}
108
109
		$res = $db->select( $tables, $fields, $where, __METHOD__, $options, $join );
110
		foreach ( $res as $row ) {
111
			$nameToId[$row->user_name] = (int)$row->user_id;
112
		}
113
114
		return $nameToId;
115
	}
116
}
117