NavigationItemForm: Don't pre-optimize urls with a port-macro
fixes #2695
This commit is contained in:
parent
1b4522606d
commit
d246f76268
|
@ -97,7 +97,10 @@ class NavigationItemForm extends Form
|
|||
public function getValues($suppressArrayNotation = false)
|
||||
{
|
||||
$values = parent::getValues($suppressArrayNotation);
|
||||
if (isset($values['url']) && $values['url']) {
|
||||
// The regex here specifically matches the port-macro as it's the only one preventing Url::fromPath() from
|
||||
// successfully parsing the given url. Any other macro such as for the scheme or host simply gets identified
|
||||
// as path which is just fine in this case.
|
||||
if (isset($values['url']) && $values['url'] && !preg_match('~://.+:(\$.+\$)~', $values['url'])) {
|
||||
$url = Url::fromPath($values['url']);
|
||||
if ($url->getBasePath() === $this->getRequest()->getBasePath()) {
|
||||
$values['url'] = $url->getRelativeUrl();
|
||||
|
|
Loading…
Reference in New Issue