diff --git a/Blacklight/Movie.php b/Blacklight/Movie.php index 28ca6b922..4d0ceed50 100755 --- a/Blacklight/Movie.php +++ b/Blacklight/Movie.php @@ -307,7 +307,7 @@ class Movie LEFT OUTER JOIN release_nfos rn ON rn.releases_id = r.id LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id LEFT OUTER JOIN categories c ON c.id = r.categories_id - LEFT OUTER JOIN categories cp ON cp.id = c.parentid + LEFT OUTER JOIN root_categories cp ON cp.id = c.root_categories_id INNER JOIN movieinfo m ON m.imdbid = r.imdbid WHERE m.imdbid IN (%s) AND r.id IN (%s) %s diff --git a/Blacklight/Releases.php b/Blacklight/Releases.php index 5e65481ff..cf94bb8fd 100755 --- a/Blacklight/Releases.php +++ b/Blacklight/Releases.php @@ -86,7 +86,7 @@ class Releases extends Release ORDER BY %s %s %s ) r LEFT JOIN categories c ON c.id = r.categories_id - LEFT JOIN categories cp ON cp.id = c.parentid + LEFT JOIN root_categories cp ON cp.id = c.root_categories_id LEFT OUTER JOIN videos v ON r.videos_id = v.id LEFT OUTER JOIN tv_episodes tve ON r.tv_episodes_id = tve.id LEFT OUTER JOIN video_data re ON re.releases_id = r.id @@ -263,7 +263,7 @@ class Releases extends Release ->select(['r.searchname', 'r.guid', 'g.name as gname', DB::raw("CONCAT(cp.title,'_',c.title) AS catName")]) ->from('releases as r') ->leftJoin('categories as c', 'c.id', '=', 'r.categories_id') - ->leftJoin('categories as cp', 'cp.id', '=', 'c.parentid') + ->leftJoin('categories as cp', 'cp.id', '=', 'c.root_categories_id') ->leftJoin('usenet_groups as g', 'g.id', '=', 'r.groups_id'); if ($groupID !== '') { @@ -398,7 +398,7 @@ class Releases extends Release LEFT OUTER JOIN release_nfos rn ON rn.releases_id = r.id LEFT OUTER JOIN tv_episodes tve ON tve.videos_id = r.videos_id LEFT JOIN categories c ON c.id = r.categories_id - LEFT JOIN categories cp ON cp.id = c.parentid + LEFT JOIN root_categories cp ON cp.id = c.root_categories_id LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id WHERE %s %s AND r.nzbstatus = %d @@ -658,7 +658,7 @@ class Releases extends Release LEFT OUTER JOIN release_nfos rn ON rn.releases_id = r.id LEFT JOIN usenet_groups g ON g.id = r.groups_id LEFT JOIN categories c ON c.id = r.categories_id - LEFT JOIN categories cp ON cp.id = c.parentid + LEFT JOIN root_categories cp ON cp.id = c.root_categories_id LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id %s %s", $this->getConcatenatedCategoryIDs(), @@ -741,7 +741,7 @@ class Releases extends Release LEFT JOIN movieinfo m ON m.id = r.movieinfo_id LEFT JOIN usenet_groups g ON g.id = r.groups_id LEFT JOIN categories c ON c.id = r.categories_id - LEFT JOIN categories cp ON cp.id = c.parentid + LEFT JOIN root_categories cp ON cp.id = c.root_categories_id %s %s", $this->getConcatenatedCategoryIDs(), ! empty($tags) ? ' LEFT JOIN tagging_tagged tt ON tt.taggable_id = r.id' : '', @@ -889,7 +889,7 @@ class Releases extends Release LEFT OUTER JOIN tv_info tvi ON v.id = tvi.videos_id LEFT OUTER JOIN tv_episodes tve ON r.tv_episodes_id = tve.id LEFT JOIN categories c ON c.id = r.categories_id - LEFT JOIN categories cp ON cp.id = c.parentid + LEFT JOIN root_categories cp ON cp.id = c.root_categories_id LEFT JOIN usenet_groups g ON g.id = r.groups_id LEFT OUTER JOIN video_data re ON re.releases_id = r.id LEFT OUTER JOIN release_nfos rn ON rn.releases_id = r.id @@ -1030,7 +1030,7 @@ class Releases extends Release LEFT OUTER JOIN tv_info tvi ON v.id = tvi.videos_id LEFT OUTER JOIN tv_episodes tve ON r.tv_episodes_id = tve.id LEFT JOIN categories c ON c.id = r.categories_id - LEFT JOIN categories cp ON cp.id = c.parentid + LEFT JOIN root_categories cp ON cp.id = c.root_categories_id LEFT JOIN usenet_groups g ON g.id = r.groups_id %s %s", $this->getConcatenatedCategoryIDs(), @@ -1102,7 +1102,7 @@ class Releases extends Release re.releases_id AS reid FROM releases r LEFT JOIN categories c ON c.id = r.categories_id - LEFT JOIN categories cp ON cp.id = c.parentid + LEFT JOIN root_categories cp ON cp.id = c.root_categories_id LEFT JOIN usenet_groups g ON g.id = r.groups_id LEFT OUTER JOIN release_nfos rn ON rn.releases_id = r.id LEFT OUTER JOIN releaseextrafull re ON re.releases_id = r.id @@ -1182,7 +1182,7 @@ class Releases extends Release LEFT JOIN movieinfo m ON m.id = r.movieinfo_id LEFT JOIN usenet_groups g ON g.id = r.groups_id LEFT JOIN categories c ON c.id = r.categories_id - LEFT JOIN categories cp ON cp.id = c.parentid + LEFT JOIN root_categories cp ON cp.id = c.root_categories_id LEFT OUTER JOIN release_nfos rn ON rn.releases_id = r.id %s %s", $this->getConcatenatedCategoryIDs(), diff --git a/Blacklight/XXX.php b/Blacklight/XXX.php index 8c13f731c..ca2a42c72 100755 --- a/Blacklight/XXX.php +++ b/Blacklight/XXX.php @@ -192,7 +192,7 @@ class XXX LEFT OUTER JOIN release_nfos rn ON rn.releases_id = r.id LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id LEFT OUTER JOIN categories c ON c.id = r.categories_id - LEFT OUTER JOIN categories cp ON cp.id = c.parentid + LEFT OUTER JOIN root_categories cp ON cp.id = c.root_categories_id INNER JOIN xxxinfo xxx ON xxx.id = r.xxxinfo_id WHERE r.nzbstatus = 1 AND xxx.id IN (%s) diff --git a/Blacklight/http/RSS.php b/Blacklight/http/RSS.php index 1d3d93fdc..c519decff 100755 --- a/Blacklight/http/RSS.php +++ b/Blacklight/http/RSS.php @@ -84,7 +84,7 @@ class RSS extends Capabilities %s AS category_ids FROM releases r LEFT JOIN categories c ON c.id = r.categories_id - INNER JOIN categories cp ON cp.id = c.parentid + INNER JOIN root_categories cp ON cp.id = c.root_categories_id LEFT JOIN usenet_groups g ON g.id = r.groups_id LEFT OUTER JOIN musicinfo mu ON mu.id = r.musicinfo_id LEFT OUTER JOIN genres mug ON mug.id = mu.genres_id @@ -139,7 +139,7 @@ class RSS extends Capabilities COALESCE(cp.id,0) AS parentid FROM releases r LEFT JOIN categories c ON c.id = r.categories_id - INNER JOIN categories cp ON cp.id = c.parentid + INNER JOIN root_categories cp ON cp.id = c.root_categories_id LEFT JOIN usenet_groups g ON g.id = r.groups_id LEFT OUTER JOIN videos v ON v.id = r.videos_id LEFT OUTER JOIN tv_episodes tve ON tve.id = r.tv_episodes_id @@ -203,7 +203,7 @@ class RSS extends Capabilities COALESCE(cp.id,0) AS parentid FROM releases r LEFT JOIN categories c ON c.id = r.categories_id - INNER JOIN categories cp ON cp.id = c.parentid + INNER JOIN root_categories cp ON cp.id = c.root_categories_id LEFT JOIN usenet_groups g ON g.id = r.groups_id LEFT JOIN movieinfo mi ON mi.id = r.movieinfo_id WHERE %s %s diff --git a/Blacklight/processing/ProcessReleases.php b/Blacklight/processing/ProcessReleases.php index d3ba29556..717acebeb 100755 --- a/Blacklight/processing/ProcessReleases.php +++ b/Blacklight/processing/ProcessReleases.php @@ -972,8 +972,8 @@ class ProcessReleases SELECT SQL_NO_CACHE c.id AS id, CASE WHEN c.minsizetoformrelease = 0 THEN cp.minsizetoformrelease ELSE c.minsizetoformrelease END AS minsize FROM categories c - INNER JOIN categories cp ON cp.id = c.parentid - WHERE c.parentid IS NOT NULL' + INNER JOIN root_categories cp ON cp.id = c.root_categories_id + WHERE c.root_categories_id IS NOT NULL' ); foreach ($categories as $category) { diff --git a/Changelog b/Changelog index c0489956f..c67da5e51 100755 --- a/Changelog +++ b/Changelog @@ -1,4 +1,5 @@ 2019-03-12 DariusIII + * Chg: Update queries to use root_categories table * Chg: Update nzb creation process * Chg: Update fixtures and fix migration files * Chg: Add more migrations and changes to categories tables diff --git a/app/Http/Controllers/Admin/CategoryRegexesController.php b/app/Http/Controllers/Admin/CategoryRegexesController.php index 1e090d440..e9b5b37d0 100644 --- a/app/Http/Controllers/Admin/CategoryRegexesController.php +++ b/app/Http/Controllers/Admin/CategoryRegexesController.php @@ -107,8 +107,8 @@ class CategoryRegexesController extends BasePageController $categories_db = Category::query() ->select(['c.id', 'c.title', 'cp.title as parent_title']) ->from('categories as c') - ->join('categories as cp', 'c.parentid', '=', 'cp.id') - ->whereNotNull('c.parentid') + ->join('categories as cp', 'c.root_categories_id', '=', 'cp.id') + ->whereNotNull('c.root_categories_id') ->orderBy('c.id') ->get(); $categories = ['category_names', 'category_ids']; diff --git a/app/Models/Release.php b/app/Models/Release.php index ed252a720..bda754bcf 100644 --- a/app/Models/Release.php +++ b/app/Models/Release.php @@ -453,7 +453,7 @@ class Release extends Model ] ) ->leftJoin('categories as c', 'c.id', '=', 'releases.categories_id') - ->leftJoin('categories as cp', 'cp.id', '=', 'c.parentid') + ->leftJoin('categories as cp', 'cp.id', '=', 'c.root_categories_id') ->orderByDesc('releases.postdate') ->paginate(config('nntmux.items_per_page')); } @@ -499,7 +499,7 @@ class Release extends Model ) ->leftJoin('usenet_groups as g', 'g.id', '=', 'releases.groups_id') ->leftJoin('categories as c', 'c.id', '=', 'releases.categories_id') - ->leftJoin('categories as cp', 'cp.id', '=', 'c.parentid') + ->leftJoin('categories as cp', 'cp.id', '=', 'c.root_categories_id') ->leftJoin('videos as v', 'v.id', '=', 'releases.videos_id') ->leftJoin('tv_info as tvi', 'tvi.videos_id', '=', 'releases.videos_id') ->leftJoin('tv_episodes as tve', 'tve.id', '=', 'releases.tv_episodes_id') @@ -532,7 +532,7 @@ class Release extends Model ->select(['name', 'searchname', 'size', 'guid', 'totalpart', 'postdate', 'adddate', 'grabs', 'cp.title as parent_category', 'c.title as sub_category', DB::raw("CONCAT(cp.title, ' > ', c.title) AS category_name")]) ->rightJoin('dnzb_failures', 'dnzb_failures.release_id', '=', 'releases.id') ->leftJoin('categories as c', 'c.id', '=', 'releases.categories_id') - ->leftJoin('categories as cp', 'cp.id', '=', 'c.parentid') + ->leftJoin('categories as cp', 'cp.id', '=', 'c.root_categories_id') ->orderBy('postdate', 'desc'); return $failedList->paginate(config('nntmux.items_per_page')); diff --git a/misc/update/tmux/monitor.php b/misc/update/tmux/monitor.php index a0af497e0..3ffcd67ed 100644 --- a/misc/update/tmux/monitor.php +++ b/misc/update/tmux/monitor.php @@ -52,7 +52,7 @@ try { $runVar['panes'] = $tRun->getListOfPanes($runVar['constants']); //totals per category in db, results by parentID -$catcntqry = 'SELECT c.parentid AS parentid, COUNT(r.id) AS count FROM categories c, releases r WHERE r.categories_id = c.id GROUP BY c.parentid'; +$catcntqry = 'SELECT c.root_categories_id AS parentid, COUNT(r.id) AS count FROM categories c, releases r WHERE r.categories_id = c.id GROUP BY c.root_categories_id'; //create timers and set to now $runVar['timers']['timer1'] = $runVar['timers']['timer2'] = $runVar['timers']['timer3'] =