diff --git a/Blacklight/Books.php b/Blacklight/Books.php index c8be5a81f..259597ab9 100755 --- a/Blacklight/Books.php +++ b/Blacklight/Books.php @@ -102,7 +102,7 @@ class Books return BookInfo::search($searchWords)->first(); } - public function getBookRange($page, $cat, $start, $num, $orderBy, array $excludedCats = []): mixed + public function getBookRange($page, $cat, $start, $num, $orderBy, array $excludedCats = []): array { $browseby = $this->getBrowseBy(); $catsrch = ''; @@ -175,16 +175,17 @@ class Books $order[0], $order[1] ); - - return Cache::flexible($sql.$page, [config('nntmux.cache_expiry_medium'), config('nntmux.cache_expiry_long')], function () use ($sql, $books) { - $return = DB::select($sql); - if (\count($return) > 0) { - $return[0]->_totalcount = $books['total'][0]->total ?? 0; - } - + $return = Cache::get(md5($sql.$page)); + if ($return !== null) { return $return; - }); + } + $return = DB::select($sql); + if (\count($return) > 0) { + $return[0]->_totalcount = $books['total'][0]->total ?? 0; + } + Cache::put(md5($sql.$page), $return, $expiresAt); + return $return; } public function getBookOrder($orderBy): array diff --git a/Blacklight/Console.php b/Blacklight/Console.php index d07706f47..67f744528 100755 --- a/Blacklight/Console.php +++ b/Blacklight/Console.php @@ -132,7 +132,10 @@ class Console return ConsoleInfo::search($searchWords)->first() ?? false; } - public function getConsoleRange($page, $cat, $start, $num, $orderBy, array $excludedCats = []): mixed + /** + * @throws \Exception + */ + public function getConsoleRange($page, $cat, $start, $num, $orderBy, array $excludedCats = []): array { $browseBy = $this->getBrowseBy(); $catsrch = ''; @@ -208,15 +211,18 @@ class Console $order[0], $order[1] ); - - return Cache::flexible($sql.$page, [config('nntmux.cache_expiry_medium'), config('nntmux.cache_expiry_long')], function () use ($sql, $consoles) { - $return = DB::select($sql); - if (\count($return) > 0) { - $return[0]->_totalcount = $consoles['total'][0]->total ?? 0; - } - + $return = Cache::get(md5($sql.$page)); + if ($return !== null) { return $return; - }); + } + $return = DB::select($sql); + if (\count($return) > 0) { + $return[0]->_totalcount = $consoles['total'][0]->total ?? 0; + } + $expiresAt = now()->addMinutes(config('nntmux.cache_expiry_long')); + Cache::put(md5($sql.$page), $return, $expiresAt); + + return $return; } public function getConsoleOrder($orderBy): array diff --git a/Blacklight/Games.php b/Blacklight/Games.php index 62b55def0..767300181 100755 --- a/Blacklight/Games.php +++ b/Blacklight/Games.php @@ -163,7 +163,10 @@ class Games return $res ?? 0; } - public function getGamesRange($page, $cat, $start, $num, array|string $orderBy = '', string $maxAge = '', array $excludedCats = []): mixed + /** + * @throws \Exception + */ + public function getGamesRange($page, $cat, $start, $num, array|string $orderBy = '', string $maxAge = '', array $excludedCats = []): array { $browseBy = $this->getBrowseBy(); $catsrch = ''; @@ -240,15 +243,17 @@ class Games $order[0], $order[1] ); - - return Cache::flexible($returnSql.$page, [config('nntmux.cache_expiry_medium'), config('nntmux.cache_expiry_long')], function () use ($returnSql, $games) { - $return = DB::select($returnSql); - if (\count($return) > 0) { - $return[0]->_totalcount = $games['total'][0]->total ?? 0; - } - + $return = Cache::get(md5($returnSql.$page)); + if ($return !== null) { return $return; - }); + } + $return = DB::select($returnSql); + if (\count($return) > 0) { + $return[0]->_totalcount = $games['total'][0]->total ?? 0; + } + Cache::put(md5($returnSql.$page), $return, $expiresAt); + + return $return; } public function getGamesOrder(array|string $orderBy): array diff --git a/Blacklight/Genres.php b/Blacklight/Genres.php index 31a1dc7c2..e33aac7e4 100755 --- a/Blacklight/Genres.php +++ b/Blacklight/Genres.php @@ -25,13 +25,21 @@ class Genres public function __construct() {} - public function getGenres(string $type = '', bool $activeOnly = false): mixed + /** + * @return array|mixed + */ + public function getGenres(string $type = '', bool $activeOnly = false) { $sql = $this->getListQuery($type, $activeOnly); + $genres = Cache::get(md5($sql)); + if ($genres !== null) { + return $genres; + } + $genres = DB::select($sql); + $expiresAt = now()->addMinutes(config('nntmux.cache_expiry_long')); + Cache::put(md5($sql), $genres, $expiresAt); - return Cache::flexible($sql, [config('nntmux.cache_expiry_medium'), config('nntmux.cache_expiry_long')], function () use ($sql) { - return DB::select($sql); - }); + return $genres; } public function loadGenres($type): array @@ -148,8 +156,15 @@ class Genres */ public function getDisabledIDs() { - return Cache::flexible('disabledCats', [config('nntmux.cache_expiry_medium'), config('nntmux.cache_expiry_long')], function () { - return Genre::query()->where('disabled', '=', 1)->get(['id']); - }); + $cats = Cache::get('disabledcats'); + if ($cats !== null) { + $disabled = $cats; + } else { + $disabled = Genre::query()->where('disabled', '=', 1)->get(['id']); + $expiresAt = now()->addMinutes(config('nntmux.cache_expiry_long')); + Cache::put('disabledcats', $disabled, $expiresAt); + } + + return $disabled; } } diff --git a/Blacklight/Music.php b/Blacklight/Music.php index 6f0657d6b..fc455dfbf 100755 --- a/Blacklight/Music.php +++ b/Blacklight/Music.php @@ -201,15 +201,17 @@ class Music $order[0], $order[1] ); - - return Cache::flexible($sql.$page, [config('nntmux.cache_expiry_medium'), config('nntmux.cache_expiry_long')], function () use ($sql, $music) { - $return = DB::select($sql); - if (\count($return) > 0) { - $return[0]->_totalcount = $music['total'][0]->total ?? 0; - } - + $return = Cache::get(md5($sql.$page)); + if ($return !== null) { return $return; - }); + } + $return = MusicInfo::fromQuery($sql); + if ($return->isNotEmpty()) { + $return[0]->_totalcount = $music['total'][0]->total ?? 0; + } + Cache::put(md5($sql.$page), $return, $expiresAt); + + return $return; } public function getMusicOrder($orderBy): array diff --git a/Blacklight/XXX.php b/Blacklight/XXX.php index 97c08010c..a54b3ec00 100755 --- a/Blacklight/XXX.php +++ b/Blacklight/XXX.php @@ -166,15 +166,17 @@ class XXX $order[0], $order[1] ); - - return Cache::flexible($sql.$page, [config('nntmux.cache_expiry_medium'), config('nntmux.cache_expiry_long')], function () use ($sql, $xxxmovies) { - $return = DB::select($sql); - if (\count($return) > 0) { - $return[0]->_totalcount = $xxxmovies['total'][0]->total ?? 0; - } - + $return = Cache::get(md5($sql.$page)); + if ($return !== null) { return $return; - }); + } + $return = DB::select($sql); + if (\count($return) > 0) { + $return[0]->_totalcount = $xxxmovies['total'][0]->total ?? 0; + } + Cache::put(md5($sql.$page), $return, $expiresAt); + + return $return; } /**