public static function BlazyUtil::imageUrl in Blazy 8.2
Provides image url based on the given settings.
2 calls to BlazyUtil::imageUrl()
- Blazy::preprocessFileVideo in src/
Blazy.php - Overrides variables for file-video.html.twig templates.
- Blazy::urlAndDimensions in src/
Blazy.php - Builds URLs, cache tags, and dimensions for an individual image.
File
- src/
BlazyUtil.php, line 111
Class
- BlazyUtil
- Provides Blazy utilities.
Namespace
Drupal\blazyCode
public static function imageUrl(array &$settings) {
// Provides image_url, not URI, expected by lazyload.
$uri = $settings['uri'];
$valid = self::isValidUri($uri);
$styled = $valid && empty($settings['unstyled']);
// Image style modifier can be multi-style images such as GridStack.
if ($valid && !empty($settings['image_style']) && ($style = ImageStyle::load($settings['image_style']))) {
$settings['image_url'] = self::transformRelative($uri, $styled ? $style : NULL);
$settings['cache_tags'] = $style
->getCacheTags();
// Only re-calculate dimensions if not cropped, nor already set.
if (empty($settings['_dimensions']) && empty($settings['responsive_image_style'])) {
$settings = array_merge($settings, self::transformDimensions($style, $settings));
}
}
else {
$image_url = $valid ? self::transformRelative($uri) : $uri;
$settings['image_url'] = empty($settings['image_url']) ? $image_url : $settings['image_url'];
}
// Just in case, an attempted kidding gets in the way, relevant for UGC.
$data_uri = mb_substr($settings['image_url'], 0, 10) === 'data:image';
if (!empty($settings['_check_protocol']) && !$data_uri) {
$settings['image_url'] = UrlHelper::stripDangerousProtocols($settings['image_url']);
}
}