Show a preview image in builtin attachment select autocomplete.

This commit is contained in:
Jan Böhmer 2020-06-01 14:51:38 +02:00
parent aa95f130db
commit f0d0a78f65
6 changed files with 65 additions and 6 deletions

View file

@ -101,6 +101,7 @@ class AttachmentPathResolver
/**
* Converts a path passed by parameter from services.yaml (which can be an absolute path or relative to project dir)
* to an absolute path. When a relative path is passed, the directory must exist or null is returned.
* Returns an absolute path with "/" no matter, what system is used.
*
* @internal
*
@ -132,8 +133,8 @@ class AttachmentPathResolver
return null;
}
//Otherwise return resolved path
return $tmp;
//Normalize file path (use / instead of \)
return str_replace('\\', '/', $tmp);
}
/**

View file

@ -91,6 +91,8 @@ class AttachmentURLGenerator
$public_path = $this->public_path;
}
//Our absolute path must begin with public path or we can not use it for asset pathes.
if (0 !== strpos($absolute_path, $public_path)) {
return null;
@ -100,6 +102,19 @@ class AttachmentURLGenerator
return substr($absolute_path, strlen($public_path) + 1);
}
/**
* Converts a placeholder path to a path to a image path.
*
* @param string $placeholder_path the placeholder path that should be converted
*
* @return string|null
*/
public function placeholderPathToAssetPath(string $placeholder_path): ?string
{
$absolute_path = $this->pathResolver->placeholderToRealPath($placeholder_path);
return $this->absolutePathToAssetPath($absolute_path);
}
/**
* Returns a URL under which the attachment file can be viewed.
*/