‪TYPO3CMS  9.5
UriBuilder.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
23 use ‪TYPO3\CMS\Extbase\Mvc\Web\Request as WebRequest;
24 
29 {
33  protected ‪$configurationManager;
34 
38  protected ‪$extensionService;
39 
45  protected ‪$contentObject;
46 
50  protected ‪$request;
51 
55  protected ‪$arguments = [];
56 
62  protected ‪$lastArguments = [];
63 
67  protected ‪$section = '';
68 
72  protected ‪$createAbsoluteUri = false;
73 
77  protected ‪$absoluteUriScheme;
78 
82  protected ‪$addQueryString = false;
83 
87  protected ‪$addQueryStringMethod;
88 
93 
97  protected ‪$linkAccessRestrictedPages = false;
98 
102  protected ‪$targetPageUid;
103 
107  protected ‪$targetPageType = 0;
108 
112  protected ‪$noCache = false;
113 
117  protected ‪$useCacheHash = true;
118 
122  protected ‪$format = '';
123 
128 
132  protected ‪$environmentService;
133 
139  {
140  $this->configurationManager = ‪$configurationManager;
141  }
142 
147  public function ‪injectExtensionService(\‪TYPO3\CMS\‪Extbase\Service\ExtensionService ‪$extensionService)
148  {
149  $this->extensionService = ‪$extensionService;
150  }
151 
156  public function ‪injectEnvironmentService(\‪TYPO3\CMS\‪Extbase\Service\EnvironmentService ‪$environmentService)
157  {
158  $this->environmentService = ‪$environmentService;
159  }
160 
165  public function ‪initializeObject()
166  {
167  $this->contentObject = $this->configurationManager->getContentObject();
168  }
169 
177  public function ‪setRequest(‪Request ‪$request)
178  {
179  $this->request = ‪$request;
180  return $this;
181  }
182 
187  public function ‪getRequest()
188  {
190  }
191 
200  public function ‪setArguments(array ‪$arguments)
201  {
202  $this->arguments = ‪$arguments;
203  return $this;
204  }
205 
209  public function ‪getArguments()
210  {
211  return ‪$this->arguments;
212  }
213 
220  public function ‪setSection(‪$section)
221  {
222  $this->section = ‪$section;
223  return $this;
224  }
225 
229  public function ‪getSection()
230  {
231  return ‪$this->section;
232  }
233 
240  public function ‪setFormat(‪$format)
241  {
242  $this->format = ‪$format;
243  return $this;
244  }
245 
249  public function ‪getFormat()
250  {
251  return ‪$this->format;
252  }
253 
261  {
262  $this->createAbsoluteUri = ‪$createAbsoluteUri;
263  return $this;
264  }
265 
269  public function ‪getCreateAbsoluteUri()
270  {
272  }
273 
278  public function ‪getAbsoluteUriScheme()
279  {
281  }
282 
291  {
292  $this->absoluteUriScheme = ‪$absoluteUriScheme;
293  return $this;
294  }
295 
304  {
305  $this->addQueryString = (bool)‪$addQueryString;
306  return $this;
307  }
308 
312  public function ‪getAddQueryString()
313  {
315  }
316 
326  {
327  $this->addQueryStringMethod = ‪$addQueryStringMethod;
328  return $this;
329  }
330 
334  public function ‪getAddQueryStringMethod()
335  {
336  return (string)‪$this->addQueryStringMethod;
337  }
338 
349  {
350  $this->argumentsToBeExcludedFromQueryString = ‪$argumentsToBeExcludedFromQueryString;
351  return $this;
352  }
353 
358  {
360  }
361 
370  {
371  $this->argumentPrefix = (string)‪$argumentPrefix;
372  return $this;
373  }
374 
379  public function ‪getArgumentPrefix()
380  {
382  }
383 
391  {
392  $this->linkAccessRestrictedPages = (bool)‪$linkAccessRestrictedPages;
393  return $this;
394  }
395 
399  public function ‪getLinkAccessRestrictedPages()
400  {
402  }
403 
410  public function ‪setTargetPageUid(‪$targetPageUid)
411  {
412  $this->targetPageUid = ‪$targetPageUid;
413  return $this;
414  }
415 
421  public function ‪getTargetPageUid()
422  {
424  }
425 
433  {
434  $this->targetPageType = (int)‪$targetPageType;
435  return $this;
436  }
437 
442  public function ‪getTargetPageType()
443  {
445  }
446 
454  public function ‪setNoCache(‪$noCache)
455  {
456  $this->noCache = (bool)‪$noCache;
457  return $this;
458  }
459 
463  public function ‪getNoCache()
464  {
465  return ‪$this->noCache;
466  }
467 
475  public function ‪setUseCacheHash(‪$useCacheHash)
476  {
477  $this->useCacheHash = (bool)‪$useCacheHash;
478  return $this;
479  }
480 
484  public function ‪getUseCacheHash()
485  {
487  }
488 
496  public function ‪getLastArguments()
497  {
499  }
500 
506  public function ‪reset()
507  {
508  $this->arguments = [];
509  $this->section = '';
510  $this->format = '';
511  $this->createAbsoluteUri = false;
512  $this->addQueryString = false;
513  $this->addQueryStringMethod = null;
514  $this->argumentsToBeExcludedFromQueryString = [];
515  $this->linkAccessRestrictedPages = false;
516  $this->targetPageUid = null;
517  $this->targetPageType = 0;
518  $this->noCache = false;
519  $this->useCacheHash = true;
520  $this->argumentPrefix = null;
521  return $this;
522  }
523 
536  public function ‪uriFor($actionName = null, $controllerArguments = [], $controllerName = null, $extensionName = null, $pluginName = null)
537  {
538  if ($actionName !== null) {
539  $controllerArguments['action'] = $actionName;
540  }
541  if ($controllerName !== null) {
542  $controllerArguments['controller'] = $controllerName;
543  } else {
544  $controllerArguments['controller'] = $this->request->getControllerName();
545  }
546  if ($extensionName === null) {
547  $extensionName = $this->request->getControllerExtensionName();
548  }
549  if ($pluginName === null && $this->environmentService->isEnvironmentInFrontendMode()) {
550  $pluginName = $this->extensionService->getPluginNameByAction($extensionName, $controllerArguments['controller'], $controllerArguments['action']);
551  }
552  if ($pluginName === null) {
553  $pluginName = $this->request->getPluginName();
554  }
555  if ($this->environmentService->isEnvironmentInFrontendMode() && $this->configurationManager->isFeatureEnabled('skipDefaultArguments')) {
556  $controllerArguments = $this->‪removeDefaultControllerAndAction($controllerArguments, $extensionName, $pluginName);
557  }
558  if ($this->targetPageUid === null && $this->environmentService->isEnvironmentInFrontendMode()) {
559  $this->targetPageUid = $this->extensionService->getTargetPidByPlugin($extensionName, $pluginName);
560  }
561  if ($this->format !== '') {
562  $controllerArguments['format'] = ‪$this->format;
563  }
564  if ($this->argumentPrefix !== null) {
565  $prefixedControllerArguments = [$this->argumentPrefix => $controllerArguments];
566  } else {
567  $pluginNamespace = $this->extensionService->getPluginNamespace($extensionName, $pluginName);
568  $prefixedControllerArguments = [$pluginNamespace => $controllerArguments];
569  }
570  ‪ArrayUtility::mergeRecursiveWithOverrule($this->arguments, $prefixedControllerArguments);
571  return $this->‪build();
572  }
573 
585  protected function ‪removeDefaultControllerAndAction(array $controllerArguments, $extensionName, $pluginName)
586  {
587  $defaultControllerName = $this->extensionService->getDefaultControllerNameByPlugin($extensionName, $pluginName);
588  if (isset($controllerArguments['action'])) {
589  $defaultActionName = $this->extensionService->getDefaultActionNameByPluginAndController($extensionName, $pluginName, $controllerArguments['controller']);
590  if ($controllerArguments['action'] === $defaultActionName) {
591  unset($controllerArguments['action']);
592  }
593  }
594  if ($controllerArguments['controller'] === $defaultControllerName) {
595  unset($controllerArguments['controller']);
596  }
597  return $controllerArguments;
598  }
599 
608  public function ‪build()
609  {
610  if ($this->environmentService->isEnvironmentInBackendMode()) {
611  return $this->‪buildBackendUri();
612  }
613  return $this->‪buildFrontendUri();
614  }
615 
625  public function ‪buildBackendUri()
626  {
627  ‪$arguments = [];
628  if ($this->addQueryString === true) {
629  if ($this->addQueryStringMethod) {
630  switch ($this->addQueryStringMethod) {
631  case 'GET':
632  ‪$arguments = GeneralUtility::_GET();
633  break;
634  case 'POST':
635  ‪$arguments = GeneralUtility::_POST();
636  break;
637  case 'GET,POST':
638  ‪$arguments = array_replace_recursive(GeneralUtility::_GET(), GeneralUtility::_POST());
639  break;
640  case 'POST,GET':
641  ‪$arguments = array_replace_recursive(GeneralUtility::_POST(), GeneralUtility::_GET());
642  break;
643  default:
644  // Explode GET vars recursively
645  parse_str(GeneralUtility::getIndpEnv('QUERY_STRING'), ‪$arguments);
646  }
647  } else {
648  ‪$arguments = GeneralUtility::_GET();
649  }
650  foreach ($this->argumentsToBeExcludedFromQueryString as $argumentToBeExcluded) {
651  $argumentArrayToBeExcluded = [];
652  parse_str($argumentToBeExcluded, $argumentArrayToBeExcluded);
654  }
655  } else {
656  $id = GeneralUtility::_GP('id');
657  // backwards compatibility: check for M parameter
658  // @deprecated since TYPO3 v9, will be removed in TYPO3 v10.0.
659  $route = GeneralUtility::_GP('route') ?: GeneralUtility::_GP('M');
660  if ($id !== null) {
661  ‪$arguments['id'] = $id;
662  }
663  if ($route !== null) {
664  ‪$arguments['route'] = $route;
665  }
666  }
669  $this->lastArguments = ‪$arguments;
670  $routeName = ‪$arguments['route'] ?? null;
671  unset(‪$arguments['route'], ‪$arguments['token']);
672  $backendUriBuilder = GeneralUtility::makeInstance(\‪TYPO3\CMS\Backend\Routing\UriBuilder::class);
673  try {
674  if ($this->request instanceof WebRequest && $this->createAbsoluteUri) {
675  $uri = (string)$backendUriBuilder->buildUriFromRoutePath($routeName, ‪$arguments, \‪TYPO3\CMS\Backend\Routing\UriBuilder::ABSOLUTE_URL);
676  } else {
677  $uri = (string)$backendUriBuilder->buildUriFromRoutePath($routeName, ‪$arguments, \‪TYPO3\CMS\Backend\Routing\UriBuilder::ABSOLUTE_PATH);
678  }
679  } catch (ResourceNotFoundException $e) {
680  try {
681  if ($this->request instanceof WebRequest && $this->createAbsoluteUri) {
682  $uri = (string)$backendUriBuilder->buildUriFromRoute($routeName, ‪$arguments, \‪TYPO3\CMS\Backend\Routing\UriBuilder::ABSOLUTE_URL);
683  } else {
684  $uri = (string)$backendUriBuilder->buildUriFromRoute($routeName, ‪$arguments, \‪TYPO3\CMS\Backend\Routing\UriBuilder::ABSOLUTE_PATH);
685  }
686  } catch (RouteNotFoundException $e) {
687  $uri = '';
688  }
689  }
690  if ($this->section !== '') {
691  $uri .= '#' . ‪$this->section;
692  }
693  return $uri;
694  }
695 
703  public function ‪buildFrontendUri()
704  {
705  $typolinkConfiguration = $this->‪buildTypolinkConfiguration();
706  if ($this->createAbsoluteUri === true) {
707  $typolinkConfiguration['forceAbsoluteUrl'] = true;
708  if ($this->absoluteUriScheme !== null) {
709  $typolinkConfiguration['forceAbsoluteUrl.']['scheme'] = ‪$this->absoluteUriScheme;
710  }
711  }
712  $uri = $this->contentObject->typoLink_URL($typolinkConfiguration);
713  return $uri;
714  }
715 
722  protected function ‪buildTypolinkConfiguration()
723  {
724  $typolinkConfiguration = [];
725  $typolinkConfiguration['parameter'] = $this->targetPageUid ?? ‪$GLOBALS['TSFE']->id;
726  if ($this->targetPageType !== 0) {
727  $typolinkConfiguration['parameter'] .= ',' . ‪$this->targetPageType;
728  } elseif ($this->format !== '') {
729  ‪$targetPageType = $this->extensionService->getTargetPageTypeByFormat($this->request->getControllerExtensionName(), $this->format);
730  $typolinkConfiguration['parameter'] .= ',' . ‪$targetPageType;
731  }
732  if (!empty($this->arguments)) {
733  ‪$arguments = $this->‪convertDomainObjectsToIdentityArrays($this->arguments);
734  $this->lastArguments = ‪$arguments;
735  $typolinkConfiguration['additionalParams'] = ‪HttpUtility::buildQueryString(‪$arguments, '&');
736  }
737  if ($this->addQueryString === true) {
738  $typolinkConfiguration['addQueryString'] = 1;
739  if (!empty($this->argumentsToBeExcludedFromQueryString)) {
740  $typolinkConfiguration['addQueryString.'] = [
741  'exclude' => implode(',', $this->argumentsToBeExcludedFromQueryString)
742  ];
743  }
744  if ($this->addQueryStringMethod) {
745  $typolinkConfiguration['addQueryString.']['method'] = ‪$this->addQueryStringMethod;
746  }
747  }
748  if ($this->noCache === true) {
749  $typolinkConfiguration['no_cache'] = 1;
750  } elseif ($this->useCacheHash) {
751  $typolinkConfiguration['useCacheHash'] = 1;
752  }
753  if ($this->section !== '') {
754  $typolinkConfiguration['section'] = ‪$this->section;
755  }
756  if ($this->linkAccessRestrictedPages === true) {
757  $typolinkConfiguration['linkAccessRestrictedPages'] = 1;
758  }
759  return $typolinkConfiguration;
760  }
761 
771  {
772  foreach (‪$arguments as $argumentKey => $argumentValue) {
773  // if we have a LazyLoadingProxy here, make sure to get the real instance for further processing
774  if ($argumentValue instanceof \‪TYPO3\CMS\‪Extbase\Persistence\Generic\LazyLoadingProxy) {
775  $argumentValue = $argumentValue->_loadRealInstance();
776  // also update the value in the arguments array, because the lazyLoaded object could be
777  // hidden and thus the $argumentValue would be NULL.
778  ‪$arguments[$argumentKey] = $argumentValue;
779  }
780  if ($argumentValue instanceof \Iterator) {
781  $argumentValue = $this->‪convertIteratorToArray($argumentValue);
782  }
783  if ($argumentValue instanceof \‪TYPO3\CMS\‪Extbase\DomainObject\AbstractDomainObject) {
784  if ($argumentValue->getUid() !== null) {
785  ‪$arguments[$argumentKey] = $argumentValue->getUid();
786  } elseif ($argumentValue instanceof \‪TYPO3\CMS\‪Extbase\DomainObject\AbstractValueObject) {
787  ‪$arguments[$argumentKey] = $this->‪convertTransientObjectToArray($argumentValue);
788  } else {
789  throw new \TYPO3\CMS\Extbase\Mvc\Exception\InvalidArgumentValueException('Could not serialize Domain Object ' . get_class($argumentValue) . '. It is neither an Entity with identity properties set, nor a Value Object.', 1260881688);
790  }
791  } elseif (is_array($argumentValue)) {
792  ‪$arguments[$argumentKey] = $this->‪convertDomainObjectsToIdentityArrays($argumentValue);
793  }
794  }
795  return ‪$arguments;
796  }
797 
802  protected function ‪convertIteratorToArray(\Iterator $iterator)
803  {
804  if (method_exists($iterator, 'toArray')) {
805  $array = $iterator->toArray();
806  } else {
807  $array = iterator_to_array($iterator);
808  }
809  return $array;
810  }
811 
820  public function ‪convertTransientObjectToArray(\‪TYPO3\CMS\‪Extbase\DomainObject\AbstractDomainObject $object)
821  {
822  $result = [];
823  foreach ($object->_getProperties() as $propertyName => $propertyValue) {
824  if ($propertyValue instanceof \Iterator) {
825  $propertyValue = $this->‪convertIteratorToArray($propertyValue);
826  }
827  if ($propertyValue instanceof \‪TYPO3\CMS\‪Extbase\DomainObject\AbstractDomainObject) {
828  if ($propertyValue->getUid() !== null) {
829  $result[$propertyName] = $propertyValue->getUid();
830  } else {
831  $result[$propertyName] = $this->‪convertTransientObjectToArray($propertyValue);
832  }
833  } elseif (is_array($propertyValue)) {
834  $result[$propertyName] = $this->‪convertDomainObjectsToIdentityArrays($propertyValue);
835  } else {
836  $result[$propertyName] = $propertyValue;
837  }
838  }
839  return $result;
840  }
841 }
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getRequest
‪Request getRequest()
Definition: UriBuilder.php:167
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\reset
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder reset()
Definition: UriBuilder.php:486
‪TYPO3\CMS\Extbase\Mvc\Web\Routing
Definition: UriBuilder.php:2
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$argumentPrefix
‪string $argumentPrefix
Definition: UriBuilder.php:108
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$targetPageUid
‪int $targetPageUid
Definition: UriBuilder.php:88
‪TYPO3\CMS\Extbase\Annotation
Definition: IgnoreValidation.php:4
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setUseCacheHash
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setUseCacheHash($useCacheHash)
Definition: UriBuilder.php:455
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\injectEnvironmentService
‪injectEnvironmentService(\TYPO3\CMS\Extbase\Service\EnvironmentService $environmentService)
Definition: UriBuilder.php:136
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$environmentService
‪TYPO3 CMS Extbase Service EnvironmentService $environmentService
Definition: UriBuilder.php:112
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getArgumentsToBeExcludedFromQueryString
‪array getArgumentsToBeExcludedFromQueryString()
Definition: UriBuilder.php:337
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getUseCacheHash
‪bool getUseCacheHash()
Definition: UriBuilder.php:464
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setAbsoluteUriScheme
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setAbsoluteUriScheme($absoluteUriScheme)
Definition: UriBuilder.php:270
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getFormat
‪string getFormat()
Definition: UriBuilder.php:229
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getLastArguments
‪array getLastArguments()
Definition: UriBuilder.php:476
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder
Definition: UriBuilder.php:29
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$section
‪string $section
Definition: UriBuilder.php:60
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$extensionService
‪TYPO3 CMS Extbase Service ExtensionService $extensionService
Definition: UriBuilder.php:36
‪TYPO3
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getAbsoluteUriScheme
‪string getAbsoluteUriScheme()
Definition: UriBuilder.php:258
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setFormat
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setFormat($format)
Definition: UriBuilder.php:220
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setCreateAbsoluteUri
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setCreateAbsoluteUri($createAbsoluteUri)
Definition: UriBuilder.php:240
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getAddQueryString
‪bool getAddQueryString()
Definition: UriBuilder.php:292
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\convertIteratorToArray
‪array convertIteratorToArray(\Iterator $iterator)
Definition: UriBuilder.php:782
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$absoluteUriScheme
‪string $absoluteUriScheme
Definition: UriBuilder.php:68
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getArguments
‪array getArguments()
Definition: UriBuilder.php:189
‪TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface
Definition: ConfigurationManagerInterface.php:22
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\convertDomainObjectsToIdentityArrays
‪array convertDomainObjectsToIdentityArrays(array $arguments)
Definition: UriBuilder.php:750
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\uriFor
‪string uriFor($actionName=null, $controllerArguments=[], $controllerName=null, $extensionName=null, $pluginName=null)
Definition: UriBuilder.php:516
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\buildBackendUri
‪string buildBackendUri()
Definition: UriBuilder.php:605
‪TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule
‪static mergeRecursiveWithOverrule(array &$original, array $overrule, $addKeys=true, $includeEmptyValues=true, $enableUnsetFeature=true)
Definition: ArrayUtility.php:614
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getTargetPageType
‪int getTargetPageType()
Definition: UriBuilder.php:422
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setSection
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setSection($section)
Definition: UriBuilder.php:200
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$targetPageType
‪int $targetPageType
Definition: UriBuilder.php:92
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setTargetPageType
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setTargetPageType($targetPageType)
Definition: UriBuilder.php:412
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\initializeObject
‪initializeObject()
Definition: UriBuilder.php:145
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$useCacheHash
‪bool $useCacheHash
Definition: UriBuilder.php:100
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$contentObject
‪TYPO3 CMS Frontend ContentObject ContentObjectRenderer $contentObject
Definition: UriBuilder.php:42
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getSection
‪string getSection()
Definition: UriBuilder.php:209
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setRequest
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setRequest(Request $request)
Definition: UriBuilder.php:157
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$arguments
‪array $arguments
Definition: UriBuilder.php:50
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\injectConfigurationManager
‪injectConfigurationManager(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface $configurationManager)
Definition: UriBuilder.php:118
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$lastArguments
‪array $lastArguments
Definition: UriBuilder.php:56
‪TYPO3\CMS\Backend\Routing\Exception\RouteNotFoundException
Definition: RouteNotFoundException.php:21
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$configurationManager
‪TYPO3 CMS Extbase Configuration ConfigurationManagerInterface $configurationManager
Definition: UriBuilder.php:32
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setLinkAccessRestrictedPages
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setLinkAccessRestrictedPages($linkAccessRestrictedPages)
Definition: UriBuilder.php:370
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$linkAccessRestrictedPages
‪bool $linkAccessRestrictedPages
Definition: UriBuilder.php:84
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\injectExtensionService
‪injectExtensionService(\TYPO3\CMS\Extbase\Service\ExtensionService $extensionService)
Definition: UriBuilder.php:127
‪TYPO3\CMS\Core\Utility\HttpUtility\buildQueryString
‪static string buildQueryString(array $parameters, string $prependCharacter='', bool $skipEmptyParameters=false)
Definition: HttpUtility.php:160
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setArguments
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setArguments(array $arguments)
Definition: UriBuilder.php:180
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getArgumentPrefix
‪string getArgumentPrefix()
Definition: UriBuilder.php:359
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getCreateAbsoluteUri
‪bool getCreateAbsoluteUri()
Definition: UriBuilder.php:249
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$addQueryStringMethod
‪string $addQueryStringMethod
Definition: UriBuilder.php:76
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\buildTypolinkConfiguration
‪array buildTypolinkConfiguration()
Definition: UriBuilder.php:702
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$format
‪string $format
Definition: UriBuilder.php:104
‪TYPO3\CMS\Extbase\Mvc\Web\Request
Definition: Request.php:21
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setNoCache
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setNoCache($noCache)
Definition: UriBuilder.php:434
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$noCache
‪bool $noCache
Definition: UriBuilder.php:96
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setTargetPageUid
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setTargetPageUid($targetPageUid)
Definition: UriBuilder.php:390
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$addQueryString
‪bool $addQueryString
Definition: UriBuilder.php:72
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getNoCache
‪bool getNoCache()
Definition: UriBuilder.php:443
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getTargetPageUid
‪int getTargetPageUid()
Definition: UriBuilder.php:401
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setArgumentPrefix
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setArgumentPrefix($argumentPrefix)
Definition: UriBuilder.php:349
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\removeDefaultControllerAndAction
‪array removeDefaultControllerAndAction(array $controllerArguments, $extensionName, $pluginName)
Definition: UriBuilder.php:565
‪TYPO3\CMS\Core\Utility\ArrayUtility
Definition: ArrayUtility.php:23
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:5
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$argumentsToBeExcludedFromQueryString
‪array $argumentsToBeExcludedFromQueryString
Definition: UriBuilder.php:80
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setArgumentsToBeExcludedFromQueryString
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setArgumentsToBeExcludedFromQueryString(array $argumentsToBeExcludedFromQueryString)
Definition: UriBuilder.php:328
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\convertTransientObjectToArray
‪array convertTransientObjectToArray(\TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject $object)
Definition: UriBuilder.php:800
‪TYPO3\CMS\Backend\Routing\Exception\ResourceNotFoundException
Definition: ResourceNotFoundException.php:21
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setAddQueryString
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setAddQueryString($addQueryString)
Definition: UriBuilder.php:283
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setAddQueryStringMethod
‪TYPO3 CMS Extbase Mvc Web Routing UriBuilder setAddQueryStringMethod($addQueryStringMethod)
Definition: UriBuilder.php:305
‪TYPO3\CMS\Core\Utility\HttpUtility
Definition: HttpUtility.php:21
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getLinkAccessRestrictedPages
‪bool getLinkAccessRestrictedPages()
Definition: UriBuilder.php:379
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:45
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\getAddQueryStringMethod
‪string getAddQueryStringMethod()
Definition: UriBuilder.php:314
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\buildFrontendUri
‪string buildFrontendUri()
Definition: UriBuilder.php:683
‪TYPO3\CMS\Extbase\Mvc\Request
Definition: Request.php:23
‪TYPO3\CMS\Core\Utility\ArrayUtility\arrayDiffAssocRecursive
‪static array arrayDiffAssocRecursive(array $array1, array $array2)
Definition: ArrayUtility.php:728
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\build
‪string build()
Definition: UriBuilder.php:588
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$createAbsoluteUri
‪bool $createAbsoluteUri
Definition: UriBuilder.php:64
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\$request
‪Request $request
Definition: UriBuilder.php:46