‪TYPO3CMS  ‪main
ExternalUrlLinkBuilder.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
21 
26 {
27  public function ‪build(array &$linkDetails, string $linkText, string $target, array $conf): ‪LinkResultInterface
28  {
29  ‪$url = $linkDetails['url'] ?? '';
30  // issue https://forge.typo3.org/issues/101083 forces absolute path URLs
31  // like `/path/some-file.png` to be handled as external URL, and that's
32  // why the URL is forced to contain a fully qualified domain name as well
33  ‪$url = $this->‪forceAbsoluteUrl(‪$url, $conf);
34  $linkText = $this->‪encodeFallbackLinkTextIfLinkTextIsEmpty($linkText, ‪$url);
35  return (new LinkResult(‪LinkService::TYPE_URL, (string)‪$url))
36  ->withLinkConfiguration($conf)
37  ->withTarget(
38  $target ?: $this->‪resolveTargetAttribute($conf, 'extTarget'),
39  )
40  ->withLinkText($linkText);
41  }
42 }
‪TYPO3\CMS\Webhooks\Message\$url
‪identifier readonly UriInterface $url
Definition: LoginErrorOccurredMessage.php:36