mirror of
https://github.com/getgrav/grav.git
synced 2026-07-05 09:29:44 +02:00
Merge branch 'develop' of github.com:getgrav/grav into develop
This commit is contained in:
@@ -557,7 +557,7 @@ class GravExtension extends AbstractExtension implements GlobalsInterface
|
||||
public function replaceLastFilter($str, $search, $replace)
|
||||
{
|
||||
if (is_string($str) && ($pos = mb_strrpos($str, $search)) !== false) {
|
||||
$str = substr_replace($str, $replace, $pos, mb_strlen($search));
|
||||
$str = mb_substr($str, 0, $pos) . $replace . mb_substr($str, $pos + mb_strlen($search));
|
||||
}
|
||||
|
||||
return $str;
|
||||
|
||||
@@ -78,19 +78,12 @@ abstract class Utils
|
||||
|
||||
$grav = Grav::instance();
|
||||
|
||||
// is this a page?
|
||||
/** @var Pages $pages */
|
||||
$pages = $grav['pages'];
|
||||
$page = $pages->find($input, true);
|
||||
if ($page && $page->routable()) {
|
||||
return $page->url($domain);
|
||||
}
|
||||
|
||||
/** @var Uri $uri */
|
||||
$uri = $grav['uri'];
|
||||
|
||||
$resource = false;
|
||||
if (static::contains((string)$input, '://')) {
|
||||
// Url contains a scheme (https:// , user:// etc).
|
||||
/** @var UniformResourceLocator $locator */
|
||||
$locator = $grav['locator'];
|
||||
|
||||
@@ -142,6 +135,16 @@ abstract class Utils
|
||||
$resource = $locator->findResource($input, false);
|
||||
}
|
||||
} else {
|
||||
// Just a path.
|
||||
/** @var Pages $pages */
|
||||
$pages = $grav['pages'];
|
||||
|
||||
// Is this a page?
|
||||
$page = $pages->find($input, true);
|
||||
if ($page && $page->routable()) {
|
||||
return $page->url($domain);
|
||||
}
|
||||
|
||||
$root = preg_quote($uri->rootUrl(), '#');
|
||||
$pattern = '#(' . $root . '$|' . $root . '/)#';
|
||||
if (!empty($root) && preg_match($pattern, $input, $matches)) {
|
||||
|
||||
Reference in New Issue
Block a user