Code Duplication    Length = 34-34 lines in 2 locations

lib/BackgroundJob/BackgroundScanner.php 2 locations

@@ 92-125 (lines=34) @@
89
90
		// Run for unscanned files
91
		$cnt = 0;
92
		while (($row = $result->fetch()) && $cnt < $batchSize) {
93
			try {
94
				$fileId = $row['fileid'];
95
				$users = $this->getUserWithAccessToStorage((int)$row['storage']);
96
97
				foreach ($users as $user) {
98
					/** @var IUser $owner */
99
					$owner = $this->userManager->get($user['user_id']);
100
					if (!$owner instanceof IUser){
101
						continue;
102
					}
103
104
					$userFolder = $this->rootFolder->getUserFolder($owner->getUID());
105
					$files = $userFolder->getById($fileId);
106
107
					if ($files === []) {
108
						continue;
109
					}
110
111
					$file = array_pop($files);
112
					if ($file instanceof File) {
113
						$this->scanOneFile($file);
114
					} else {
115
						$this->logger->error('Tried to scan non file');
116
					}
117
118
					// increased only for successfully scanned files
119
					$cnt++;
120
					break;
121
				}
122
			} catch (\Exception $e) {
123
				$this->logger->error( __METHOD__ . ', exception: ' . $e->getMessage(), ['app' => 'files_antivirus']);
124
			}
125
		}
126
127
		if ($cnt === $batchSize) {
128
			// we are done
@@ 140-173 (lines=34) @@
137
			return;
138
		}
139
140
		while (($row = $result->fetch()) && $cnt < $batchSize) {
141
			try {
142
				$fileId = $row['fileid'];
143
				$users = $this->getUserWithAccessToStorage((int)$row['storage']);
144
145
				foreach ($users as $user) {
146
					/** @var IUser $owner */
147
					$owner = $this->userManager->get($user);
148
					if (!$owner instanceof IUser){
149
						continue;
150
					}
151
152
					$userFolder = $this->rootFolder->getUserFolder($owner->getUID());
153
					$files = $userFolder->getById($fileId);
154
155
					if ($files === []) {
156
						continue;
157
					}
158
159
					$file = array_pop($files);
160
					if ($file instanceof File) {
161
						$this->scanOneFile($file);
162
					} else {
163
						$this->logger->error('Tried to scan non file');
164
					}
165
166
					// increased only for successfully scanned files
167
					$cnt++;
168
					break;
169
				}
170
			} catch (\Exception $e) {
171
				$this->logger->error( __METHOD__ . ', exception: ' . $e->getMessage(), ['app' => 'files_antivirus']);
172
			}
173
		}
174
	}
175
176
	protected function getBatchSize(): int {