‪TYPO3CMS  ‪main
RecordLinkHandler.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 
24 {
30  protected ‪$baseUrn = 't3://record';
31 
37  public function ‪asString(array $parameters): string
38  {
39  if (empty($parameters['identifier']) || empty($parameters['uid'])) {
40  throw new \InvalidArgumentException('The RecordLinkHandler expects identifier and uid as $parameter configuration.', 1486155150);
41  }
42  $urn = ‪$this->baseUrn;
43  $urn .= sprintf('?identifier=%s&uid=%s', $parameters['identifier'], $parameters['uid']);
44 
45  if (!empty($parameters['fragment'])) {
46  $urn .= sprintf('#%s', $parameters['fragment']);
47  }
48 
49  return $urn;
50  }
51 
57  public function ‪resolveHandlerData(array $data): array
58  {
59  if (empty($data['identifier']) || empty($data['uid'])) {
60  throw new \InvalidArgumentException('The RecordLinkHandler expects identifier, uid as $data configuration', 1486155151);
61  }
62 
63  return $data;
64  }
65 }