@@ -250,7 +250,7 @@ discard block |
||
| 250 | 250 | { |
| 251 | 251 | $res = self::query()->where('email', '<>', '[email protected]'); |
| 252 | 252 | |
| 253 | - if (! empty($role)) { |
|
| 253 | + if (!empty($role)) { |
|
| 254 | 254 | $res->where('roles_id', $role); |
| 255 | 255 | } |
| 256 | 256 | |
@@ -291,7 +291,7 @@ discard block |
||
| 291 | 291 | 'rate_limit' => $rateLimit ? $rateLimit['rate_limit'] : 60, |
| 292 | 292 | ]; |
| 293 | 293 | |
| 294 | - if (! empty($email)) { |
|
| 294 | + if (!empty($email)) { |
|
| 295 | 295 | $email = trim($email); |
| 296 | 296 | $sql += ['email' => $email]; |
| 297 | 297 | } |
@@ -340,10 +340,10 @@ discard block |
||
| 340 | 340 | { |
| 341 | 341 | $user = self::find($uid); |
| 342 | 342 | $currRoleExp = $user->rolechangedate ?? now()->toDateTimeString(); |
| 343 | - if (! empty($date)) { |
|
| 343 | + if (!empty($date)) { |
|
| 344 | 344 | $user->update(['rolechangedate' => $date]); |
| 345 | 345 | } |
| 346 | - if (empty($date) && ! empty($addYear)) { |
|
| 346 | + if (empty($date) && !empty($addYear)) { |
|
| 347 | 347 | $user->update(['rolechangedate' => Carbon::createFromDate($currRoleExp)->addYears($addYear)]); |
| 348 | 348 | } |
| 349 | 349 | } |
@@ -400,10 +400,10 @@ discard block |
||
| 400 | 400 | return self::fromQuery( |
| 401 | 401 | sprintf( |
| 402 | 402 | $query, |
| 403 | - ! empty($userName) ? 'AND users.username '.'LIKE '.escapeString('%'.$userName.'%') : '', |
|
| 404 | - ! empty($email) ? 'AND users.email '.'LIKE '.escapeString('%'.$email.'%') : '', |
|
| 405 | - ! empty($host) ? 'AND users.host '.'LIKE '.escapeString('%'.$host.'%') : '', |
|
| 406 | - (! empty($role) ? ('AND users.roles_id = '.$role) : ''), |
|
| 403 | + !empty($userName) ? 'AND users.username '.'LIKE '.escapeString('%'.$userName.'%') : '', |
|
| 404 | + !empty($email) ? 'AND users.email '.'LIKE '.escapeString('%'.$email.'%') : '', |
|
| 405 | + !empty($host) ? 'AND users.host '.'LIKE '.escapeString('%'.$host.'%') : '', |
|
| 406 | + (!empty($role) ? ('AND users.roles_id = '.$role) : ''), |
|
| 407 | 407 | $order[0], |
| 408 | 408 | $order[1], |
| 409 | 409 | ($start === false ? '' : ('LIMIT '.$offset.' OFFSET '.$start)) |
@@ -515,7 +515,7 @@ discard block |
||
| 515 | 515 | |
| 516 | 516 | public static function isValidUrl($url): bool |
| 517 | 517 | { |
| 518 | - return (! preg_match('/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url)) ? false : true; |
|
| 518 | + return (!preg_match('/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url)) ? false : true; |
|
| 519 | 519 | } |
| 520 | 520 | |
| 521 | 521 | /** |
@@ -551,7 +551,7 @@ discard block |
||
| 551 | 551 | |
| 552 | 552 | // Make sure this is the last check, as if a further validation check failed, the invite would still have been used up. |
| 553 | 553 | $invitedBy = 0; |
| 554 | - if (! $forceInviteMode && (int) Settings::settingValue('registerstatus') === Settings::REGISTER_STATUS_INVITE) { |
|
| 554 | + if (!$forceInviteMode && (int) Settings::settingValue('registerstatus') === Settings::REGISTER_STATUS_INVITE) { |
|
| 555 | 555 | if ($inviteCode === '') { |
| 556 | 556 | return self::ERR_SIGNUP_BADINVITECODE; |
| 557 | 557 | } |
@@ -571,7 +571,7 @@ discard block |
||
| 571 | 571 | public static function checkAndUseInvite(string $inviteCode): int |
| 572 | 572 | { |
| 573 | 573 | $invite = Invitation::findValidByToken($inviteCode); |
| 574 | - if (! $invite) { |
|
| 574 | + if (!$invite) { |
|
| 575 | 575 | return -1; |
| 576 | 576 | } |
| 577 | 577 | |
@@ -587,7 +587,7 @@ discard block |
||
| 587 | 587 | public static function add(string $userName, string $password, string $email, int $role, ?string $notes = '', string $host = '', int $invites = Invitation::DEFAULT_INVITES, int $invitedBy = 0) |
| 588 | 588 | { |
| 589 | 589 | $password = self::hashPassword($password); |
| 590 | - if (! $password) { |
|
| 590 | + if (!$password) { |
|
| 591 | 591 | return false; |
| 592 | 592 | } |
| 593 | 593 | |
@@ -629,9 +629,9 @@ discard block |
||
| 629 | 629 | |
| 630 | 630 | $cats = ['view console', 'view movies', 'view audio', 'view tv', 'view pc', 'view adult', 'view books', 'view other']; |
| 631 | 631 | |
| 632 | - if (! empty($allowed)) { |
|
| 632 | + if (!empty($allowed)) { |
|
| 633 | 633 | foreach ($cats as $cat) { |
| 634 | - if (! \in_array($cat, $allowed, false)) { |
|
| 634 | + if (!\in_array($cat, $allowed, false)) { |
|
| 635 | 635 | $ret[] = match ($cat) { |
| 636 | 636 | 'view console' => 1000, |
| 637 | 637 | 'view movies' => 2000, |
@@ -26,10 +26,10 @@ discard block |
||
| 26 | 26 | */ |
| 27 | 27 | public function isBlackListed(array $msg, string $groupName): bool |
| 28 | 28 | { |
| 29 | - if (! isset($this->listsFound[$groupName])) { |
|
| 29 | + if (!isset($this->listsFound[$groupName])) { |
|
| 30 | 30 | $this->retrieveLists($groupName); |
| 31 | 31 | } |
| 32 | - if (! $this->listsFound[$groupName]) { |
|
| 32 | + if (!$this->listsFound[$groupName]) { |
|
| 33 | 33 | return false; |
| 34 | 34 | } |
| 35 | 35 | |
@@ -52,7 +52,7 @@ discard block |
||
| 52 | 52 | } |
| 53 | 53 | } |
| 54 | 54 | |
| 55 | - if (! $blackListed && $this->blackList[$groupName]) { |
|
| 55 | + if (!$blackListed && $this->blackList[$groupName]) { |
|
| 56 | 56 | foreach ($this->blackList[$groupName] as $blackList) { |
| 57 | 57 | if (@preg_match('/'.$blackList->regex.'/i', $field[$blackList->msgcol])) { |
| 58 | 58 | $blackListed = true; |
@@ -155,10 +155,10 @@ discard block |
||
| 155 | 155 | |
| 156 | 156 | private function retrieveLists(string $groupName): void |
| 157 | 157 | { |
| 158 | - if (! isset($this->blackList[$groupName])) { |
|
| 158 | + if (!isset($this->blackList[$groupName])) { |
|
| 159 | 159 | $this->blackList[$groupName] = $this->getBlacklist(true, \Blacklight\Binaries::OPTYPE_BLACKLIST, $groupName, true); |
| 160 | 160 | } |
| 161 | - if (! isset($this->whiteList[$groupName])) { |
|
| 161 | + if (!isset($this->whiteList[$groupName])) { |
|
| 162 | 162 | $this->whiteList[$groupName] = $this->getBlacklist(true, \Blacklight\Binaries::OPTYPE_WHITELIST, $groupName, true); |
| 163 | 163 | } |
| 164 | 164 | $this->listsFound[$groupName] = ($this->blackList[$groupName] || $this->whiteList[$groupName]); |
@@ -43,7 +43,7 @@ discard block |
||
| 43 | 43 | $collectionsQuery = Collection::query() |
| 44 | 44 | ->where('collections.filecheck', ProcessReleases::COLLFC_SIZED) |
| 45 | 45 | ->where('collections.filesize', '>', 0); |
| 46 | - if (! empty($groupID)) { |
|
| 46 | + if (!empty($groupID)) { |
|
| 47 | 47 | $collectionsQuery->where('collections.groups_id', $groupID); |
| 48 | 48 | } |
| 49 | 49 | $collectionsQuery->select(['collections.*', 'usenet_groups.name as gname']) |
@@ -98,7 +98,7 @@ discard block |
||
| 98 | 98 | |
| 99 | 99 | $determinedCategory = $categorize->determineCategory($collection->groups_id, $cleanedName); |
| 100 | 100 | |
| 101 | - $searchName = ! empty($cleanedName) ? mb_convert_encoding($cleanedName, 'UTF-8', mb_list_encodings()) : $cleanRelName; |
|
| 101 | + $searchName = !empty($cleanedName) ? mb_convert_encoding($cleanedName, 'UTF-8', mb_list_encodings()) : $cleanRelName; |
|
| 102 | 102 | |
| 103 | 103 | $releaseID = Release::insertRelease([ |
| 104 | 104 | 'name' => $cleanRelName, |
@@ -117,7 +117,7 @@ discard block |
||
| 117 | 117 | ]); |
| 118 | 118 | |
| 119 | 119 | if ($releaseID !== null) { |
| 120 | - DB::transaction(static function () use ($collection, $releaseID) { |
|
| 120 | + DB::transaction(static function() use ($collection, $releaseID) { |
|
| 121 | 121 | Collection::query()->where('id', $collection->id)->update([ |
| 122 | 122 | 'filecheck' => ProcessReleases::COLLFC_INSERTED, |
| 123 | 123 | 'releases_id' => $releaseID, |
@@ -170,7 +170,7 @@ discard block |
||
| 170 | 170 | } |
| 171 | 171 | } |
| 172 | 172 | } else { |
| 173 | - DB::transaction(static function () use ($collection) { |
|
| 173 | + DB::transaction(static function() use ($collection) { |
|
| 174 | 174 | Collection::query()->where('collectionhash', $collection->collectionhash)->delete(); |
| 175 | 175 | }, 10); |
| 176 | 176 | |
@@ -92,7 +92,7 @@ discard block |
||
| 92 | 92 | |
| 93 | 93 | // Validate |
| 94 | 94 | $invalid = $this->invalidCategories($normalized); |
| 95 | - if (! empty($invalid)) { |
|
| 95 | + if (!empty($invalid)) { |
|
| 96 | 96 | $this->error('Unknown category option(s): '.implode(', ', $invalid)); |
| 97 | 97 | $this->line('Allowed: '.implode(', ', self::$allowedCategories).' (or omit --category to reset all).'); |
| 98 | 98 | |
@@ -150,12 +150,12 @@ discard block |
||
| 150 | 150 | private function normalizeCategories(array $raw): array |
| 151 | 151 | { |
| 152 | 152 | $normalized = collect($raw) |
| 153 | - ->flatMap(function ($opt) { |
|
| 153 | + ->flatMap(function($opt) { |
|
| 154 | 154 | $opt = is_array($opt) ? implode(',', $opt) : (string) $opt; |
| 155 | 155 | |
| 156 | 156 | return preg_split('/[\s,]+/', $opt, -1, PREG_SPLIT_NO_EMPTY); |
| 157 | 157 | }) |
| 158 | - ->map(function ($opt) { |
|
| 158 | + ->map(function($opt) { |
|
| 159 | 159 | $opt = trim((string) $opt); |
| 160 | 160 | // If the token contains '=', take the substring after the last '=' |
| 161 | 161 | if (str_contains($opt, '=')) { |
@@ -186,7 +186,7 @@ discard block |
||
| 186 | 186 | private function invalidCategories(array $normalized): array |
| 187 | 187 | { |
| 188 | 188 | return collect($normalized) |
| 189 | - ->reject(function ($opt) { |
|
| 189 | + ->reject(function($opt) { |
|
| 190 | 190 | return in_array($opt, self::$allowedCategories, true) || $opt === 'all'; |
| 191 | 191 | }) |
| 192 | 192 | ->values() |
@@ -274,7 +274,7 @@ |
||
| 274 | 274 | |
| 275 | 275 | // Loop through the files. |
| 276 | 276 | foreach ($files as $file) { |
| 277 | - if (! isset($file['name'])) { |
|
| 277 | + if (!isset($file['name'])) { |
|
| 278 | 278 | continue; |
| 279 | 279 | } |
| 280 | 280 | |
@@ -14,7 +14,7 @@ discard block |
||
| 14 | 14 | public function ensureMainTempPath(string $basePath, string $guidChar = '', string $groupID = ''): string |
| 15 | 15 | { |
| 16 | 16 | // Normalize separator at end |
| 17 | - if (! Str::endsWith($basePath, ['/', '\\'])) { |
|
| 17 | + if (!Str::endsWith($basePath, ['/', '\\'])) { |
|
| 18 | 18 | $basePath .= '/'; |
| 19 | 19 | } |
| 20 | 20 | |
@@ -24,8 +24,8 @@ discard block |
||
| 24 | 24 | $basePath .= $guidChar.'/'; |
| 25 | 25 | } |
| 26 | 26 | |
| 27 | - if (! File::isDirectory($basePath)) { |
|
| 28 | - if (! File::makeDirectory($basePath, 0777, true, true) && ! File::isDirectory($basePath)) { |
|
| 27 | + if (!File::isDirectory($basePath)) { |
|
| 28 | + if (!File::makeDirectory($basePath, 0777, true, true) && !File::isDirectory($basePath)) { |
|
| 29 | 29 | throw new \RuntimeException(sprintf('Directory "%s" was not created', $basePath)); |
| 30 | 30 | } |
| 31 | 31 | } |
@@ -39,10 +39,10 @@ discard block |
||
| 39 | 39 | public function createReleaseTempFolder(string $mainTmpPath, string $guid): string |
| 40 | 40 | { |
| 41 | 41 | $tmpPath = rtrim($mainTmpPath, '/\\').'/'.$guid.'/'; |
| 42 | - if (! File::isDirectory($tmpPath)) { |
|
| 43 | - if (! File::makeDirectory($tmpPath, 0777, true, false) && ! File::isDirectory($tmpPath)) { |
|
| 42 | + if (!File::isDirectory($tmpPath)) { |
|
| 43 | + if (!File::makeDirectory($tmpPath, 0777, true, false) && !File::isDirectory($tmpPath)) { |
|
| 44 | 44 | // Try again once in case of transient FS issues |
| 45 | - if (! File::makeDirectory($tmpPath, 0777, true, false) && ! File::isDirectory($tmpPath)) { |
|
| 45 | + if (!File::makeDirectory($tmpPath, 0777, true, false) && !File::isDirectory($tmpPath)) { |
|
| 46 | 46 | throw new \RuntimeException('Unable to create directory: '.$tmpPath); |
| 47 | 47 | } |
| 48 | 48 | } |
@@ -56,7 +56,7 @@ discard block |
||
| 56 | 56 | */ |
| 57 | 57 | public function clearDirectory(string $path, bool $preserveRoot = true): void |
| 58 | 58 | { |
| 59 | - if ($path === '' || ! File::exists($path)) { |
|
| 59 | + if ($path === '' || !File::exists($path)) { |
|
| 60 | 60 | return; |
| 61 | 61 | } |
| 62 | 62 | |
@@ -69,7 +69,7 @@ discard block |
||
| 69 | 69 | foreach (File::directories($path) as $dir) { |
| 70 | 70 | File::deleteDirectory($dir); |
| 71 | 71 | } |
| 72 | - if (! $preserveRoot) { |
|
| 72 | + if (!$preserveRoot) { |
|
| 73 | 73 | File::deleteDirectory($path); |
| 74 | 74 | } |
| 75 | 75 | } elseif (File::isFile($path)) { |
@@ -15,14 +15,14 @@ |
||
| 15 | 15 | public function analyze(string $compressedData): array |
| 16 | 16 | { |
| 17 | 17 | $ok = $this->archiveInfo->setData($compressedData, true); |
| 18 | - if (! $ok) { |
|
| 18 | + if (!$ok) { |
|
| 19 | 19 | return ['ok' => false, 'error' => $this->archiveInfo->error ?: 'Unknown error', 'summary' => null, 'is_encrypted' => false]; |
| 20 | 20 | } |
| 21 | 21 | if ($this->archiveInfo->error !== '') { |
| 22 | 22 | return ['ok' => false, 'error' => $this->archiveInfo->error, 'summary' => null, 'is_encrypted' => false]; |
| 23 | 23 | } |
| 24 | 24 | $summary = $this->archiveInfo->getSummary(true); |
| 25 | - $isEncrypted = ! empty($this->archiveInfo->isEncrypted) || (isset($summary['is_encrypted']) && (int) $summary['is_encrypted'] !== 0); |
|
| 25 | + $isEncrypted = !empty($this->archiveInfo->isEncrypted) || (isset($summary['is_encrypted']) && (int) $summary['is_encrypted'] !== 0); |
|
| 26 | 26 | |
| 27 | 27 | return ['ok' => true, 'error' => null, 'summary' => $summary, 'is_encrypted' => $isEncrypted]; |
| 28 | 28 | } |
@@ -57,7 +57,7 @@ discard block |
||
| 57 | 57 | if (preg_match('/time=(\d{1,2}:\d{1,2}:)?(\d{1,2})\.(\d{1,2})\s*bitrate=/i', $time, $numbers)) { |
| 58 | 58 | if ($numbers[3] > 0) { |
| 59 | 59 | $numbers[3]--; |
| 60 | - } elseif (! empty($numbers[1])) { |
|
| 60 | + } elseif (!empty($numbers[1])) { |
|
| 61 | 61 | $numbers[2]--; |
| 62 | 62 | $numbers[3] = '99'; |
| 63 | 63 | } |
@@ -116,10 +116,10 @@ discard block |
||
| 116 | 116 | |
| 117 | 117 | public function createSampleImage(string $guid, string $fileLocation, string $tmpPath, bool $enabled, int $width = 800, int $height = 600): bool |
| 118 | 118 | { |
| 119 | - if (! $enabled) { |
|
| 119 | + if (!$enabled) { |
|
| 120 | 120 | return false; |
| 121 | 121 | } |
| 122 | - if (! File::isFile($fileLocation)) { |
|
| 122 | + if (!File::isFile($fileLocation)) { |
|
| 123 | 123 | return false; |
| 124 | 124 | } |
| 125 | 125 | $fileName = ($tmpPath.'zzzz'.random_int(5, 12).random_int(5, 12).'.jpg'); |
@@ -135,7 +135,7 @@ discard block |
||
| 135 | 135 | } |
| 136 | 136 | } |
| 137 | 137 | } |
| 138 | - if (! File::isFile($fileName)) { |
|
| 138 | + if (!File::isFile($fileName)) { |
|
| 139 | 139 | return false; |
| 140 | 140 | } |
| 141 | 141 | $saved = $this->releaseImage->saveImage( |
@@ -155,10 +155,10 @@ discard block |
||
| 155 | 155 | |
| 156 | 156 | public function createVideoSample(string $guid, string $fileLocation, string $tmpPath, bool $enabled, int $durationSeconds): bool |
| 157 | 157 | { |
| 158 | - if (! $enabled) { |
|
| 158 | + if (!$enabled) { |
|
| 159 | 159 | return false; |
| 160 | 160 | } |
| 161 | - if (! File::isFile($fileLocation)) { |
|
| 161 | + if (!File::isFile($fileLocation)) { |
|
| 162 | 162 | return false; |
| 163 | 163 | } |
| 164 | 164 | $fileName = ($tmpPath.'zzzz'.$guid.'.ogv'); |
@@ -194,7 +194,7 @@ discard block |
||
| 194 | 194 | } |
| 195 | 195 | } |
| 196 | 196 | } |
| 197 | - if (! $newMethod && $this->ffprobe->isValid($fileLocation)) { |
|
| 197 | + if (!$newMethod && $this->ffprobe->isValid($fileLocation)) { |
|
| 198 | 198 | try { |
| 199 | 199 | $video = $this->ffmpeg->open($fileLocation); |
| 200 | 200 | $videoSample = $video->clip(TimeCode::fromSeconds(0), TimeCode::fromSeconds($durationSeconds)); |
@@ -208,14 +208,14 @@ discard block |
||
| 208 | 208 | } |
| 209 | 209 | } |
| 210 | 210 | } |
| 211 | - if (! File::isFile($fileName)) { |
|
| 211 | + if (!File::isFile($fileName)) { |
|
| 212 | 212 | return false; |
| 213 | 213 | } |
| 214 | 214 | $newFile = ($this->releaseImage->vidSavePath.$guid.'.ogv'); |
| 215 | - if (! @File::move($fileName, $newFile)) { |
|
| 215 | + if (!@File::move($fileName, $newFile)) { |
|
| 216 | 216 | $copied = @File::copy($fileName, $newFile); |
| 217 | 217 | File::delete($fileName); |
| 218 | - if (! $copied) { |
|
| 218 | + if (!$copied) { |
|
| 219 | 219 | return false; |
| 220 | 220 | } |
| 221 | 221 | } |
@@ -227,7 +227,7 @@ discard block |
||
| 227 | 227 | |
| 228 | 228 | public function addVideoMediaInfo(int $releaseId, string $fileLocation): bool |
| 229 | 229 | { |
| 230 | - if (! File::isFile($fileLocation)) { |
|
| 230 | + if (!File::isFile($fileLocation)) { |
|
| 231 | 231 | return false; |
| 232 | 232 | } |
| 233 | 233 | try { |
@@ -252,8 +252,8 @@ discard block |
||
| 252 | 252 | string $audioSavePath |
| 253 | 253 | ): array { |
| 254 | 254 | // Mirror original behavior: defaults depend on flags, not file presence |
| 255 | - $retVal = ! $processAudioInfo ? true : false; |
|
| 256 | - $audVal = ! $processAudioSample ? true : false; |
|
| 255 | + $retVal = !$processAudioInfo ? true : false; |
|
| 256 | + $audVal = !$processAudioSample ? true : false; |
|
| 257 | 257 | |
| 258 | 258 | // Only proceed with file-dependent operations if file exists |
| 259 | 259 | if (File::isFile($fileLocation)) { |
@@ -265,7 +265,7 @@ discard block |
||
| 265 | 265 | if ($track->get('album') !== null && $track->get('performer') !== null) { |
| 266 | 266 | if ((int) $release->predb_id === 0 && config('nntmux.rename_music_mediainfo')) { |
| 267 | 267 | $ext = strtoupper($fileExtension); |
| 268 | - if (! empty($track->get('recorded_date')) && preg_match('/(?:19|20)\d\d/', $track->get('recorded_date')->getFullname(), $Year)) { |
|
| 268 | + if (!empty($track->get('recorded_date')) && preg_match('/(?:19|20)\d\d/', $track->get('recorded_date')->getFullname(), $Year)) { |
|
| 269 | 269 | $newName = $track->get('performer')->getFullName().' - '.$track->get('album')->getFullName().' ('.$Year[0].') '.$ext; |
| 270 | 270 | } else { |
| 271 | 271 | $newName = $track->get('performer')->getFullName().' - '.$track->get('album')->getFullName().' '.$ext; |
@@ -31,17 +31,17 @@ |
||
| 31 | 31 | $purgeDays = (int) config('nntmux.purge_inactive_users_days'); |
| 32 | 32 | $threshold = now()->subDays($purgeDays); |
| 33 | 33 | |
| 34 | - User::query()->where('roles_id', 1)->where(function ($q) use ($threshold) { |
|
| 35 | - $q->where(function ($qq) use ($threshold) { |
|
| 34 | + User::query()->where('roles_id', 1)->where(function($q) use ($threshold) { |
|
| 35 | + $q->where(function($qq) use ($threshold) { |
|
| 36 | 36 | $qq->whereNotNull('lastlogin')->where('lastlogin', '<', $threshold); |
| 37 | - })->orWhere(function ($qq) use ($threshold) { |
|
| 37 | + })->orWhere(function($qq) use ($threshold) { |
|
| 38 | 38 | // Only treat null lastlogin as inactive if the account is older than threshold |
| 39 | 39 | $qq->whereNull('lastlogin')->where('created_at', '<', $threshold); |
| 40 | 40 | }); |
| 41 | - })->where(function ($q) use ($threshold) { |
|
| 42 | - $q->where(function ($qq) use ($threshold) { |
|
| 41 | + })->where(function($q) use ($threshold) { |
|
| 42 | + $q->where(function($qq) use ($threshold) { |
|
| 43 | 43 | $qq->whereNotNull('apiaccess')->where('apiaccess', '<', $threshold); |
| 44 | - })->orWhere(function ($qq) use ($threshold) { |
|
| 44 | + })->orWhere(function($qq) use ($threshold) { |
|
| 45 | 45 | $qq->whereNull('apiaccess')->where('created_at', '<', $threshold); |
| 46 | 46 | }); |
| 47 | 47 | }); |