diff --git a/app/Http/Controllers/AdultController.php b/app/Http/Controllers/AdultController.php
index c634abbc3..cd5f51ce1 100644
--- a/app/Http/Controllers/AdultController.php
+++ b/app/Http/Controllers/AdultController.php
@@ -14,7 +14,6 @@ class AdultController extends BasePageController
*/
public function show(Request $request, string $id = '')
{
- $this->setPreferences();
$adult = new XXX;
$moviecats = Category::getChildren(Category::XXX_ROOT);
diff --git a/app/Http/Controllers/AjaxController.php b/app/Http/Controllers/AjaxController.php
index 8920dddc2..b5023cbff 100644
--- a/app/Http/Controllers/AjaxController.php
+++ b/app/Http/Controllers/AjaxController.php
@@ -12,7 +12,6 @@ class AjaxController extends BasePageController
*/
public function profile(Request $request): void
{
- $this->setPreferences();
if ($request->has('action') && (int) $request->input('action') === 1 && $request->has('emailto')) {
$emailTo = $request->input('emailto');
$ret = User::sendInvite(url('/'), $this->userdata->id, $emailTo);
diff --git a/app/Http/Controllers/AnimeController.php b/app/Http/Controllers/AnimeController.php
index 48f8e2aaa..428803f56 100644
--- a/app/Http/Controllers/AnimeController.php
+++ b/app/Http/Controllers/AnimeController.php
@@ -36,7 +36,6 @@ class AnimeController extends BasePageController
*/
public function showAnime(Request $request): void
{
- $this->setPreferences();
if ($request->has('id') && ctype_digit($request->input('id'))) {
// force the category to TV_ANIME as it should be for anime, as $catarray was NULL and we know the category for sure for anime
@@ -84,7 +83,6 @@ class AnimeController extends BasePageController
*/
public function showList(Request $request): void
{
- $this->setPreferences();
$letter = ($request->has('id') && preg_match('/^(0\-9|[A-Z])$/i', $request->input('id'))) ? $request->input('id') : '0-9';
$animeTitle = ($request->has('title') && ! empty($request->input('title'))) ? $request->input('title') : '';
diff --git a/app/Http/Controllers/ApiHelpController.php b/app/Http/Controllers/ApiHelpController.php
index aaefb83fa..712c58e83 100644
--- a/app/Http/Controllers/ApiHelpController.php
+++ b/app/Http/Controllers/ApiHelpController.php
@@ -18,7 +18,6 @@ class ApiHelpController extends BasePageController
*/
public function index(): View
{
- $this->setPreferences();
$this->setAdminPrefs();
$this->viewData['title'] = 'Api Help';
@@ -35,7 +34,6 @@ class ApiHelpController extends BasePageController
*/
public function apiv2(): View
{
- $this->setPreferences();
$this->setAdminPrefs();
$this->viewData['title'] = 'Api V2 Help';
diff --git a/app/Http/Controllers/BasePageController.php b/app/Http/Controllers/BasePageController.php
index f98e2b124..1d91b6ab0 100644
--- a/app/Http/Controllers/BasePageController.php
+++ b/app/Http/Controllers/BasePageController.php
@@ -2,7 +2,6 @@
namespace App\Http\Controllers;
-use App\Events\UserLoggedIn;
use App\Models\Category;
use App\Models\Settings;
use App\Models\User;
@@ -50,6 +49,7 @@ class BasePageController extends Controller
public function __construct()
{
$this->middleware(['auth', 'web', '2fa'])->except('api', 'contact', 'showContactForm', 'callback', 'getNzb', 'terms', 'capabilities', 'movie', 'apiSearch', 'tv', 'details', 'failed', 'showRssDesc', 'fullFeedRss', 'categoryFeedRss', 'cartRss', 'myMoviesRss', 'myShowsRss', 'release', 'reset', 'showLinkRequestForm');
+
// Buffer settings/DB connection.
$this->settings = new Settings;
@@ -58,6 +58,16 @@ class BasePageController extends Controller
'serverroot' => url('/'),
'site' => $this->settings,
];
+
+ // Initialize userdata property for controllers that need it
+ $this->middleware(function ($request, $next) {
+ if (Auth::check()) {
+ $this->userdata = User::find(Auth::id());
+ $this->userdata->categoryexclusions = User::getCategoryExclusionById(Auth::id());
+ }
+
+ return $next($request);
+ });
}
public function paginate($query, $totalCount, $items, $page, $path, $reqQuery): LengthAwarePaginator
@@ -65,28 +75,6 @@ class BasePageController extends Controller
return new LengthAwarePaginator($query, $totalCount, $items, $page, ['path' => $path, 'query' => $reqQuery]);
}
- /**
- * @throws \Exception
- */
- protected function setPreferences(): void
- {
- if (Auth::check()) {
- $this->userdata = User::find(Auth::id());
- $this->setUserPreferences();
- } else {
- $this->viewData = array_merge($this->viewData, [
- 'isadmin' => false,
- 'ismod' => false,
- 'loggedin' => false,
- ]);
- }
-
- $this->viewData = array_merge($this->viewData, [
- 'theme' => 'Gentele',
- 'site' => $this->settings,
- ]);
- }
-
/**
* Check if request is POST.
*/
@@ -109,30 +97,6 @@ class BasePageController extends Controller
return view('errors.404');
}
- /**
- * Set user preferences.
- */
- protected function setUserPreferences(): void
- {
- $this->userdata->categoryexclusions = User::getCategoryExclusionById(Auth::id());
-
- // Update last login every 15 mins.
- if (now()->subHours(3) > $this->userdata->lastlogin) {
- event(new UserLoggedIn($this->userdata));
- }
-
- $parentcatlist = Category::getForMenu($this->userdata->categoryexclusions);
-
- $this->viewData = array_merge($this->viewData, [
- 'userdata' => $this->userdata,
- 'loggedin' => true,
- 'isadmin' => $this->userdata->hasRole('Admin'),
- 'ismod' => $this->userdata->hasRole('Moderator'),
- 'parentcatlist' => $parentcatlist,
- 'header_menu_cat' => request()->input('t', ''),
- ]);
- }
-
/**
* Set admin preferences.
*/
diff --git a/app/Http/Controllers/BooksController.php b/app/Http/Controllers/BooksController.php
index 1dab447ef..7dcf48187 100644
--- a/app/Http/Controllers/BooksController.php
+++ b/app/Http/Controllers/BooksController.php
@@ -14,7 +14,6 @@ class BooksController extends BasePageController
*/
public function index(Request $request, string $id = '')
{
- $this->setPreferences();
$book = new Books(['Settings' => $this->settings]);
$boocats = Category::getChildren(Category::BOOKS_ROOT);
diff --git a/app/Http/Controllers/BrowseController.php b/app/Http/Controllers/BrowseController.php
index 644989bb9..69dc8a00d 100644
--- a/app/Http/Controllers/BrowseController.php
+++ b/app/Http/Controllers/BrowseController.php
@@ -14,7 +14,6 @@ class BrowseController extends BasePageController
*/
public function index(Request $request)
{
- $this->setPreferences();
$releases = new Releases;
$ordering = $releases->getBrowseOrdering();
@@ -49,7 +48,6 @@ class BrowseController extends BasePageController
*/
public function show(Request $request, string $parentCategory, string $id = 'All')
{
- $this->setPreferences();
$releases = new Releases;
$parentId = RootCategory::query()->where('title', $parentCategory)->value('id');
@@ -134,7 +132,6 @@ class BrowseController extends BasePageController
*/
public function group(Request $request)
{
- $this->setPreferences();
$releases = new Releases;
if ($request->has('g')) {
$group = $request->input('g');
diff --git a/app/Http/Controllers/BrowseGroupController.php b/app/Http/Controllers/BrowseGroupController.php
index 400685e36..bdd2f11ab 100644
--- a/app/Http/Controllers/BrowseGroupController.php
+++ b/app/Http/Controllers/BrowseGroupController.php
@@ -12,8 +12,6 @@ class BrowseGroupController extends BasePageController
*/
public function show(Request $request): void
{
- $this->setPreferences();
-
// Get the search term from the request
$search = $request->get('search', '') ?? '';
diff --git a/app/Http/Controllers/CartController.php b/app/Http/Controllers/CartController.php
index 0740b134d..cadccace0 100644
--- a/app/Http/Controllers/CartController.php
+++ b/app/Http/Controllers/CartController.php
@@ -15,8 +15,6 @@ class CartController extends BasePageController
*/
public function index()
{
- $this->setPreferences();
-
$results = UsersRelease::getCart(Auth::id());
$this->viewData = array_merge($this->viewData, [
@@ -34,7 +32,6 @@ class CartController extends BasePageController
*/
public function store(Request $request): RedirectResponse|\Illuminate\Http\JsonResponse
{
- $this->setPreferences();
$guids = explode(',', $request->input('id'));
$data = Release::query()->whereIn('guid', $guids)->select(['id'])->get();
@@ -70,7 +67,6 @@ class CartController extends BasePageController
*/
public function destroy(array|string $id): RedirectResponse
{
- $this->setPreferences();
$ids = null;
if (! empty($id) && ! \is_array($id)) {
$ids = explode(',', $id);
diff --git a/app/Http/Controllers/ConsoleController.php b/app/Http/Controllers/ConsoleController.php
index 493fbb192..2d0a8e3cd 100644
--- a/app/Http/Controllers/ConsoleController.php
+++ b/app/Http/Controllers/ConsoleController.php
@@ -15,7 +15,6 @@ class ConsoleController extends BasePageController
*/
public function show(Request $request, string $id = '')
{
- $this->setPreferences();
if ($id === 'WiiVare') {
$id = 'WiiVareVC';
}
diff --git a/app/Http/Controllers/ContactUsController.php b/app/Http/Controllers/ContactUsController.php
index 515a39ed9..924b7d965 100644
--- a/app/Http/Controllers/ContactUsController.php
+++ b/app/Http/Controllers/ContactUsController.php
@@ -12,8 +12,6 @@ class ContactUsController extends BasePageController
*/
public function contact(ContactContactURequest $request)
{
- $this->setPreferences();
-
if (config('captcha.enabled') === true && (! empty(config('captcha.secret')) && ! empty(config('captcha.sitekey')))) {
$this->validate($request, [
'g-recaptcha-response' => 'required|captcha',
@@ -49,7 +47,6 @@ class ContactUsController extends BasePageController
*/
public function showContactForm(string $msg = '')
{
- $this->setPreferences();
$title = 'Contact '.config('app.name');
$meta_title = 'Contact '.config('app.name');
$meta_keywords = 'contact us,contact,get in touch,email';
diff --git a/app/Http/Controllers/ContentController.php b/app/Http/Controllers/ContentController.php
index db30cdcef..1079dd9a6 100644
--- a/app/Http/Controllers/ContentController.php
+++ b/app/Http/Controllers/ContentController.php
@@ -14,7 +14,6 @@ class ContentController extends BasePageController
*/
public function show(Request $request)
{
- $this->setPreferences();
$contents = new Contents;
$role = $this->userdata->role ?? 0;
diff --git a/app/Http/Controllers/DetailsController.php b/app/Http/Controllers/DetailsController.php
index 634a9d33c..7be45c4f8 100644
--- a/app/Http/Controllers/DetailsController.php
+++ b/app/Http/Controllers/DetailsController.php
@@ -27,8 +27,6 @@ class DetailsController extends BasePageController
{
public function show(Request $request, string $guid)
{
- $this->setPreferences();
-
if ($guid !== null) {
$releases = new Releases;
$re = new ReleaseExtra;
diff --git a/app/Http/Controllers/FileListController.php b/app/Http/Controllers/FileListController.php
index 2a09559c4..06ce80bd6 100644
--- a/app/Http/Controllers/FileListController.php
+++ b/app/Http/Controllers/FileListController.php
@@ -12,7 +12,6 @@ class FileListController extends BasePageController
*/
public function show(string $guid): void
{
- $this->setPreferences();
$nzb = new NZB;
if ($guid !== null) {
diff --git a/app/Http/Controllers/ForumController.php b/app/Http/Controllers/ForumController.php
deleted file mode 100644
index 327efaa48..000000000
--- a/app/Http/Controllers/ForumController.php
+++ /dev/null
@@ -1,164 +0,0 @@
-setPreferences();
- if ($this->isPostBack($request) && $request->has('addMessage') && $request->has('addSubject')) {
- Forumpost::add(0, $this->userdata->id, $request->input('addSubject'), $request->input('addMessage'));
-
- return redirect()->to('forum');
- }
-
- $lock = $unlock = null;
-
- if ($request->has('lock')) {
- $lock = $request->input('lock');
- }
-
- if ($request->has('unlock')) {
- $unlock = $request->input('unlock');
- }
-
- if ($lock !== null) {
- Forumpost::lockUnlockTopic($lock, 1);
-
- return redirect()->to('forum');
- }
-
- if ($unlock !== null) {
- Forumpost::lockUnlockTopic($unlock, 0);
-
- return redirect()->to('forum');
- }
-
- $results = Forumpost::getBrowseRange();
-
- $this->smarty->assign('privateprofiles', config('nntmux_settings.private_profiles'));
-
- $this->smarty->assign('results', $results);
-
- $meta_title = 'Forum';
- $meta_keywords = 'forum,chat,posts';
- $meta_description = 'Forum';
-
- $content = $this->smarty->fetch('forum.tpl');
-
- $this->smarty->assign(
- compact('content', 'meta_title', 'meta_keywords', 'meta_description')
- );
- $this->pagerender();
- }
-
- /**
- * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Foundation\Application|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|void
- *
- * @throws \Exception
- */
- public function getPosts($id, Request $request): RedirectResponse
- {
- $this->setPreferences();
-
- if ($request->has('addMessage') && $this->isPostBack($request)) {
- Forumpost::add($id, $this->userdata->id, '', $request->input('addMessage'));
-
- return redirect('forumpost/'.$id.'#last');
- }
-
- $results = Forumpost::getPosts($id);
- if (\count($results) === 0) {
- return redirect()->to('forum');
- }
-
- $meta_title = 'Forum Post';
- $meta_keywords = 'view,forum,post,thread';
- $meta_description = 'View forum post';
-
- $this->smarty->assign('results', $results);
- $this->smarty->assign('privateprofiles', config('nntmux_settings.private_profiles'));
-
- $content = $this->smarty->fetch('forumpost.tpl');
-
- $this->smarty->assign(
- [
- 'content' => $content,
- 'meta_title' => $meta_title,
- 'meta_keywords' => $meta_keywords,
- 'meta_description' => $meta_description,
- ]
- );
- $this->pagerender();
- }
-
- public function deleteTopic(Request $request): RedirectResponse
- {
- $id = $request->input('id') + 0;
-
- if ($id !== null) {
- Forumpost::deleteParent($id);
-
- return redirect()->to('forum');
- }
-
- return redirect()->to('forum');
- }
-
- /**
- * @throws \Exception
- */
- public function edit(Request $request): void
- {
- $this->setPreferences();
-
- if ($request->has('id') && ! empty($request->input('addMessage'))) {
- $parent = Forumpost::getPost($request->input('id'));
- Forumpost::editPost($request->input('id'), $request->input('addMessage'), Auth::id());
- if ((int) $parent['parentid'] !== 0) {
- header('/forumpost/'.$parent['parentid'].'#last');
- } else {
- header('/forumpost/'.$request->input('id'));
- }
- }
-
- $result = Forumpost::getPost($request->input('id'));
-
- $meta_title = 'Edit forum Post';
- $meta_keywords = 'edit, view,forum,post,thread';
- $meta_description = 'Edit forum post';
-
- $this->smarty->assign('result', $result);
-
- $content = $this->smarty->fetch('post_edit.tpl');
- $this->smarty->assign(
- compact('content', 'meta_title', 'meta_keywords', 'meta_description')
- );
- $this->pagerender();
- }
-
- /**
- * @throws \Exception
- */
- public function destroy($id): RedirectResponse
- {
- $this->setPreferences();
-
- if ($id) {
- Forumpost::deletePost($id);
- }
-
- return redirect()->back();
- }
-}
diff --git a/app/Http/Controllers/GamesController.php b/app/Http/Controllers/GamesController.php
index a5bd40ecf..54d287365 100644
--- a/app/Http/Controllers/GamesController.php
+++ b/app/Http/Controllers/GamesController.php
@@ -14,7 +14,6 @@ class GamesController extends BasePageController
*/
public function show(Request $request)
{
- $this->setPreferences();
$games = new Games(['Settings' => $this->settings]);
$gen = new Genres(['Settings' => $this->settings]);
diff --git a/app/Http/Controllers/GetNzbController.php b/app/Http/Controllers/GetNzbController.php
index 7b416e395..31e448d38 100644
--- a/app/Http/Controllers/GetNzbController.php
+++ b/app/Http/Controllers/GetNzbController.php
@@ -18,7 +18,6 @@ class GetNzbController extends BasePageController
*/
public function getNzb(Request $request, $guid = null)
{
- $this->setPreferences();
// If guid is passed as URL parameter, merge it into request as 'id'
if ($guid !== null && ! $request->has('id')) {
diff --git a/app/Http/Controllers/InvitationController.php b/app/Http/Controllers/InvitationController.php
index 5a4487f82..191898ffa 100644
--- a/app/Http/Controllers/InvitationController.php
+++ b/app/Http/Controllers/InvitationController.php
@@ -26,7 +26,6 @@ class InvitationController extends BasePageController
*/
public function index(Request $request): View
{
- $this->setPreferences();
$inviteMode = (int) Settings::settingValue('registerstatus') === Settings::REGISTER_STATUS_INVITE;
$status = $request->get('status');
@@ -89,7 +88,6 @@ class InvitationController extends BasePageController
*/
public function create(): View
{
- $this->setPreferences();
$inviteMode = (int) Settings::settingValue('registerstatus') === Settings::REGISTER_STATUS_INVITE;
@@ -172,10 +170,6 @@ class InvitationController extends BasePageController
*/
public function show(string $token): View
{
- // For public invitation page, we need to handle both logged in and guest users
- if (auth()->check()) {
- $this->setPreferences();
- }
$preview = $this->invitationService->getInvitationPreview($token);
diff --git a/app/Http/Controllers/MovieController.php b/app/Http/Controllers/MovieController.php
index 96257d751..4b5922463 100644
--- a/app/Http/Controllers/MovieController.php
+++ b/app/Http/Controllers/MovieController.php
@@ -13,7 +13,6 @@ class MovieController extends BasePageController
*/
public function showMovies(Request $request, string $id = '')
{
- $this->setPreferences();
$movie = new Movie(['Settings' => $this->settings]);
$moviecats = Category::getChildren(Category::MOVIE_ROOT)->map(function ($mcat) {
@@ -94,7 +93,6 @@ class MovieController extends BasePageController
*/
public function showMovie(Request $request, string $imdbid)
{
- $this->setPreferences();
$movie = new Movie(['Settings' => $this->settings]);
// Get movie info
diff --git a/app/Http/Controllers/MusicController.php b/app/Http/Controllers/MusicController.php
index 8f8aa16ff..800774728 100644
--- a/app/Http/Controllers/MusicController.php
+++ b/app/Http/Controllers/MusicController.php
@@ -15,7 +15,6 @@ class MusicController extends BasePageController
*/
public function show(Request $request, string $id = '')
{
- $this->setPreferences();
$music = new Music(['Settings' => $this->settings]);
$gen = new Genres(['Settings' => $this->settings]);
diff --git a/app/Http/Controllers/MyMoviesController.php b/app/Http/Controllers/MyMoviesController.php
index adf95b045..45b0ca635 100644
--- a/app/Http/Controllers/MyMoviesController.php
+++ b/app/Http/Controllers/MyMoviesController.php
@@ -13,7 +13,6 @@ class MyMoviesController extends BasePageController
{
public function show(Request $request)
{
- $this->setPreferences();
$mv = new Movie;
$action = $request->input('id') ?? '';
diff --git a/app/Http/Controllers/MyShowsController.php b/app/Http/Controllers/MyShowsController.php
index 224be15d7..8b04c65ed 100644
--- a/app/Http/Controllers/MyShowsController.php
+++ b/app/Http/Controllers/MyShowsController.php
@@ -13,7 +13,6 @@ class MyShowsController extends BasePageController
{
public function show(Request $request)
{
- $this->setPreferences();
$action = $request->input('action') ?? '';
$videoId = $request->input('id') ?? '';
@@ -162,7 +161,6 @@ class MyShowsController extends BasePageController
*/
public function browse(Request $request)
{
- $this->setPreferences();
$title = 'Browse My Shows';
$meta_title = 'My Shows';
$meta_keywords = 'search,add,to,cart,nzb,description,details';
diff --git a/app/Http/Controllers/NfoController.php b/app/Http/Controllers/NfoController.php
index 1f8ded980..1b7d945cd 100644
--- a/app/Http/Controllers/NfoController.php
+++ b/app/Http/Controllers/NfoController.php
@@ -14,8 +14,6 @@ class NfoController extends BasePageController
*/
public function showNfo(Request $request, string $id = ''): void
{
- $this->setPreferences();
-
if ($id) {
$rel = Release::getByGuid($id);
diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php
index 837f1bb66..569a7f86e 100644
--- a/app/Http/Controllers/ProfileController.php
+++ b/app/Http/Controllers/ProfileController.php
@@ -24,7 +24,6 @@ class ProfileController extends BasePageController
*/
public function show(Request $request)
{
- $this->setPreferences();
$userID = $this->userdata->id;
$privileged = $this->userdata->hasRole('Admin') || $this->userdata->hasRole('Moderator');
@@ -88,7 +87,6 @@ class ProfileController extends BasePageController
*/
public function edit(Request $request)
{
- $this->setPreferences();
$action = $request->input('action') ?? 'view';
@@ -286,7 +284,6 @@ class ProfileController extends BasePageController
*/
public function destroy(Request $request): Application|View|Factory|RedirectResponse|\Illuminate\Contracts\Foundation\Application
{
- $this->setPreferences();
$userId = $request->input('id');
if ($userId !== null && (int) $userId === $this->userdata->id && ! $this->userdata->hasRole('Admin')) {
diff --git a/app/Http/Controllers/RssController.php b/app/Http/Controllers/RssController.php
index 5d2a27919..cae88930d 100644
--- a/app/Http/Controllers/RssController.php
+++ b/app/Http/Controllers/RssController.php
@@ -67,7 +67,6 @@ class RssController extends BasePageController
*/
public function fullFeedRss(Request $request)
{
- $this->setPreferences();
$rss = new RSS;
$offset = 0;
$user = $this->userCheck($request);
@@ -93,7 +92,6 @@ class RssController extends BasePageController
*/
public function showRssDesc()
{
- $this->setPreferences();
$rss = new RSS;
$firstShow = $rss->getFirstInstance('videos_id', 'releases', 'id');
diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php
index 275f3f88b..23a16f52a 100644
--- a/app/Http/Controllers/SearchController.php
+++ b/app/Http/Controllers/SearchController.php
@@ -14,7 +14,6 @@ class SearchController extends BasePageController
*/
public function search(Request $request)
{
- $this->setPreferences();
$releases = new Releases;
$results = [];
diff --git a/app/Http/Controllers/SeriesController.php b/app/Http/Controllers/SeriesController.php
index beaca0306..ed1b391a1 100644
--- a/app/Http/Controllers/SeriesController.php
+++ b/app/Http/Controllers/SeriesController.php
@@ -15,7 +15,6 @@ class SeriesController extends BasePageController
*/
public function index(Request $request, string $id = '')
{
- $this->setPreferences();
$releases = new Releases;
if ($id && ctype_digit($id)) {
diff --git a/app/Http/Controllers/TermsController.php b/app/Http/Controllers/TermsController.php
index c670cd34f..521c3f718 100644
--- a/app/Http/Controllers/TermsController.php
+++ b/app/Http/Controllers/TermsController.php
@@ -9,7 +9,6 @@ class TermsController extends BasePageController
*/
public function terms(): void
{
- $this->setPreferences();
$title = 'Terms and Conditions';
$meta_title = config('app.name').' - Terms and conditions';
$meta_keywords = 'terms,conditions';
diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php
index c2aa6e755..b8431d488 100644
--- a/app/Providers/AppServiceProvider.php
+++ b/app/Providers/AppServiceProvider.php
@@ -18,8 +18,10 @@ class AppServiceProvider extends ServiceProvider
public function boot(): void
{
Paginator::useTailwind();
- $smarty = app('smarty.view');
- view()->share('smarty', $smarty);
+
+ // Share global data with all views using View Composer
+ view()->composer('*', \App\View\Composers\GlobalDataComposer::class);
+
Gate::define('viewPulse', function (User $user) {
return $user->hasRole('Admin');
});
diff --git a/app/View/Composers/GlobalDataComposer.php b/app/View/Composers/GlobalDataComposer.php
new file mode 100644
index 000000000..acc5f6a69
--- /dev/null
+++ b/app/View/Composers/GlobalDataComposer.php
@@ -0,0 +1,56 @@
+ url('/'),
+ 'site' => $settings,
+ 'theme' => 'Gentele',
+ ];
+
+ if (Auth::check()) {
+ $userdata = User::find(Auth::id());
+ $userdata->categoryexclusions = User::getCategoryExclusionById(Auth::id());
+
+ // Update last login every 15 mins.
+ if (now()->subHours(3) > $userdata->lastlogin) {
+ event(new UserLoggedIn($userdata));
+ }
+
+ $parentcatlist = Category::getForMenu($userdata->categoryexclusions);
+
+ $viewData = array_merge($viewData, [
+ 'userdata' => $userdata,
+ 'loggedin' => true,
+ 'isadmin' => $userdata->hasRole('Admin'),
+ 'ismod' => $userdata->hasRole('Moderator'),
+ 'parentcatlist' => $parentcatlist,
+ 'header_menu_cat' => request()->input('t', ''),
+ ]);
+ } else {
+ $viewData = array_merge($viewData, [
+ 'isadmin' => false,
+ 'ismod' => false,
+ 'loggedin' => false,
+ ]);
+ }
+
+ $view->with($viewData);
+ }
+}
diff --git a/resources/views/browse/index.blade.php b/resources/views/browse/index.blade.php
index 3b5385272..66ebbb0ec 100644
--- a/resources/views/browse/index.blade.php
+++ b/resources/views/browse/index.blade.php
@@ -156,6 +156,13 @@
Sample
@endif
+ @if(isset($result->videos_id) && $result->videos_id > 0)
+
+ View Series
+
+ @endif
@if(isset($result->reid) && $result->reid != null)