diff --git a/Blacklight/Books.php b/Blacklight/Books.php index 38a9ed538..92ccb872f 100755 --- a/Blacklight/Books.php +++ b/Blacklight/Books.php @@ -229,7 +229,7 @@ class Books } $return = DBFacade::select($sql); if (\count($return) > 0) { - $return['_totalcount'] = $books['total'][0]->total ?? 0; + $return[0]->_totalcount = $books['total'][0]->total ?? 0; } Cache::put(md5($sql.$page), $return, $expiresAt); diff --git a/Blacklight/Console.php b/Blacklight/Console.php index f398b2202..63e8333c2 100755 --- a/Blacklight/Console.php +++ b/Blacklight/Console.php @@ -238,7 +238,7 @@ class Console } $return = DB::select($sql); if (\count($return) > 0) { - $return['_totalcount'] = $consoles[0]->total ?? 0; + $return[0]->_totalcount = $consoles[0]->total ?? 0; } $expiresAt = Carbon::now()->addMinutes(config('nntmux.cache_expiry_long')); Cache::put(md5($sql.$page), $return, $expiresAt); diff --git a/Blacklight/Games.php b/Blacklight/Games.php index 564da0d51..ee755f10a 100755 --- a/Blacklight/Games.php +++ b/Blacklight/Games.php @@ -308,7 +308,7 @@ class Games } $return = DB::select($returnSql); if (\count($return) > 0) { - $return['_totalcount'] = $games['total'][0]->total ?? 0; + $return[0]->_totalcount = $games['total'][0]->total ?? 0; } Cache::put(md5($returnSql.$page), $return, $expiresAt); diff --git a/Blacklight/Movie.php b/Blacklight/Movie.php index 3e4abb99d..1dd55050a 100755 --- a/Blacklight/Movie.php +++ b/Blacklight/Movie.php @@ -342,7 +342,7 @@ class Movie } $return = DBFacade::select($sql); if (\count($return) > 0) { - $return['_totalcount'] = $movies['total'][0]->total ?? 0; + $return[0]->_totalcount = $movies['total'][0]->total ?? 0; } Cache::put(md5($sql.$page), $return, $expiresAt); diff --git a/Blacklight/Music.php b/Blacklight/Music.php index ffa0237fa..eb4a4776b 100755 --- a/Blacklight/Music.php +++ b/Blacklight/Music.php @@ -223,7 +223,7 @@ class Music } $return = DB::select($sql); if (! empty($return)) { - $return['_totalcount'] = $music['total'] ?? 0; + $return[0]->_totalcount = $music['total'] ?? 0; } Cache::put(md5($sql.$page), $return, $expiresAt); diff --git a/Blacklight/Releases.php b/Blacklight/Releases.php index e5a9cf5cb..8135da7e9 100755 --- a/Blacklight/Releases.php +++ b/Blacklight/Releases.php @@ -130,7 +130,7 @@ class Releases $sql = DB::select($qry); if (\count($sql) > 0) { $possibleRows = $this->getBrowseCount($cat, $maxAge, $excludedCats, $groupName); - $sql['_totalcount'] = $sql['_totalrows'] = $possibleRows; + $sql[0]->_totalcount = $sql[0]->_totalrows = $possibleRows; } $expiresAt = Carbon::now()->addMinutes(config('nntmux.cache_expiry_medium')); Cache::put(md5($qry.$page), $sql, $expiresAt); @@ -681,7 +681,7 @@ class Releases } $releases = DB::select($sql); if (! empty($releases) && \count($releases) > 0) { - $releases['_totalrows'] = $this->getPagerCount($baseSql); + $releases[0]->_totalrows = $this->getPagerCount($baseSql); } $expiresAt = Carbon::now()->addMinutes(config('nntmux.cache_expiry_medium')); Cache::put(md5($sql), $releases, $expiresAt); @@ -809,16 +809,17 @@ class Releases $limit, $offset ); - $releases = Cache::get(md5($sql)); + /*$releases = Cache::get(md5($sql)); if ($releases !== null) { return $releases; - } + }*/ $releases = DB::select($sql); if (! empty($releases) && \count($releases) > 0) { - $releases['_totalrows'] = $this->getPagerCount( + $releases[0]->_totalrows = $this->getPagerCount( preg_replace('#LEFT(\s+OUTER)?\s+JOIN\s+(?!tv_episodes)\s+.*ON.*=.*\n#i', ' ', $baseSql) ); } + $expiresAt = Carbon::now()->addMinutes(config('nntmux.cache_expiry_medium')); Cache::put(md5($sql), $releases, $expiresAt); @@ -881,7 +882,7 @@ class Releases } $releases = DB::select($sql); if (! empty($releases) && \count($releases) > 0) { - $releases['_totalrows'] = $this->getPagerCount($baseSql); + $releases[0]->_totalrows = $this->getPagerCount($baseSql); } $expiresAt = Carbon::now()->addMinutes(config('nntmux.cache_expiry_medium')); Cache::put(md5($sql), $releases, $expiresAt); @@ -946,7 +947,7 @@ class Releases } $releases = DB::select($sql); if (! empty($releases) && \count($releases) > 0) { - $releases['_totalrows'] = $this->getPagerCount($baseSql); + $releases[0]->_totalrows = $this->getPagerCount($baseSql); } $expiresAt = Carbon::now()->addMinutes(config('nntmux.cache_expiry_medium')); Cache::put(md5($sql), $releases, $expiresAt); diff --git a/Blacklight/XXX.php b/Blacklight/XXX.php index d8dff8bbe..c03f8fc43 100755 --- a/Blacklight/XXX.php +++ b/Blacklight/XXX.php @@ -225,7 +225,7 @@ class XXX } $return = DB::select($sql); if (\count($return) > 0) { - $return['_totalcount'] = $xxxmovies['total'][0]->total ?? 0; + $return[0]->_totalcount = $xxxmovies['total'][0]->total ?? 0; } Cache::put(md5($sql.$page), $return, $expiresAt); diff --git a/Blacklight/http/XML_Response.php b/Blacklight/http/XML_Response.php index 889db676e..631d42bd7 100755 --- a/Blacklight/http/XML_Response.php +++ b/Blacklight/http/XML_Response.php @@ -343,7 +343,7 @@ class XML_Response { $this->xml->startElement($this->namespace.':response'); $this->xml->writeAttribute('offset', $this->offset); - $this->xml->writeAttribute('total', $this->releases['_totalrows'] ?? 0); + $this->xml->writeAttribute('total', $this->releases[0]->_totalrows ?? 0); $this->xml->endElement(); } diff --git a/Changelog b/Changelog index f34fef4cf..eff333936 100755 --- a/Changelog +++ b/Changelog @@ -1,3 +1,5 @@ +2018-05-20 DariusIII + * Chg: Re-use old code and fix _totalrows and _totalcount insertion into existing array/object 2018-05-18 DariusIII * Fix: Fix more errors in Charisma theme * Fix: Fix user profile edit page diff --git a/app/Http/Controllers/AdultController.php b/app/Http/Controllers/AdultController.php index 0dbd8ffd1..bad1dbfa7 100644 --- a/app/Http/Controllers/AdultController.php +++ b/app/Http/Controllers/AdultController.php @@ -50,15 +50,13 @@ class AdultController extends BasePageController $page = $request->has('page') && is_numeric($request->input('page')) ? $request->input('page') : 1; $offset = ($page - 1) * config('nntmux.items_per_cover_page'); $rslt = $adult->getXXXRange($page, $catarray, $offset, config('nntmux.items_per_cover_page'), $orderby, -1, $this->userdata['categoryexclusions']); - $results = $this->paginate($rslt ?? [], $rslt['_totalcount'] ?? 0, config('nntmux.items_per_cover_page'), $page, $request->url(), $request->query()); + $results = $this->paginate($rslt ?? [], $rslt[0]->_totalcount ?? 0, config('nntmux.items_per_cover_page'), $page, $request->url(), $request->query()); foreach ($results as $result) { - if (! empty($result->id)) { - $result->genre = makeFieldLinks((array) $result, 'genre', 'xxx'); - $result->actors = makeFieldLinks((array) $result, 'actors', 'xxx'); - $result->director = makeFieldLinks((array) $result, 'director', 'xxx'); + $result->genre = makeFieldLinks((array) $result, 'genre', 'xxx'); + $result->actors = makeFieldLinks((array) $result, 'actors', 'xxx'); + $result->director = makeFieldLinks((array) $result, 'director', 'xxx'); - $movies[] = $result; - } + $movies[] = $result; } $title = ($request->has('title') && ! empty($request->input('title'))) ? stripslashes($request->input('title')) : ''; diff --git a/app/Http/Controllers/BooksController.php b/app/Http/Controllers/BooksController.php index 74cd51d5e..730a87cab 100644 --- a/app/Http/Controllers/BooksController.php +++ b/app/Http/Controllers/BooksController.php @@ -53,7 +53,7 @@ class BooksController extends BasePageController $page = $request->has('page') && is_numeric($request->input('page')) ? $request->input('page') : 1; $offset = ($page - 1) * config('nntmux.items_per_cover_page'); $rslt = $book->getBookRange($page, $catarray, $offset, config('nntmux.items_per_cover_page'), $orderby, $this->userdata['categoryexclusions']); - $results = $this->paginate($rslt ?? [], $rslt['_totalcount'] ?? 0, config('nntmux.items_per_cover_page'), $page, $request->url(), $request->query()); + $results = $this->paginate($rslt ?? [], $rslt[0]->_totalcount ?? 0, config('nntmux.items_per_cover_page'), $page, $request->url(), $request->query()); $maxwords = 50; foreach ($results as $result) { if (! empty($result->overview)) { diff --git a/app/Http/Controllers/BrowseController.php b/app/Http/Controllers/BrowseController.php index 35e902ea2..9460f2c3e 100644 --- a/app/Http/Controllers/BrowseController.php +++ b/app/Http/Controllers/BrowseController.php @@ -28,7 +28,7 @@ class BrowseController extends BasePageController $offset = ($page - 1) * config('nntmux.items_per_page'); $rslt = $releases->getBrowseRange($page, [-1], $offset, config('nntmux.items_per_page'), $orderby, -1, $this->userdata['categoryexclusions'], -1); - $results = $this->paginate($rslt ?? [], $rslt['_totalcount'] ?? 0, config('nntmux.items_per_page'), $page, request()->url(), request()->query()); + $results = $this->paginate($rslt ?? [], $rslt[0]->_totalcount ?? 0, config('nntmux.items_per_page'), $page, request()->url(), request()->query()); $this->smarty->assign('catname', 'All'); @@ -85,14 +85,12 @@ class BrowseController extends BasePageController $offset = ($page - 1) * config('nntmux.items_per_page'); $rslt = $releases->getBrowseRange($page, $catarray, $offset, config('nntmux.items_per_page'), $orderby, -1, $this->userdata['categoryexclusions'], $grp); - $results = $this->paginate($rslt ?? [], $rslt['_totalcount'] ?? 0, config('nntmux.items_per_page'), $page, request()->url(), request()->query()); + $results = $this->paginate($rslt ?? [], $rslt[0]->_totalcount ?? 0, config('nntmux.items_per_page'), $page, request()->url(), request()->query()); $browse = []; foreach ($results as $result) { - if (! empty($result->id)) { - $browse[] = $result; - } + $browse[] = $result; } $this->smarty->assign('catname', $id); @@ -160,7 +158,7 @@ class BrowseController extends BasePageController $page = request()->has('page') && is_numeric(request()->input('page')) ? request()->input('page') : 1; $offset = ($page - 1) * config('nntmux.items_per_page'); $rslt = $releases->getBrowseRange($page, [-1], $offset, config('nntmux.items_per_page'), '', -1, $this->userdata['categoryexclusions'], $group); - $results = $this->paginate($rslt ?? [], $rslt['_totalcount'] ?? 0, config('nntmux.items_per_page'), $page, request()->url(), request()->query()); + $results = $this->paginate($rslt ?? [], $rslt[0]->_totalcount ?? 0, config('nntmux.items_per_page'), $page, request()->url(), request()->query()); $this->smarty->assign('results', $results); $meta_title = 'Browse Groups'; $meta_keywords = 'browse,nzb,description,details'; diff --git a/app/Http/Controllers/ConsoleController.php b/app/Http/Controllers/ConsoleController.php index 841289f8b..1e506bc10 100644 --- a/app/Http/Controllers/ConsoleController.php +++ b/app/Http/Controllers/ConsoleController.php @@ -56,7 +56,7 @@ class ConsoleController extends BasePageController $consoles = []; $rslt = $console->getConsoleRange($page, $catarray, $offset, config('nntmux.items_per_cover_page'), $orderby, $this->userdata['categoryexclusions']); - $results = $this->paginate($rslt ?? [], $rslt['_totalcount'] ?? 0, config('nntmux.items_per_cover_page'), $page, $request->url(), $request->query()); + $results = $this->paginate($rslt ?? [], $rslt[0]->_totalcount ?? 0, config('nntmux.items_per_cover_page'), $page, $request->url(), $request->query()); $maxwords = 50; foreach ($results as $result) { diff --git a/app/Http/Controllers/GamesController.php b/app/Http/Controllers/GamesController.php index cc070e05a..318af922c 100644 --- a/app/Http/Controllers/GamesController.php +++ b/app/Http/Controllers/GamesController.php @@ -41,7 +41,7 @@ class GamesController extends BasePageController $orderby = request()->has('ob') && \in_array(request()->input('ob'), $ordering, false) ? request()->input('ob') : ''; $offset = ($page - 1) * config('nntmux.items_per_cover_page'); $rslt = $games->getGamesRange($page, $catarray, $offset, config('nntmux.items_per_cover_page'), $orderby, '', $this->userdata['categoryexclusions']); - $results = $this->paginate($rslt ?? [], $rslt['_totalcount'] ?? 0, config('nntmux.items_per_cover_page'), $page, $request->url(), $request->query()); + $results = $this->paginate($rslt ?? [], $rslt[0]->_totalcount ?? 0, config('nntmux.items_per_cover_page'), $page, $request->url(), $request->query()); $title = ($request->has('title') && ! empty($request->input('title'))) ? stripslashes($request->input('title')) : ''; $this->smarty->assign('title', $title); diff --git a/app/Http/Controllers/MovieController.php b/app/Http/Controllers/MovieController.php index 6fa51cdea..73b76c572 100644 --- a/app/Http/Controllers/MovieController.php +++ b/app/Http/Controllers/MovieController.php @@ -108,17 +108,15 @@ class MovieController extends BasePageController $movies = []; $rslt = $movie->getMovieRange($page, $catarray, $offset, config('nntmux.items_per_cover_page'), $orderby, -1, $this->userdata['categoryexclusions']); - $results = $this->paginate($rslt ?? [], $rslt['_totalcount'] ?? 0, config('nntmux.items_per_cover_page'), $page, $request->url(), $request->query()); + $results = $this->paginate($rslt ?? [], $rslt[0]->_totalcount ?? 0, config('nntmux.items_per_cover_page'), $page, $request->url(), $request->query()); foreach ($results as $result) { - if (! empty($result->id)) { - $result->genre = makeFieldLinks((array) $result, 'genre', 'movies'); - $result->actors = makeFieldLinks((array) $result, 'actors', 'movies'); - $result->director = makeFieldLinks((array) $result, 'director', 'movies'); - $result->languages = explode(', ', $result->language); + $result->genre = makeFieldLinks((array) $result, 'genre', 'movies'); + $result->actors = makeFieldLinks((array) $result, 'actors', 'movies'); + $result->director = makeFieldLinks((array) $result, 'director', 'movies'); + $result->languages = explode(', ', $result->language); - $movies[] = $result; - } + $movies[] = $result; } $title = ($request->has('title') && ! empty($request->input('title'))) ? stripslashes($request->input('title')) : ''; diff --git a/app/Http/Controllers/MusicController.php b/app/Http/Controllers/MusicController.php index bfa11fc4c..f3c7bab06 100644 --- a/app/Http/Controllers/MusicController.php +++ b/app/Http/Controllers/MusicController.php @@ -54,7 +54,7 @@ class MusicController extends BasePageController $musics = []; $rslt = $music->getMusicRange($page, $catarray, $offset, config('nntmux.items_per_cover_page'), $orderby, $this->userdata['categoryexclusions']); - $results = $this->paginate($rslt, $rslt['_totalcount'][0]->total, config('nntmux.items_per_cover_page'), $page, $request->url(), $request->query()); + $results = $this->paginate($rslt, $rslt[0]->_totalcount[0]->total, config('nntmux.items_per_cover_page'), $page, $request->url(), $request->query()); $artist = ($request->has('artist') && ! empty($request->input('artist'))) ? stripslashes($request->input('artist')) : ''; $this->smarty->assign('artist', $artist); @@ -69,11 +69,9 @@ class MusicController extends BasePageController } foreach ($results as $result) { - if (! empty($result->id)) { - $res = (array) $result; - $result->genre = $tmpgnr[$res['genres_id']]; - $musics[] = $result; - } + $res = (array) $result; + $result->genre = $tmpgnr[$res['genres_id']]; + $musics[] = $result; } $genre = ($request->has('genre') && array_key_exists($request->input('genre'), $tmpgnr)) ? $request->input('genre') : ''; diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php index 7620141ee..a132e44aa 100644 --- a/app/Http/Controllers/SearchController.php +++ b/app/Http/Controllers/SearchController.php @@ -86,7 +86,7 @@ class SearchController extends BasePageController $categoryID ); - $results = $this->paginate($rslt ?? [], $rslt['_totalrows'] ?? 0, config('nntmux.items_per_page'), $page, $request->url(), $request->query()); + $results = $this->paginate($rslt ?? [], $rslt[0]->_totalrows ?? 0, config('nntmux.items_per_page'), $page, $request->url(), $request->query()); $this->smarty->assign( [ diff --git a/app/Http/Controllers/SeriesController.php b/app/Http/Controllers/SeriesController.php index 1d416e5d2..0b8c50943 100644 --- a/app/Http/Controllers/SeriesController.php +++ b/app/Http/Controllers/SeriesController.php @@ -47,11 +47,18 @@ class SeriesController extends BasePageController } else { $myshows = UserSerie::getShow($this->userdata->id, $show['id']); + // Sort releases by season, episode, date posted. + $series = $episode = $posted = []; + foreach ($rel as $rlk => $rlv) { + $series[$rlk] = $rlv->series; + $episode[$rlk] = $rlv->episode; + $posted[$rlk] = $rlv->postdate; + } + array_multisort($series, SORT_DESC, $episode, SORT_DESC, $posted, SORT_DESC, $rel); + $series = []; foreach ($rel as $r) { - if (! empty($r->id)) { - $series[$r->series][$r->episode][] = $r; - } + $series[$r->series][$r->episode][] = $r; } $this->smarty->assign('seasons', $series); diff --git a/composer.lock b/composer.lock index cc78ba2d8..63cc34eb4 100644 --- a/composer.lock +++ b/composer.lock @@ -312,7 +312,8 @@ "Gemfile.lock", "*.md" ] - } + }, + "time": "2016-06-06T17:37:52+00:00" }, { "name": "bower-asset/autosize", @@ -341,7 +342,8 @@ "form", "textarea", "ui" - ] + ], + "time": "2017-05-19T15:36:30+00:00" }, { "name": "bower-asset/bootstrap", @@ -390,7 +392,8 @@ "mobile-first", "responsive", "web" - ] + ], + "time": "2016-07-25T15:51:55+00:00" }, { "name": "bower-asset/bootstrap-3.x", @@ -439,7 +442,8 @@ "mobile-first", "responsive", "web" - ] + ], + "time": "2016-07-25T15:51:55+00:00" }, { "name": "bower-asset/bootstrap-datepicker", @@ -468,7 +472,8 @@ }, "license": [ "Apache-2.0" - ] + ], + "time": "2016-08-05T09:50:13+00:00" }, { "name": "bower-asset/bootstrap-hover-dropdown", @@ -498,7 +503,8 @@ "dropdowns", "hover", "twitter" - ] + ], + "time": "2015-12-01T23:35:57+00:00" }, { "name": "bower-asset/bootstrap-progressbar", @@ -532,7 +538,8 @@ }, "license": [ "MIT" - ] + ], + "time": "2015-05-15T18:56:17+00:00" }, { "name": "bower-asset/bootswatch", @@ -663,7 +670,8 @@ "modal", "popup", "ui" - ] + ], + "time": "2016-05-10T22:21:33+00:00" }, { "name": "bower-asset/datatables", @@ -711,7 +719,8 @@ "jquery", "library", "table" - ] + ], + "time": "2017-08-31T13:52:17+00:00" }, { "name": "bower-asset/fancybox", @@ -777,7 +786,8 @@ "tests", "examples" ] - } + }, + "time": "2015-01-26T21:19:01+00:00" }, { "name": "bower-asset/flexboxgrid", @@ -813,7 +823,8 @@ "css", "flexbox", "grid" - ] + ], + "time": "2016-08-14T16:43:18+00:00" }, { "name": "bower-asset/font-awesome", @@ -858,7 +869,8 @@ "src", "build.xml" ] - } + }, + "time": "2015-07-20T20:04:00+00:00" }, { "name": "bower-asset/icheck", @@ -908,7 +920,8 @@ "replacement", "skins", "ui" - ] + ], + "time": "2014-03-03T17:36:28+00:00" }, { "name": "bower-asset/jquery", @@ -971,7 +984,8 @@ "javascript", "jquery", "library" - ] + ], + "time": "2016-05-20T17:24:43+00:00" }, { "name": "bower-asset/jquery-3.2.x", @@ -1038,7 +1052,8 @@ "scroll", "scrolltop", "scrolltotop" - ] + ], + "time": "2017-08-31T15:51:29+00:00" }, { "name": "bower-asset/jquery-migrate-1.4.x", @@ -1057,7 +1072,8 @@ "type": "bower-asset-library", "extra": { "bower-asset-main": "jquery-migrate.js" - } + }, + "time": "2016-04-15T06:38:34+00:00" }, { "name": "bower-asset/jquery-migrate-3.0.x", @@ -1076,7 +1092,8 @@ "type": "bower-asset-library", "extra": { "bower-asset-main": "jquery-migrate.js" - } + }, + "time": "2016-06-10T14:28:59+00:00" }, { "name": "bower-asset/jquery.nicescroll", @@ -1106,7 +1123,8 @@ "demo", "package.json" ] - } + }, + "time": "2016-03-01T20:38:24+00:00" }, { "name": "bower-asset/material-design-iconic-font", @@ -1145,7 +1163,8 @@ "font", "icons", "material" - ] + ], + "time": "2015-11-08T04:50:28+00:00" }, { "name": "bower-asset/materialize", @@ -1204,7 +1223,8 @@ "responsive", "sass", "ux" - ] + ], + "time": "2017-04-15T01:39:28+00:00" }, { "name": "bower-asset/pace", @@ -1250,7 +1270,8 @@ "progress", "progress", "spinner" - ] + ], + "time": "2014-11-06T16:31:34+00:00" }, { "name": "bower-asset/pnotify", @@ -1302,7 +1323,8 @@ "license": [ "Apache-2.0" ], - "description": "JavaScript notification plugin." + "description": "JavaScript notification plugin.", + "time": "2017-07-31T21:50:29+00:00" }, { "name": "bower-asset/respond", @@ -1326,7 +1348,8 @@ "test" ] }, - "description": "Fast and lightweight polyfill for min/max-width CSS3 Media Queries (for IE 6-8, and more)" + "description": "Fast and lightweight polyfill for min/max-width CSS3 Media Queries (for IE 6-8, and more)", + "time": "2013-12-19T04:44:31+00:00" }, { "name": "bower-asset/responsive-tables-js", @@ -1356,7 +1379,8 @@ "jquery", "responsive", "table" - ] + ], + "time": "2015-10-08T14:18:04+00:00" }, { "name": "bower-asset/select2", @@ -1424,7 +1448,8 @@ "scrolling", "slimscroll", "ui" - ] + ], + "time": "2016-06-11T09:19:14+00:00" }, { "name": "bower-asset/tinymce-dist",