Code Duplication    Length = 37-38 lines in 2 locations

apps/files_sharing/lib/migration.php 2 locations

@@ 137-174 (lines=38) @@
134
	 * @param int $n The max number of shares to fetch
135
	 * @return \Doctrine\DBAL\Driver\Statement
136
	 */
137
	private function getReShares() {
138
		$query = $this->connection->getQueryBuilder();
139
		$query->select(['id', 'parent', 'uid_owner', 'share_type'])
140
			->from($this->table)
141
			->where($query->expr()->in(
142
				'share_type',
143
				$query->createNamedParameter(
144
					[
145
						\OCP\Share::SHARE_TYPE_USER,
146
						\OCP\Share::SHARE_TYPE_GROUP,
147
						\OCP\Share::SHARE_TYPE_LINK,
148
						\OCP\Share::SHARE_TYPE_REMOTE,
149
					],
150
					Connection::PARAM_INT_ARRAY
151
				)
152
			))
153
			->andWhere($query->expr()->in(
154
				'item_type',
155
				$query->createNamedParameter(
156
					['file', 'folder'],
157
					Connection::PARAM_STR_ARRAY
158
				)
159
			))
160
			->andWhere($query->expr()->isNotNull('parent'))
161
			->orderBy('id', 'asc');
162
		return $query->execute();
163
164
165
		$shares = $result->fetchAll();
166
		$result->closeCursor();
167
168
		$ordered = [];
169
		foreach ($shares as $share) {
170
			$ordered[(int)$share['id']] = $share;
171
		}
172
173
		return $ordered;
174
	}
175
176
	/**
177
	 * Get $n re-shares from the database
@@ 182-218 (lines=37) @@
179
	 * @param int $n The max number of shares to fetch
180
	 * @return array
181
	 */
182
	private function getMissingInitiator($n = 1000) {
183
		$query = $this->connection->getQueryBuilder();
184
		$query->select(['id', 'uid_owner', 'share_type'])
185
			->from($this->table)
186
			->where($query->expr()->in(
187
				'share_type',
188
				$query->createNamedParameter(
189
					[
190
						\OCP\Share::SHARE_TYPE_USER,
191
						\OCP\Share::SHARE_TYPE_GROUP,
192
						\OCP\Share::SHARE_TYPE_LINK,
193
						\OCP\Share::SHARE_TYPE_REMOTE,
194
					],
195
					Connection::PARAM_INT_ARRAY
196
				)
197
			))
198
			->andWhere($query->expr()->in(
199
				'item_type',
200
				$query->createNamedParameter(
201
					['file', 'folder'],
202
					Connection::PARAM_STR_ARRAY
203
				)
204
			))
205
			->andWhere($query->expr()->isNull('uid_initiator'))
206
			->orderBy('id', 'asc')
207
			->setMaxResults($n);
208
		$result = $query->execute();
209
		$shares = $result->fetchAll();
210
		$result->closeCursor();
211
212
		$ordered = [];
213
		foreach ($shares as $share) {
214
			$ordered[(int)$share['id']] = $share;
215
		}
216
217
		return $ordered;
218
	}
219
220
	/**
221
	 * get a specific share