From 0f82fe05cd3e24c5963e517358b824c8b4637782 Mon Sep 17 00:00:00 2001 From: DariusIII Date: Mon, 6 Oct 2025 12:38:12 +0200 Subject: [PATCH] Update mymovies --- app/Http/Controllers/InvitationController.php | 189 ++++---------- app/Http/Controllers/MyMoviesController.php | 74 +++--- resources/views/invitations/create.blade.php | 202 +++++++++++++++ resources/views/invitations/index.blade.php | 233 ++++++++++++++++++ resources/views/invitations/show.blade.php | 144 +++++++++++ .../views/themes/Gentele/browse.blade.php | 70 ++++++ .../themes/Gentele/mymovies-add.blade.php | 109 ++++++++ .../views/themes/Gentele/mymovies.blade.php | 148 +++++++++++ 8 files changed, 995 insertions(+), 174 deletions(-) create mode 100644 resources/views/invitations/create.blade.php create mode 100644 resources/views/invitations/index.blade.php create mode 100644 resources/views/invitations/show.blade.php create mode 100644 resources/views/themes/Gentele/browse.blade.php create mode 100644 resources/views/themes/Gentele/mymovies-add.blade.php create mode 100644 resources/views/themes/Gentele/mymovies.blade.php diff --git a/app/Http/Controllers/InvitationController.php b/app/Http/Controllers/InvitationController.php index 1909866d3..56acc1417 100644 --- a/app/Http/Controllers/InvitationController.php +++ b/app/Http/Controllers/InvitationController.php @@ -3,11 +3,12 @@ namespace App\Http\Controllers; use App\Models\Invitation; -use App\Models\Settings; // Added for registerstatus check +use App\Models\Settings; use App\Services\InvitationService; use Illuminate\Http\JsonResponse; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; +use Illuminate\View\View; class InvitationController extends BasePageController { @@ -23,45 +24,38 @@ class InvitationController extends BasePageController /** * Display a listing of the user's invitations */ - public function index(Request $request): void + public function index(Request $request): View { $this->setPreferences(); $inviteMode = (int) Settings::settingValue('registerstatus') === Settings::REGISTER_STATUS_INVITE; + $status = $request->get('status'); + + $this->viewData['meta_title'] = 'My Invitations'; + $this->viewData['meta_keywords'] = 'invitations,invite,users,manage'; + $this->viewData['meta_description'] = 'Manage your sent invitations and send new invitations to friends'; + $this->viewData['status'] = $status; + if (! $inviteMode) { // Invitations disabled: show informational message only, no queries. - $this->smarty->assign([ - 'invite_mode' => false, - 'status' => null, - 'stats' => [], - 'invitations' => [], - 'pagination_links' => null, - 'csrf_token' => csrf_token(), - ]); + $this->viewData['invite_mode'] = false; + $this->viewData['stats'] = []; + $this->viewData['invitations'] = []; + $this->viewData['pagination_links'] = null; - $meta_title = 'Invitations Disabled'; - $meta_keywords = 'invitations,disabled'; - $meta_description = 'Invitations are currently disabled on this site.'; + $this->viewData['meta_title'] = 'Invitations Disabled'; + $this->viewData['meta_keywords'] = 'invitations,disabled'; + $this->viewData['meta_description'] = 'Invitations are currently disabled on this site.'; - $content = $this->smarty->fetch('invitations_index.tpl'); - $this->smarty->assign([ - 'content' => $content, - 'meta_title' => $meta_title, - 'meta_keywords' => $meta_keywords, - 'meta_description' => $meta_description, - ]); - $this->pagerender(); - - return; + return view('invitations.index', $this->viewData); } - $status = $request->get('status'); $user = auth()->user(); $invitations = $this->invitationService->getUserInvitations($user->id, $status); $stats = $this->invitationService->getUserInvitationStats($user->id); - // Convert paginated results to array for Smarty + // Convert paginated results to array for Blade $invitationsArray = []; foreach ($invitations as $invitation) { $invitationData = $invitation->toArray(); @@ -71,7 +65,7 @@ class InvitationController extends BasePageController $invitationData['used_by_user'] = $invitation->usedBy->toArray(); } - // Convert timestamps for Smarty + // Convert timestamps $invitationData['created_at'] = strtotime($invitation->created_at); $invitationData['expires_at'] = strtotime($invitation->expires_at); if ($invitation->used_at) { @@ -81,61 +75,35 @@ class InvitationController extends BasePageController $invitationsArray[] = $invitationData; } - $this->smarty->assign([ - 'invite_mode' => true, - 'invitations' => $invitationsArray, - 'stats' => $stats, - 'status' => $status, - 'pagination_links' => $invitations->links(), - 'csrf_token' => csrf_token(), - ]); + $this->viewData['invite_mode'] = true; + $this->viewData['invitations'] = $invitationsArray; + $this->viewData['stats'] = $stats; + $this->viewData['status'] = $status; + $this->viewData['pagination_links'] = $invitations->links(); - // Set meta information - $meta_title = 'My Invitations'; - $meta_keywords = 'invitations,invite,users,manage'; - $meta_description = 'Manage your sent invitations and send new invitations to friends'; - - // Fetch the template content - $content = $this->smarty->fetch('invitations_index.tpl'); - - // Assign content and meta data for final rendering - $this->smarty->assign([ - 'content' => $content, - 'meta_title' => $meta_title, - 'meta_keywords' => $meta_keywords, - 'meta_description' => $meta_description, - ]); - - // Render the page with proper styling - $this->pagerender(); + return view('invitations.index', $this->viewData); } /** * Show the form for creating a new invitation */ - public function create(): void + public function create(): View { $this->setPreferences(); $inviteMode = (int) Settings::settingValue('registerstatus') === Settings::REGISTER_STATUS_INVITE; - if (! $inviteMode) { - $this->smarty->assign([ - 'invite_mode' => false, - 'csrf_token' => csrf_token(), - ]); - $meta_title = 'Invitations Disabled'; - $meta_keywords = 'invitations,disabled'; - $meta_description = 'Invitations are currently disabled on this site.'; - $content = $this->smarty->fetch('invitations_create.tpl'); - $this->smarty->assign([ - 'content' => $content, - 'meta_title' => $meta_title, - 'meta_keywords' => $meta_keywords, - 'meta_description' => $meta_description, - ]); - $this->pagerender(); - return; + $this->viewData['meta_title'] = 'Send New Invitation'; + $this->viewData['meta_keywords'] = 'invitation,invite,send,new,user'; + $this->viewData['meta_description'] = 'Send a new invitation to invite someone to join the site'; + + if (! $inviteMode) { + $this->viewData['invite_mode'] = false; + $this->viewData['meta_title'] = 'Invitations Disabled'; + $this->viewData['meta_keywords'] = 'invitations,disabled'; + $this->viewData['meta_description'] = 'Invitations are currently disabled on this site.'; + + return view('invitations.create', $this->viewData); } $user = auth()->user(); @@ -148,36 +116,15 @@ class InvitationController extends BasePageController ->count(); $availableInvites = $user->invites - $activeInvitations; - $this->smarty->assign([ - 'invite_mode' => true, - 'user_roles' => config('nntmux.user_roles', []), - 'csrf_token' => csrf_token(), - 'old' => old(), - 'errors' => session('errors') ? session('errors')->getBag('default')->getMessages() : [], - 'user_invites_left' => $availableInvites, - 'user_invites_total' => $user->invites, - 'user_invites_pending' => $activeInvitations, - 'can_send_invites' => $availableInvites > 0, - ]); - // Set meta information - $meta_title = 'Send New Invitation'; - $meta_keywords = 'invitation,invite,send,new,user'; - $meta_description = 'Send a new invitation to invite someone to join the site'; + $this->viewData['invite_mode'] = true; + $this->viewData['user_roles'] = config('nntmux.user_roles', []); + $this->viewData['user_invites_left'] = $availableInvites; + $this->viewData['user_invites_total'] = $user->invites; + $this->viewData['user_invites_pending'] = $activeInvitations; + $this->viewData['can_send_invites'] = $availableInvites > 0; - // Fetch the template content - $content = $this->smarty->fetch('invitations_create.tpl'); - - // Assign content and meta data for final rendering - $this->smarty->assign([ - 'content' => $content, - 'meta_title' => $meta_title, - 'meta_keywords' => $meta_keywords, - 'meta_description' => $meta_description, - ]); - - // Render the page with proper styling - $this->pagerender(); + return view('invitations.create', $this->viewData); } /** @@ -223,31 +170,16 @@ class InvitationController extends BasePageController /** * Display the specified invitation */ - public function show(string $token): void + 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(); - } else { - // Set up basic Smarty configuration for guests - $this->smarty->setTemplateDir([ - 'user' => config('ytake-laravel-smarty.template_path').'/Gentele', - 'shared' => config('ytake-laravel-smarty.template_path').'/shared', - 'default' => config('ytake-laravel-smarty.template_path').'/Gentele', - ]); - - $this->smarty->assign([ - 'isadmin' => false, - 'ismod' => false, - 'loggedin' => false, - 'theme' => 'Gentele', - 'site' => $this->settings, - ]); } $preview = $this->invitationService->getInvitationPreview($token); - // Convert timestamps for Smarty + // Convert timestamps if ($preview && isset($preview['expires_at'])) { $preview['expires_at'] = strtotime($preview['expires_at']); } @@ -258,29 +190,15 @@ class InvitationController extends BasePageController $preview['role_name'] = $roles[$preview['metadata']['role']] ?? 'Default'; } - $this->smarty->assign([ - 'preview' => $preview, - 'token' => $token, - ]); + $this->viewData['preview'] = $preview; + $this->viewData['token'] = $token; // Set meta information - $meta_title = $preview ? 'Invitation to Join' : 'Invalid Invitation'; - $meta_keywords = 'invitation,join,register,signup'; - $meta_description = $preview ? 'You have been invited to join our community' : 'This invitation link is invalid or expired'; + $this->viewData['meta_title'] = $preview ? 'Invitation to Join' : 'Invalid Invitation'; + $this->viewData['meta_keywords'] = 'invitation,join,register,signup'; + $this->viewData['meta_description'] = $preview ? 'You have been invited to join our community' : 'This invitation link is invalid or expired'; - // Fetch the template content - $content = $this->smarty->fetch('invitations_show.tpl'); - - // Assign content and meta data for final rendering - $this->smarty->assign([ - 'content' => $content, - 'meta_title' => $meta_title, - 'meta_keywords' => $meta_keywords, - 'meta_description' => $meta_description, - ]); - - // Render the page with proper styling - $this->pagerender(); + return view('invitations.show', $this->viewData); } /** @@ -371,3 +289,4 @@ class InvitationController extends BasePageController ]); } } + diff --git a/app/Http/Controllers/MyMoviesController.php b/app/Http/Controllers/MyMoviesController.php index b26a5d7e3..5d0eda556 100644 --- a/app/Http/Controllers/MyMoviesController.php +++ b/app/Http/Controllers/MyMoviesController.php @@ -20,9 +20,9 @@ class MyMoviesController extends BasePageController $imdbid = $request->input('imdb') ?? ''; if ($request->has('from')) { - $this->smarty->assign('from', url($request->input('from'))); + $this->viewData['from'] = url($request->input('from')); } else { - $this->smarty->assign('from', url('/mymovies')); + $this->viewData['from'] = url('/mymovies'); } switch ($action) { @@ -70,16 +70,15 @@ class MyMoviesController extends BasePageController } $categories[$c['id']] = $c['title']; } - $this->smarty->assign('type', 'add'); - $this->smarty->assign('cat_ids', array_keys($categories)); - $this->smarty->assign('cat_names', $categories); - $this->smarty->assign('cat_selected', []); - $this->smarty->assign('imdbid', $imdbid); - $this->smarty->assign('movie', $movie); - $content = $this->smarty->fetch('mymovies-add.tpl'); - $this->smarty->assign('content', $content); - $this->pagerender(); - break; + $this->viewData['type'] = 'add'; + $this->viewData['cat_ids'] = array_keys($categories); + $this->viewData['cat_names'] = $categories; + $this->viewData['cat_selected'] = []; + $this->viewData['imdbid'] = $imdbid; + $this->viewData['movie'] = $movie; + $this->viewData['content'] = view('themes/Gentele/mymovies-add', $this->viewData)->render(); + return $this->pagerender(); + case 'edit': case 'doedit': $movie = UserMovie::getMovie($this->userdata->id, $imdbid); @@ -104,16 +103,15 @@ class MyMoviesController extends BasePageController $categories[$c['id']] = $c['title']; } - $this->smarty->assign('type', 'edit'); - $this->smarty->assign('cat_ids', array_keys($categories)); - $this->smarty->assign('cat_names', $categories); - $this->smarty->assign('cat_selected', explode('|', $movie['categories'])); - $this->smarty->assign('imdbid', $imdbid); - $this->smarty->assign('movie', $movie); - $content = $this->smarty->fetch('mymovies-add.tpl'); - $this->smarty->assign('content', $content); - $this->pagerender(); - break; + $this->viewData['type'] = 'edit'; + $this->viewData['cat_ids'] = array_keys($categories); + $this->viewData['cat_names'] = $categories; + $this->viewData['cat_selected'] = explode('|', $movie['categories']); + $this->viewData['imdbid'] = $imdbid; + $this->viewData['movie'] = $movie; + $this->viewData['content'] = view('themes/Gentele/mymovies-add', $this->viewData)->render(); + return $this->pagerender(); + case 'browse': $title = 'Browse My Movies'; @@ -148,22 +146,19 @@ class MyMoviesController extends BasePageController $results = $mv->getMovieRange($page, $movie['categoryNames'], $offset, config('nntmux.items_per_cover_page'), $ordering, -1, $this->userdata->categoryexclusions); - $this->smarty->assign('covgroup', ''); + $this->viewData['covgroup'] = ''; foreach ($ordering as $ordertype) { - $this->smarty->assign('orderby'.$ordertype, url('/mymovies/browse?ob='.$ordertype.'&offset=0')); + $this->viewData['orderby'.$ordertype] = url('/mymovies/browse?ob='.$ordertype.'&offset=0'); } - $this->smarty->assign('lastvisit', $this->userdata->lastlogin); + $this->viewData['lastvisit'] = $this->userdata->lastlogin; + $this->viewData['results'] = $results; + $this->viewData['movies'] = true; + $this->viewData['content'] = view('themes/Gentele/browse', $this->viewData)->render(); + $this->viewData = array_merge($this->viewData, compact('title', 'meta_title', 'meta_keywords', 'meta_description')); + return $this->pagerender(); - $this->smarty->assign('results', $results); - - $this->smarty->assign('movies', true); - - $content = $this->smarty->fetch('browse.tpl'); - $this->smarty->assign(compact('content', 'title', 'meta_title', 'meta_keywords', 'meta_description')); - $this->pagerender(); - break; default: $title = 'My Movies'; @@ -195,12 +190,13 @@ class MyMoviesController extends BasePageController $results[$moviek] = $movie; } - $this->smarty->assign('movies', $results); - - $content = $this->smarty->fetch('mymovies.tpl'); - $this->smarty->assign(compact('content', 'title', 'meta_title', 'meta_keywords', 'meta_description')); - $this->pagerender(); - break; + $this->viewData['movies'] = $results; + $this->viewData['content'] = view('themes/Gentele/mymovies', $this->viewData)->render(); + $this->viewData = array_merge($this->viewData, compact('title', 'meta_title', 'meta_keywords', 'meta_description')); + return $this->pagerender(); } + + // Fallback return in case no case matches + return redirect()->to('/mymovies'); } } diff --git a/resources/views/invitations/create.blade.php b/resources/views/invitations/create.blade.php new file mode 100644 index 000000000..399ce00d3 --- /dev/null +++ b/resources/views/invitations/create.blade.php @@ -0,0 +1,202 @@ +@extends('layouts.main') + +@section('content') +@if(!$invite_mode) +
+ +
+
+
+
+
+
Invitations Disabled
+

User invitations are currently disabled on this site. You cannot send new invitations at this time.

+ Back to Profile +
+
+
+
+@else +
+ +
+ +
+
+
+
+
+
Send New Invitation
+
+
+ + {{ $user_invites_left }} invites left +
+ + Back to Invitations + +
+
+
+ @if(session('error')) + + @endif + + @if($errors->any()) +
+
    + @foreach($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+ @endif + + @if(!$can_send_invites) +
+ +
No Invitations Available
+

You have used all of your available invitations. You cannot send new invitations at this time.

+ +
+ @else +
+ @csrf + +
+
+ +
+ Available Invitations: You have {{ $user_invites_left }} invitation{{ $user_invites_left != 1 ? 's' : '' }} remaining. + @if($user_invites_left == 1) + This is your last invitation, so use it wisely! + @endif +
+
+
+ +
+ + + @error('email') +
{{ $message }}
+ @enderror +
+ The person will receive an invitation email at this address. +
+
+ +
+ + + @error('expiry_days') +
{{ $message }}
+ @enderror +
+ How long the invitation will remain valid. +
+
+ + @if(isset($user_roles) && !empty($user_roles)) +
+ + + @error('role') +
{{ $message }}
+ @enderror +
+ The role to assign to the user when they accept the invitation. +
+
+ @endif + +
+
+ +
+ How it works: +
    +
  • The recipient will receive an email with a secure invitation link
  • +
  • They can use this link to create their account within the specified time period
  • +
  • Once the time expires, the invitation link becomes invalid
  • +
  • You can track the status of all your invitations from the main invitations page
  • +
+
+
+
+ +
+ + Cancel + + +
+
+ @endif +
+
+
+
+
+@endif +@endsection + diff --git a/resources/views/invitations/index.blade.php b/resources/views/invitations/index.blade.php new file mode 100644 index 000000000..036c56e76 --- /dev/null +++ b/resources/views/invitations/index.blade.php @@ -0,0 +1,233 @@ +@extends('layouts.main') + +@section('content') +@if(!$invite_mode) +
+
+
+
+
Invitations Disabled
+

User invitations are currently disabled on this site. If you believe this is an error, please contact an administrator.

+
+
+
+
+@else +
+ +
+ +
+
+
+
+
+
My Invitations
+ + Send New Invitation + +
+
+ @if(session('success')) + + @endif + + @if(session('error')) + + @endif + + +
+
+
+
+

{{ $stats['total'] ?? 0 }}

+ Total Sent +
+
+
+
+
+
+

{{ $stats['used'] ?? 0 }}

+ Accepted +
+
+
+
+
+
+

{{ $stats['pending'] ?? 0 }}

+ Pending +
+
+
+
+
+
+

{{ $stats['expired'] ?? 0 }}

+ Expired +
+
+
+
+ + + + + + @if(count($invitations) > 0) +
+ + + + + + + + + + + + + + @foreach($invitations as $invitation) + + + + + + + + + + @endforeach + +
EmailStatusSent DateExpiresUsed ByUsed DateActions
+
+ + {{ $invitation['email'] }} +
+
+ @if($invitation['used_at']) + Accepted + @elseif($invitation['expires_at'] < time()) + Expired + @elseif(!$invitation['is_active']) + Cancelled + @else + Pending + @endif + +
+ + {{ date('M j, Y', $invitation['created_at']) }} + {{ date('H:i', $invitation['created_at']) }} +
+
+
+ + {{ date('M j, Y', $invitation['expires_at']) }} + {{ date('H:i', $invitation['expires_at']) }} +
+
+ @if(isset($invitation['used_by_user'])) +
+ + {{ $invitation['used_by_user']['username'] ?? $invitation['used_by_user']['email'] }} +
+ @else + - + @endif +
+ @if($invitation['used_at']) +
+ + {{ date('M j, Y', $invitation['used_at']) }} + {{ date('H:i', $invitation['used_at']) }} +
+ @else + - + @endif +
+ @if(!$invitation['used_at'] && $invitation['expires_at'] > time() && $invitation['is_active']) +
+
+ @csrf + +
+
+ @csrf + @method('DELETE') + +
+
+ @else + - + @endif +
+
+ + @if(isset($pagination_links)) +
+ {!! $pagination_links !!} +
+ @endif + @else +
+ +
No Invitations Found
+

You haven't sent any invitations yet.

+ + Send Your First Invitation + +
+ @endif +
+
+
+
+
+@endif +@endsection + diff --git a/resources/views/invitations/show.blade.php b/resources/views/invitations/show.blade.php new file mode 100644 index 000000000..38bd7fe65 --- /dev/null +++ b/resources/views/invitations/show.blade.php @@ -0,0 +1,144 @@ +@extends('layouts.main') + +@section('content') +
+ + +
+
+
+
+
Invitation to Join {{ $site->title }}
+
+
+ @if($preview) +
+
+ +
+
You've been invited!
+

+ {{ $preview['inviter_name'] ?? 'Someone' }} has invited you to join {{ $site->title }}. +

+
+
+
+ +
+
+
+
+
Invitation Details
+
+
+
+
Invited by:
+
{{ $preview['inviter_name'] ?? 'Anonymous' }}
+
+
+
Email:
+
{{ $preview['email'] ?? 'N/A' }}
+
+
+
Expires:
+
+ @if(isset($preview['expires_at'])) + {{ date('M j, Y H:i', $preview['expires_at']) }} + @if($preview['expires_at'] < time()) +
Expired + @elseif($preview['is_used']) +
Already Used + @else +
Valid + @endif + @else + N/A + @endif +
+
+ @if(isset($preview['metadata']['role']) && isset($preview['role_name'])) +
+
Assigned Role:
+
+ {{ $preview['role_name'] ?? 'Default' }} +
+
+ @endif +
+
+
+
+
+
+
What's Next?
+
+
+

To accept this invitation and create your account:

+
    +
  1. Click the "Accept Invitation" button below
  2. +
  3. Fill out the registration form with your details
  4. +
  5. Verify your email address when prompted
  6. +
  7. Start exploring {{ $site->title }}!
  8. +
+
+
+
+
+ +
+ @if($preview['is_used']) +
+ +
This invitation has already been used
+

The account has been successfully created using this invitation.

+
+ + Login to Your Account + + @elseif($preview['expires_at'] < time()) +
+ +
This invitation has expired
+

Please contact the person who invited you for a new invitation.

+
+ + Contact Support + + @else + + Accept Invitation & Create Account + +
+ + Already have an account? Login here + +
+ @endif +
+ @else +
+ +
Invalid Invitation
+

This invitation link is not valid, has expired, or has been removed.

+ +
+ @endif +
+
+
+
+
+@endsection + diff --git a/resources/views/themes/Gentele/browse.blade.php b/resources/views/themes/Gentele/browse.blade.php new file mode 100644 index 000000000..e30761f89 --- /dev/null +++ b/resources/views/themes/Gentele/browse.blade.php @@ -0,0 +1,70 @@ +
+ +
+ +{!! $site->adbrowse ?? '' !!} + +@if(count($results ?? []) > 0) +
+
+
+ + + + + + + + + + + + + @foreach($results as $result) + + + + + + + + + @endforeach + +
NameCategoryPostedSizeFilesAction
+ + + + {{ $result->category_name ?? '' }} + + + {{ isset($result->postdate) ? \Carbon\Carbon::parse($result->postdate)->diffForHumans() : '' }} + + {{ isset($result->size) ? \App\Extensions\helper\formatBytes($result->size) : '' }} + + {{ $result->totalpart ?? 0 }} + + +
+
+
+
+@else +
+ No results found. +
+@endif + diff --git a/resources/views/themes/Gentele/mymovies-add.blade.php b/resources/views/themes/Gentele/mymovies-add.blade.php new file mode 100644 index 000000000..73db6ffc7 --- /dev/null +++ b/resources/views/themes/Gentele/mymovies-add.blade.php @@ -0,0 +1,109 @@ +
+
+
+

{{ ucfirst($type ?? 'add') }} Movie to Watchlist

+ +
+
+ +
+
+
+ {{ e($movie['title'] ?? '') }} + +
+

{{ ucfirst($type ?? 'add') }} "{{ e($movie['title'] ?? '') }}" to watchlist

+

Select categories below to organize this movie in your collection.

+
+
+ +
+ + Adding movies to your watchlist will notify you through your + id}&api_token={$userdata->api_token}") }}" class="alert-link"> + RSS Feed + + when they become available. +
+
+ + {!! Form::open(['id' => 'mymovies', 'class' => 'form', 'url' => "mymovies?id=do{$type}"]) !!} + + @if(!empty($from)) + + @endif + +
+ +
+ @foreach($cat_ids ?? [] as $index => $cat_id) +
+ + +
+ @endforeach +
+
+ +
+ + + Back to My Movies + +
+ {!! Form::close() !!} +
+
+ + + diff --git a/resources/views/themes/Gentele/mymovies.blade.php b/resources/views/themes/Gentele/mymovies.blade.php new file mode 100644 index 000000000..19bfefe7d --- /dev/null +++ b/resources/views/themes/Gentele/mymovies.blade.php @@ -0,0 +1,148 @@ +
+
+
+

My Movies

+ +
+
+ +
+
+ + Using 'My Movies' you can search for movies, and add them to a wishlist. If the movie becomes available it will be added to an + id}&api_token={$userdata->api_token}") }}" class="alert-link"> + RSS Feed + + you can use to automatically download. You can + + Manage Your Movie List + + to remove old items. +
+ + + + @if(count($movies ?? []) > 0) +
+ + + + + + + + + + + + @foreach($movies as $movie) + + + + + + + + @endforeach + +
CoverInformationCategoryAddedActions
+
+ {{ e($movie['title'] ?? '') }} +
+
+
+
+ + {{ e($movie['title'] ?? '') }} ({{ $movie['year'] ?? '' }}) + +
+ + @if(!empty($movie['tagline'])) +
{{ e($movie['tagline']) }}
+ @endif +
+ + @if(!empty($movie['plot'])) +

{{ e($movie['plot']) }}

+ @endif + +
+ @if(!empty($movie['genre'])) +
+ Genre: {{ e($movie['genre']) }} +
+ @endif + + @if(!empty($movie['director'])) +
+ Director: {{ e($movie['director']) }} +
+ @endif + + @if(!empty($movie['actors'])) +
+ Starring: {{ e($movie['actors']) }} +
+ @endif +
+ + +
+ + {{ !empty($movie['categoryNames']) ? e($movie['categoryNames']) : 'All' }} + + +
+ + {{ isset($movie['created_at']) ? date('M d, Y', strtotime($movie['created_at'])) : '' }} +
+
+ +
+
+ @else +
+ No movies bookmarked yet. Add movies from movie pages. +
+ @endif +
+
+ + +