concrete/src/File/Image/Thumbnail/Path/Resolver.php
public function getPath(Version $file_version, ThumbnailVersion $thumbnail)
    {
        /** @var File $file */
        $file = $file_version->getFile();
        $format = $this->formatService->getFormatForFile($file_version);
        $file_id = $file->getFileID();
        $storage_location = $file->getFileStorageLocationObject();
        $configuration = $storage_location->getConfigurationObject();
        $version_id = $file_version->getFileVersionID();
        $storage_location_id = $storage_location->getID();
        $thumbnail_handle = $thumbnail->getHandle();
        $defer = $configuration instanceof DeferredConfigurationInterface;

        // Get the path from the storage
        $path = $this->getStoredThumbnailPath(
            $file_id,
            $version_id,
            $storage_location_id,
            $thumbnail_handle,
            $format
        );

        // If we don't have a stored path already, lets determine one and store it
        if (!$path) {
            $path = $this->determineThumbnailPath($file_version, $thumbnail, $storage_location, $configuration, $format);
            if ($path) {
                $this->storeThumbnailPath($path, $file_id, $version_id, $storage_location_id, $thumbnail_handle, $format, !$defer);
            }
        }

        // Pass the path to the "getBuiltThumbnailPath" method which will alter the path if it wants to
        $realPath = $this->getBuiltThumbnailPath($path, $file_version, $thumbnail, $storage_location, $configuration, $format);

        // If the "getBuiltThumbnailPath" method didn't alter the path, lLet's let the configuration resolve the path now
        if ($path == $realPath && $defer) {
            try {
                $realPath = $this->getPathFromConfiguration($realPath, $configuration);
            } catch (\InvalidArgumentException $e) {
                // Unable to resolve the path from the configuration object, lets return the real path
            }
        }

        return $realPath;
    }
public function getPath(Version $file_version, ThumbnailVersion $thumbnail)
    {
        /** @var File $file */
        $file = $file_version->getFile();
        $format = $this->formatService->getFormatForFile($file_version);
        $file_id = $file->getFileID();
        $storage_location = $file->getFileStorageLocationObject();
        $configuration = $storage_location->getConfigurationObject();
        $version_id = $file_version->getFileVersionID();
        $storage_location_id = $storage_location->getID();
        $thumbnail_handle = $thumbnail->getHandle();
        $defer = $configuration instanceof DeferredConfigurationInterface;

        // Get the path from the storage
        $path = $this->getStoredThumbnailPath(
            $file_id,
            $version_id,
            $storage_location_id,
            $thumbnail_handle,
            $format
        );

        // If we don't have a stored path already, lets determine one and store it
        if (!$path) {
            $path = $this->determineThumbnailPath($file_version, $thumbnail, $storage_location, $configuration, $format);
            if ($path) {
                $this->storeThumbnailPath($path, $file_id, $version_id, $storage_location_id, $thumbnail_handle, $format, !$defer);
            }
        }

        // Pass the path to the "getBuiltThumbnailPath" method which will alter the path if it wants to
        $realPath = $this->getBuiltThumbnailPath($path, $file_version, $thumbnail, $storage_location, $configuration, $format);

        // If the "getBuiltThumbnailPath" method didn't alter the path, lLet's let the configuration resolve the path now
        if ($path == $realPath && $defer) {
            try {
                $realPath = $this->getPathFromConfiguration($realPath, $configuration);
            } catch (\InvalidArgumentException $e) {
                // Unable to resolve the path from the configuration object, lets return the real path
            }
        }

        return $realPath;
    }
public function getPath ( Version $ file_version , ThumbnailVersion $ thumbnail ) { /** @var File $file */ $ file = $ file_version -> getFile ( ) ; $ format = $ this -> formatService -> getFormatForFile ( $ file_version ) ; $ file_id = $ file -> getFileID ( ) ; $ storage_location = $ file -> getFileStorageLocationObject ( ) ; $ configuration = $ storage_location -> getConfigurationObject ( ) ; $ version_id = $ file_version -> getFileVersionID ( ) ; $ storage_location_id = $ storage_location -> getID ( ) ; $ thumbnail_handle = $ thumbnail -> getHandle ( ) ; $ defer = $ configuration instanceof DeferredConfigurationInterface ; // Get the path from the storage $ path = $ this -> getStoredThumbnailPath ( $ file_id , $ version_id , $ storage_location_id , $ thumbnail_handle , $ format ) ; // If we don't have a stored path already, lets determine one and store it if ( ! $ path ) { $ path = $ this -> determineThumbnailPath ( $ file_version , $ thumbnail , $ storage_location , $ configuration , $ format ) ; if ( $ path ) { $ this -> storeThumbnailPath ( $ path , $ file_id , $ version_id , $ storage_location_id , $ thumbnail_handle , $ format , ! $ defer ) ; } } // Pass the path to the "getBuiltThumbnailPath" method which will alter the path if it wants to $ realPath = $ this -> getBuiltThumbnailPath ( $ path , $ file_version , $ thumbnail , $ storage_location , $ configuration , $ format ) ; // If the "getBuiltThumbnailPath" method didn't alter the path, lLet's let the configuration resolve the path now if ( $ path == $ realPath && $ defer ) { try { $ realPath = $ this -> getPathFromConfiguration ( $ realPath , $ configuration ) ; } catch ( \ InvalidArgumentException $ e ) { // Unable to resolve the path from the configuration object, lets return the real path } } return $ realPath ; }
Get the path for a file version

@param Version $file_version
@param ThumbnailVersion $thumbnail
@return null|string
Get the path for a file version