Code Duplication    Length = 37-38 lines in 2 locations

apps/files_sharing/lib/Migration.php 2 locations

@@ 170-207 (lines=38) @@
167
	 * @param int $n The max number of shares to fetch
168
	 * @return \Doctrine\DBAL\Driver\Statement
169
	 */
170
	private function getReShares() {
171
		$query = $this->connection->getQueryBuilder();
172
		$query->select(['id', 'parent', 'uid_owner', 'share_type'])
173
			->from($this->table)
174
			->where($query->expr()->in(
175
				'share_type',
176
				$query->createNamedParameter(
177
					[
178
						\OCP\Share::SHARE_TYPE_USER,
179
						\OCP\Share::SHARE_TYPE_GROUP,
180
						\OCP\Share::SHARE_TYPE_LINK,
181
						\OCP\Share::SHARE_TYPE_REMOTE,
182
					],
183
					Connection::PARAM_INT_ARRAY
184
				)
185
			))
186
			->andWhere($query->expr()->in(
187
				'item_type',
188
				$query->createNamedParameter(
189
					['file', 'folder'],
190
					Connection::PARAM_STR_ARRAY
191
				)
192
			))
193
			->andWhere($query->expr()->isNotNull('parent'))
194
			->orderBy('id', 'asc');
195
		return $query->execute();
196
197
198
		$shares = $result->fetchAll();
199
		$result->closeCursor();
200
201
		$ordered = [];
202
		foreach ($shares as $share) {
203
			$ordered[(int)$share['id']] = $share;
204
		}
205
206
		return $ordered;
207
	}
208
209
	/**
210
	 * Get $n re-shares from the database
@@ 215-251 (lines=37) @@
212
	 * @param int $n The max number of shares to fetch
213
	 * @return array
214
	 */
215
	private function getMissingInitiator($n = 1000) {
216
		$query = $this->connection->getQueryBuilder();
217
		$query->select(['id', 'uid_owner', 'share_type'])
218
			->from($this->table)
219
			->where($query->expr()->in(
220
				'share_type',
221
				$query->createNamedParameter(
222
					[
223
						\OCP\Share::SHARE_TYPE_USER,
224
						\OCP\Share::SHARE_TYPE_GROUP,
225
						\OCP\Share::SHARE_TYPE_LINK,
226
						\OCP\Share::SHARE_TYPE_REMOTE,
227
					],
228
					Connection::PARAM_INT_ARRAY
229
				)
230
			))
231
			->andWhere($query->expr()->in(
232
				'item_type',
233
				$query->createNamedParameter(
234
					['file', 'folder'],
235
					Connection::PARAM_STR_ARRAY
236
				)
237
			))
238
			->andWhere($query->expr()->isNull('uid_initiator'))
239
			->orderBy('id', 'asc')
240
			->setMaxResults($n);
241
		$result = $query->execute();
242
		$shares = $result->fetchAll();
243
		$result->closeCursor();
244
245
		$ordered = [];
246
		foreach ($shares as $share) {
247
			$ordered[(int)$share['id']] = $share;
248
		}
249
250
		return $ordered;
251
	}
252
253
	/**
254
	 * get a specific share