Untitled
unknown
plain_text
10 months ago
2.2 kB
9
Indexable
@php
// Retrieve free media posts associated with a specific update ID
$freeMedia = DB::table('free_media_posts')
->leftJoin('media', 'free_media_posts.media_name', '=', 'media.file')
->where('free_media_posts.updates_id', $response->id)
->get();
@endphp
@if ($freeMedia->isNotEmpty())
@foreach ($freeMedia as $media)
@php
// Determine the file path based on the file type
if (Str::endsWith($media->media_name, ['.mp4', '.webm', '.ogg'])) {
// For videos, generate a secure URL with a token and expiration time
$expires = now()->addMinutes(60)->timestamp; // Token valid for 60 minutes
$token = hash_hmac('sha256', "{$media->media_name}|{$expires}", config('app.key'));
$filePath = url("video/{$token}/{$expires}/{$media->media_name}");
} else {
// For images and other files, use the original file path
$filePath = url("files/storage/{$response->id}/{$media->media_name}");
}
@endphp
@if (Str::endsWith($media->media_name, ['.mp4', '.webm', '.ogg'])) <!-- If the file is a video -->
<a href="{{ $filePath }}"
class="btn btn-secondary mt-2 glightbox"
data-gallery="gallery-preview-{{ $response->id }}"
data-type="video"
>
{{ __('Video sample 🎥') }}
</a>
@elseif (Str::endsWith($media->media_name, ['.jpg', '.png', '.jpeg', '.gif'])) <!-- If the file is an image -->
<a href="{{ $filePath }}"
class="btn btn-secondary mt-2 glightbox"
data-gallery="gallery-preview-{{ $response->id }}"
data-type="image"
>
{{ __('Sample image 🖼️') }}
</a>
@else
<a href="{{ $filePath }}"
class="btn btn-secondary mt-2 glightbox"
data-gallery="gallery-preview-{{ $response->id }}"
>
{{ __('Sample file 📁') }}
</a>
@endif
@endforeach
@endifEditor is loading...
Leave a Comment