Added a fullPath() helper method

This commit is contained in:
Andy Miller
2020-08-26 14:05:42 -06:00
parent 747b081809
commit f8a2c94903
2 changed files with 23 additions and 0 deletions

View File

@@ -3,6 +3,7 @@
1. [](#new)
* Added a new `svg_image()` twig function to make it easier to 'include' SVG source in Twig
* Added a helper `Utils::fullPath()` to get the full path to a file be it stream, relative, etc.
# v1.7.0-rc.15
## 07/22/2020

View File

@@ -130,6 +130,28 @@ abstract class Utils
return rtrim($uri->rootUrl($domain), '/') . '/' . ($resource ?? '');
}
/**
* Helper method to find the full path to a file, be it a stream, a relative path, or
* already a full path
*
* @param $path
* @return string
*/
public static function fullPath($path)
{
$locator = Grav::instance()['locator'];
if ($locator->isStream($path)) {
$path = $locator->findResource($path, true);
} elseif (!Utils::startsWith($path, GRAV_ROOT)) {
$base_url = Grav::instance()['base_url'];
$path = GRAV_ROOT . '/' . ltrim(Utils::replaceFirstOccurrence($base_url, '', $path), '/');
}
return $path;
}
/**
* Check if the $haystack string starts with the substring $needle
*