encodeFallbackLinkTextIfLinkTextIsEmpty($linkText, rawurldecode($linkLocation)); $absRefPrefix = GeneralUtility::makeInstance(FrontendUrlPrefix::class)->getUrlPrefix($request); $linkLocation = (!str_starts_with($linkLocation, '/') ? $absRefPrefix : '') . $linkLocation; $url = $linkLocation; $url = $this->forceAbsoluteUrl($url, $configuration, $request); $target = $target ?: $this->resolveTargetAttribute($configuration, 'fileTarget', $request->getAttribute('currentContentObject')); } elseif ($linkDetails['url'] ?? false) { $linkDetails['type'] = LinkService::TYPE_URL; $target = $target ?: $this->resolveTargetAttribute($configuration, 'extTarget', $request->getAttribute('currentContentObject')); $linkText = $this->encodeFallbackLinkTextIfLinkTextIsEmpty($linkText, $linkDetails['url']); $url = $linkDetails['url']; } else { throw new UnableToLinkException('Unknown link detected, so ' . $linkText . ' was not linked.', 1490990031, null, $linkText); } return (new LinkResult((string)$linkDetails['type'], (string)$url))->withTarget($target)->withLinkConfiguration($configuration)->withLinkText($linkText); } }