Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
peripherad
/
vendor
/
spatie
/
laravel-medialibrary
/
src
/
Support
/
UrlGenerator
:
BaseUrlGenerator.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Spatie\MediaLibrary\Support\UrlGenerator; use Illuminate\Contracts\Config\Repository as Config; use Illuminate\Contracts\Filesystem\Filesystem; use Illuminate\Support\Facades\Storage; use Spatie\MediaLibrary\Conversions\Conversion; use Spatie\MediaLibrary\MediaCollections\Models\Media; use Spatie\MediaLibrary\Support\PathGenerator\PathGenerator; abstract class BaseUrlGenerator implements UrlGenerator { protected ?Media $media = null; protected ?Conversion $conversion = null; protected ?PathGenerator $pathGenerator = null; public function __construct(protected Config $config) { } public function setMedia(Media $media): UrlGenerator { $this->media = $media; return $this; } public function setConversion(Conversion $conversion): UrlGenerator { $this->conversion = $conversion; return $this; } public function setPathGenerator(PathGenerator $pathGenerator): UrlGenerator { $this->pathGenerator = $pathGenerator; return $this; } public function getPathRelativeToRoot(): string { if (is_null($this->conversion)) { return $this->pathGenerator->getPath($this->media).($this->media->file_name); } return $this->pathGenerator->getPathForConversions($this->media) .$this->conversion->getConversionFile($this->media); } protected function getDiskName(): string { return $this->conversion === null ? $this->media->disk : $this->media->conversions_disk; } protected function getDisk(): Filesystem { return Storage::disk($this->getDiskName()); } public function versionUrl(string $path = ''): string { if (! $this->config->get('media-library.version_urls')) { return $path; } return "{$path}?v={$this->media->updated_at->timestamp}"; } }