@@ -30,7 +30,7 @@ discard block |
||
30 | 30 | |
31 | 31 | // Check database connection and detect database type |
32 | 32 | $dbType = $this->checkDatabaseConnection(); |
33 | - if (! $dbType) { |
|
33 | + if (!$dbType) { |
|
34 | 34 | $this->error('Database connection failed'); |
35 | 35 | |
36 | 36 | return Command::FAILURE; |
@@ -123,7 +123,7 @@ discard block |
||
123 | 123 | |
124 | 124 | $this->warn("⚠️ Rolling back $steps migrations..."); |
125 | 125 | |
126 | - if (! $this->confirm('Are you sure you want to rollback migrations? This may cause data loss.')) { |
|
126 | + if (!$this->confirm('Are you sure you want to rollback migrations? This may cause data loss.')) { |
|
127 | 127 | $this->info('Rollback cancelled'); |
128 | 128 | |
129 | 129 | return Command::SUCCESS; |
@@ -13,7 +13,7 @@ discard block |
||
13 | 13 | */ |
14 | 14 | public static function hasFileChanged(string $filePath, ?string $cacheKey = null): bool |
15 | 15 | { |
16 | - if (! File::exists($filePath)) { |
|
16 | + if (!File::exists($filePath)) { |
|
17 | 17 | return false; |
18 | 18 | } |
19 | 19 | |
@@ -144,7 +144,7 @@ discard block |
||
144 | 144 | // Check PHP extensions |
145 | 145 | $requiredExtensions = ['pdo', 'mbstring', 'openssl', 'json', 'curl']; |
146 | 146 | foreach ($requiredExtensions as $ext) { |
147 | - if (! extension_loaded($ext)) { |
|
147 | + if (!extension_loaded($ext)) { |
|
148 | 148 | $recommendations[] = "Missing PHP extension: $ext"; |
149 | 149 | } |
150 | 150 | } |
@@ -162,14 +162,14 @@ discard block |
||
162 | 162 | } |
163 | 163 | |
164 | 164 | $memInfo = @file_get_contents('/proc/meminfo'); |
165 | - if (! $memInfo) { |
|
165 | + if (!$memInfo) { |
|
166 | 166 | return null; |
167 | 167 | } |
168 | 168 | |
169 | 169 | preg_match('/MemTotal:\s+(\d+)/', $memInfo, $totalMatch); |
170 | 170 | preg_match('/MemAvailable:\s+(\d+)/', $memInfo, $availableMatch); |
171 | 171 | |
172 | - if (! isset($totalMatch[1]) || ! isset($availableMatch[1])) { |
|
172 | + if (!isset($totalMatch[1]) || !isset($availableMatch[1])) { |
|
173 | 173 | return null; |
174 | 174 | } |
175 | 175 |
@@ -52,7 +52,7 @@ discard block |
||
52 | 52 | 'search' => ['available' => 'yes', 'supportedParams' => 'id'], |
53 | 53 | 'tv-search' => ['available' => 'yes', 'supportedParams' => 'id,vid,tvdbid,traktid,rid,tvmazeid,imdbid,tmdbid,season,ep'], |
54 | 54 | 'movie-search' => ['available' => 'yes', 'supportedParams' => 'id, imdbid, tmdbid, traktid'], |
55 | - 'audio-search' => ['available' => 'no', 'supportedParams' => ''], |
|
55 | + 'audio-search' => ['available' => 'no', 'supportedParams' => ''], |
|
56 | 56 | ], |
57 | 57 | 'categories' => fractal($category, new CategoryTransformer), |
58 | 58 | ]; |
@@ -75,7 +75,7 @@ discard block |
||
75 | 75 | ->with('role') // Eager load role to avoid N+1 |
76 | 76 | ->first(); |
77 | 77 | |
78 | - if (! $user) { |
|
78 | + if (!$user) { |
|
79 | 79 | return response()->json(['error' => 'Invalid API key'], 403); |
80 | 80 | } |
81 | 81 |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | $engine = $this->getSelectedEngine(); |
61 | 61 | $index = $this->getSelectedIndex(); |
62 | 62 | |
63 | - if (! $engine || ! $index) { |
|
63 | + if (!$engine || !$index) { |
|
64 | 64 | $this->error('You must specify both an engine (--manticore or --elastic) and an index (--releases or --predb).'); |
65 | 65 | $this->info('Use --help to see all available options.'); |
66 | 66 | |
@@ -134,7 +134,7 @@ discard block |
||
134 | 134 | { |
135 | 135 | $methodName = "{$engine}".ucfirst($index); |
136 | 136 | |
137 | - if (! method_exists($this, $methodName)) { |
|
137 | + if (!method_exists($this, $methodName)) { |
|
138 | 138 | $this->error("Method {$methodName} not implemented."); |
139 | 139 | |
140 | 140 | return Command::FAILURE; |
@@ -161,7 +161,7 @@ discard block |
||
161 | 161 | $manticore->truncateRTIndex(Arr::wrap($indexName)); |
162 | 162 | |
163 | 163 | $total = Release::count(); |
164 | - if (! $total) { |
|
164 | + if (!$total) { |
|
165 | 165 | $this->warn('Releases table is empty. Nothing to do.'); |
166 | 166 | |
167 | 167 | return Command::SUCCESS; |
@@ -190,7 +190,7 @@ discard block |
||
190 | 190 | $indexName, |
191 | 191 | $total, |
192 | 192 | $query, |
193 | - function ($item) { |
|
193 | + function($item) { |
|
194 | 194 | return [ |
195 | 195 | 'id' => (string) $item->id, |
196 | 196 | 'name' => (string) ($item->name ?: ''), |
@@ -215,7 +215,7 @@ discard block |
||
215 | 215 | $manticore->truncateRTIndex([$indexName]); |
216 | 216 | |
217 | 217 | $total = Predb::count(); |
218 | - if (! $total) { |
|
218 | + if (!$total) { |
|
219 | 219 | $this->warn('PreDB table is empty. Nothing to do.'); |
220 | 220 | |
221 | 221 | return Command::SUCCESS; |
@@ -229,7 +229,7 @@ discard block |
||
229 | 229 | $indexName, |
230 | 230 | $total, |
231 | 231 | $query, |
232 | - function ($item) { |
|
232 | + function($item) { |
|
233 | 233 | return [ |
234 | 234 | 'id' => $item->id, |
235 | 235 | 'title' => (string) ($item->title ?? ''), |
@@ -270,7 +270,7 @@ discard block |
||
270 | 270 | $batchData = []; |
271 | 271 | |
272 | 272 | try { |
273 | - $query->chunk($chunkSize, function ($items) use ($manticore, $indexName, $transformer, $bar, &$processedCount, &$errorCount, $batchSize, &$batchData) { |
|
273 | + $query->chunk($chunkSize, function($items) use ($manticore, $indexName, $transformer, $bar, &$processedCount, &$errorCount, $batchSize, &$batchData) { |
|
274 | 274 | foreach ($items as $item) { |
275 | 275 | try { |
276 | 276 | $batchData[] = $transformer($item); |
@@ -292,7 +292,7 @@ discard block |
||
292 | 292 | }); |
293 | 293 | |
294 | 294 | // Process remaining items |
295 | - if (! empty($batchData)) { |
|
295 | + if (!empty($batchData)) { |
|
296 | 296 | $this->processBatch($manticore, $indexName, $batchData); |
297 | 297 | } |
298 | 298 | |
@@ -324,7 +324,7 @@ discard block |
||
324 | 324 | private function elasticReleases(): int |
325 | 325 | { |
326 | 326 | $total = Release::count(); |
327 | - if (! $total) { |
|
327 | + if (!$total) { |
|
328 | 328 | $this->warn('Releases table is empty. Nothing to do.'); |
329 | 329 | |
330 | 330 | return Command::SUCCESS; |
@@ -355,7 +355,7 @@ discard block |
||
355 | 355 | 'releases', |
356 | 356 | $total, |
357 | 357 | $query, |
358 | - function ($item) { |
|
358 | + function($item) { |
|
359 | 359 | $searchName = str_replace(['.', '-'], ' ', $item->searchname ?? ''); |
360 | 360 | |
361 | 361 | return [ |
@@ -378,7 +378,7 @@ discard block |
||
378 | 378 | private function elasticPredb(): int |
379 | 379 | { |
380 | 380 | $total = Predb::count(); |
381 | - if (! $total) { |
|
381 | + if (!$total) { |
|
382 | 382 | $this->warn('PreDB table is empty. Nothing to do.'); |
383 | 383 | |
384 | 384 | return Command::SUCCESS; |
@@ -392,7 +392,7 @@ discard block |
||
392 | 392 | 'predb', |
393 | 393 | $total, |
394 | 394 | $query, |
395 | - function ($item) { |
|
395 | + function($item) { |
|
396 | 396 | return [ |
397 | 397 | 'id' => $item->id, |
398 | 398 | 'title' => $item->title, |
@@ -430,7 +430,7 @@ discard block |
||
430 | 430 | $errorCount = 0; |
431 | 431 | |
432 | 432 | try { |
433 | - $query->chunk($chunkSize, function ($items) use ($indexName, $transformer, $bar, &$processedCount, &$errorCount, $batchSize) { |
|
433 | + $query->chunk($chunkSize, function($items) use ($indexName, $transformer, $bar, &$processedCount, &$errorCount, $batchSize) { |
|
434 | 434 | // Process in optimized batches for ElasticSearch |
435 | 435 | foreach ($items->chunk($batchSize) as $batch) { |
436 | 436 | $data = ['body' => []]; |
@@ -458,7 +458,7 @@ discard block |
||
458 | 458 | $bar->advance(); |
459 | 459 | } |
460 | 460 | |
461 | - if (! empty($data['body'])) { |
|
461 | + if (!empty($data['body'])) { |
|
462 | 462 | $this->processElasticBatch($data, $errorCount); |
463 | 463 | } |
464 | 464 | } |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | $engine = $this->getSelectedEngine(); |
55 | 55 | $index = $this->getSelectedIndex(); |
56 | 56 | |
57 | - if (! $engine || ! $index) { |
|
57 | + if (!$engine || !$index) { |
|
58 | 58 | $this->error('Engine and index must be specified'); |
59 | 59 | |
60 | 60 | return Command::FAILURE; |
@@ -95,7 +95,7 @@ discard block |
||
95 | 95 | $manticore = new ManticoreSearch; |
96 | 96 | $batchData = []; |
97 | 97 | |
98 | - $query->chunk($batchSize, function ($items) use ($manticore, $indexName, $transformer, &$processed, &$errors, &$batchData, $batchSize, $workerId) { |
|
98 | + $query->chunk($batchSize, function($items) use ($manticore, $indexName, $transformer, &$processed, &$errors, &$batchData, $batchSize, $workerId) { |
|
99 | 99 | $this->info("Worker {$workerId}: Processing chunk of {$items->count()} items"); |
100 | 100 | |
101 | 101 | foreach ($items as $item) { |
@@ -116,13 +116,13 @@ discard block |
||
116 | 116 | }); |
117 | 117 | |
118 | 118 | // Process remaining items |
119 | - if (! empty($batchData)) { |
|
119 | + if (!empty($batchData)) { |
|
120 | 120 | $this->processManticoreBatch($manticore, $indexName, $batchData, $workerId); |
121 | 121 | $this->info("Worker {$workerId}: Inserted final batch of ".count($batchData).' records'); |
122 | 122 | } |
123 | 123 | |
124 | 124 | } else { // ElasticSearch |
125 | - $query->chunk($batchSize, function ($items) use ($indexName, $transformer, &$processed, &$errors, $workerId) { |
|
125 | + $query->chunk($batchSize, function($items) use ($indexName, $transformer, &$processed, &$errors, $workerId) { |
|
126 | 126 | $this->info("Worker {$workerId}: Processing chunk of {$items->count()} items"); |
127 | 127 | $data = ['body' => []]; |
128 | 128 | |
@@ -145,7 +145,7 @@ discard block |
||
145 | 145 | } |
146 | 146 | } |
147 | 147 | |
148 | - if (! empty($data['body'])) { |
|
148 | + if (!empty($data['body'])) { |
|
149 | 149 | $this->processElasticBatch($data, $workerId); |
150 | 150 | $this->info("Worker {$workerId}: Inserted batch of ".(count($data['body']) / 2).' records'); |
151 | 151 | } |
@@ -193,7 +193,7 @@ discard block |
||
193 | 193 | { |
194 | 194 | if ($index === 'releases') { |
195 | 195 | if ($engine === 'manticore') { |
196 | - return function ($item) { |
|
196 | + return function($item) { |
|
197 | 197 | return [ |
198 | 198 | 'id' => (string) $item->id, |
199 | 199 | 'name' => (string) ($item->name ?: ''), |
@@ -205,7 +205,7 @@ discard block |
||
205 | 205 | ]; |
206 | 206 | }; |
207 | 207 | } else { |
208 | - return function ($item) { |
|
208 | + return function($item) { |
|
209 | 209 | $searchName = str_replace(['.', '-'], ' ', $item->searchname ?? ''); |
210 | 210 | |
211 | 211 | return [ |
@@ -221,7 +221,7 @@ discard block |
||
221 | 221 | }; |
222 | 222 | } |
223 | 223 | } else { // predb |
224 | - return function ($item) { |
|
224 | + return function($item) { |
|
225 | 225 | return [ |
226 | 226 | 'id' => $item->id, |
227 | 227 | 'title' => (string) ($item->title ?? ''), |
@@ -46,7 +46,7 @@ discard block |
||
46 | 46 | $engine = $this->getSelectedEngine(); |
47 | 47 | $index = $this->getSelectedIndex(); |
48 | 48 | |
49 | - if (! $engine || ! $index) { |
|
49 | + if (!$engine || !$index) { |
|
50 | 50 | $this->error('You must specify both an engine (--manticore or --elastic) and an index (--releases or --predb).'); |
51 | 51 | |
52 | 52 | return Command::FAILURE; |
@@ -71,7 +71,7 @@ discard block |
||
71 | 71 | private function populateIndexParallel(string $engine, string $index): int |
72 | 72 | { |
73 | 73 | $total = $this->getTotalRecords($index); |
74 | - if (! $total) { |
|
74 | + if (!$total) { |
|
75 | 75 | $this->warn("{$index} table is empty. Nothing to do."); |
76 | 76 | |
77 | 77 | return Command::SUCCESS; |
@@ -196,7 +196,7 @@ discard block |
||
196 | 196 | continue; |
197 | 197 | } |
198 | 198 | |
199 | - if (! $process->running()) { |
|
199 | + if (!$process->running()) { |
|
200 | 200 | $completedProcesses[] = $processId; |
201 | 201 | $completed++; |
202 | 202 | $bar->advance(); |
@@ -234,7 +234,7 @@ discard block |
||
234 | 234 | $bar->finish(); |
235 | 235 | $this->newLine(); |
236 | 236 | |
237 | - if (! empty($failedProcesses)) { |
|
237 | + if (!empty($failedProcesses)) { |
|
238 | 238 | $this->error('Failed workers: '.implode(', ', $failedProcesses)); |
239 | 239 | } |
240 | 240 | } |
@@ -33,7 +33,7 @@ discard block |
||
33 | 33 | $engine = $this->getSelectedEngine(); |
34 | 34 | $index = $this->getSelectedIndex(); |
35 | 35 | |
36 | - if (! $engine || ! $index) { |
|
36 | + if (!$engine || !$index) { |
|
37 | 37 | $this->error('You must specify both an engine (--manticore or --elastic) and an index (--releases or --predb).'); |
38 | 38 | |
39 | 39 | return Command::FAILURE; |
@@ -65,7 +65,7 @@ discard block |
||
65 | 65 | // Check if index exists |
66 | 66 | $exists = \Elasticsearch::indices()->exists(['index' => $index]); |
67 | 67 | |
68 | - if (! $exists) { |
|
68 | + if (!$exists) { |
|
69 | 69 | $this->error("ElasticSearch index '{$index}' does not exist."); |
70 | 70 | |
71 | 71 | return; |
@@ -214,7 +214,7 @@ discard block |
||
214 | 214 | $this->info("\nTable structure:"); |
215 | 215 | $this->table( |
216 | 216 | ['Field', 'Type', 'Properties'], |
217 | - array_map(function ($row) { |
|
217 | + array_map(function($row) { |
|
218 | 218 | return [ |
219 | 219 | $row['Field'] ?? $row[0] ?? '', |
220 | 220 | $row['Type'] ?? $row[1] ?? '', |
@@ -22,7 +22,7 @@ discard block |
||
22 | 22 | ): Invitation { |
23 | 23 | // Get the user sending the invitation |
24 | 24 | $user = User::find($invitedBy); |
25 | - if (! $user) { |
|
25 | + if (!$user) { |
|
26 | 26 | throw new \Exception('User not found.'); |
27 | 27 | } |
28 | 28 | |
@@ -81,7 +81,7 @@ discard block |
||
81 | 81 | { |
82 | 82 | $invitation = Invitation::findOrFail($invitationId); |
83 | 83 | |
84 | - if (! $invitation->isValid()) { |
|
84 | + if (!$invitation->isValid()) { |
|
85 | 85 | throw new \Exception('Cannot resend an invalid invitation.'); |
86 | 86 | } |
87 | 87 | |
@@ -113,7 +113,7 @@ discard block |
||
113 | 113 | { |
114 | 114 | $invitation = Invitation::findValidByToken($token); |
115 | 115 | |
116 | - if (! $invitation) { |
|
116 | + if (!$invitation) { |
|
117 | 117 | throw new \Exception('Invalid or expired invitation token.'); |
118 | 118 | } |
119 | 119 | |
@@ -197,7 +197,7 @@ discard block |
||
197 | 197 | { |
198 | 198 | $invitation = Invitation::findByToken($token); |
199 | 199 | |
200 | - if (! $invitation) { |
|
200 | + if (!$invitation) { |
|
201 | 201 | return null; |
202 | 202 | } |
203 | 203 | |
@@ -218,7 +218,7 @@ discard block |
||
218 | 218 | public function getUserInvitationDetails(int $userId): array |
219 | 219 | { |
220 | 220 | $user = User::find($userId); |
221 | - if (! $user) { |
|
221 | + if (!$user) { |
|
222 | 222 | return []; |
223 | 223 | } |
224 | 224 |
@@ -158,7 +158,7 @@ discard block |
||
158 | 158 | // Get the default user role. |
159 | 159 | $userDefault = Role::query()->where('isdefault', '=', 1)->first(); |
160 | 160 | |
161 | - if (! empty($error)) { |
|
161 | + if (!empty($error)) { |
|
162 | 162 | return $this->showRegistrationForm($request, $error); |
163 | 163 | } |
164 | 164 | |
@@ -171,13 +171,13 @@ discard block |
||
171 | 171 | $invitedBy = 0; |
172 | 172 | $invitation = null; |
173 | 173 | |
174 | - if (! empty($inviteCode)) { |
|
174 | + if (!empty($inviteCode)) { |
|
175 | 175 | $invitation = Invitation::findValidByToken($inviteCode); |
176 | 176 | if ($invitation) { |
177 | 177 | $invitedBy = $invitation->invited_by; |
178 | 178 | |
179 | 179 | // Validate email matches invitation |
180 | - if (! empty($invitation->email) && $invitation->email !== $email) { |
|
180 | + if (!empty($invitation->email) && $invitation->email !== $email) { |
|
181 | 181 | $error = 'Email address does not match the invitation.'; |
182 | 182 | |
183 | 183 | return $this->showRegistrationForm($request, $error); |
@@ -230,7 +230,7 @@ discard block |
||
230 | 230 | |
231 | 231 | case 'view': |
232 | 232 | // See if it is a valid invite. |
233 | - if (($inviteCode !== null) && ! $this->isInvitationTokenValid($inviteCode)) { |
|
233 | + if (($inviteCode !== null) && !$this->isInvitationTokenValid($inviteCode)) { |
|
234 | 234 | $error = 'Invalid invitation token!'; |
235 | 235 | $showRegister = 0; |
236 | 236 | } else { |
@@ -269,14 +269,14 @@ discard block |
||
269 | 269 | } |
270 | 270 | |
271 | 271 | if ((int) Settings::settingValue('registerstatus') === Settings::REGISTER_STATUS_INVITE) { |
272 | - if (! empty($inviteCode)) { |
|
272 | + if (!empty($inviteCode)) { |
|
273 | 273 | if ($this->isInvitationTokenValid($inviteCode)) { |
274 | 274 | $error = ''; |
275 | 275 | $showRegister = 1; |
276 | 276 | |
277 | 277 | // Pre-fill email if invitation has one |
278 | 278 | $invitation = Invitation::findValidByToken($inviteCode); |
279 | - if ($invitation && ! empty($invitation->email)) { |
|
279 | + if ($invitation && !empty($invitation->email)) { |
|
280 | 280 | app('smarty.view')->assign('email', $invitation->email); |
281 | 281 | } |
282 | 282 | } else { |
@@ -324,12 +324,12 @@ discard block |
||
324 | 324 | |
325 | 325 | $invitation = Invitation::findValidByToken($token); |
326 | 326 | |
327 | - if (! $invitation) { |
|
327 | + if (!$invitation) { |
|
328 | 328 | return false; |
329 | 329 | } |
330 | 330 | |
331 | 331 | // If invitation has specific email, validate it matches |
332 | - if (! empty($invitation->email) && $invitation->email !== $email) { |
|
332 | + if (!empty($invitation->email) && $invitation->email !== $email) { |
|
333 | 333 | return false; |
334 | 334 | } |
335 | 335 |