RedirectService implements LoggerAwareInterface uses LoggerAwareTrait

Creates a proper URL to redirect from a matched redirect of a request

Internal

due to some possible refactorings in TYPO3 v9

Table of Contents

Interfaces

LoggerAwareInterface

Properties

$linkService  : LinkService
$redirectCacheService  : RedirectCacheService
$siteFinder  : SiteFinder

Methods

__construct()  : mixed
getTargetUrl()  : UriInterface|null
matchRedirect()  : array<string|int, mixed>|null
Checks against all available redirects "flat" or "regexp", and against starttime/endtime
addQueryParams()  : Uri
Adds query parameters to a Uri object
bootFrontendController()  : TypoScriptFrontendController
Finishing booting up TSFE, after that the following properties are available.
fetchRedirects()  : array<string|int, mixed>
Fetches all redirects from cache, with fallback to rebuild cache from the DB if caches was empty, grouped by the domain does NOT take starttime/endtime into account, as it is cached.
getFirstActiveRedirectFromPossibleRedirects()  : array<string|int, mixed>|null
Checks all possible redirects and return the first possible and active redirect if available.
getUriFromCustomLinkDetails()  : UriInterface|null
Called when TypoScript/TSFE is available, so typolink is used to generate the URL
isRedirectActive()  : bool
Check if a redirect record matches the starttime and endtime and disable restrictions
replaceRegExpCaptureGroup()  : array<string|int, mixed>
resolveLinkDetailsFromLinkTarget()  : array<string|int, mixed>
Check if the current request is actually a redirect, and then process the redirect.
resolveSite()  : SiteInterface|null
If no site is given, try to find a valid site for the target page

Properties

Methods

getTargetUrl()

public getTargetUrl(array<string|int, mixed> $matchedRedirect, ServerRequestInterface $request) : UriInterface|null
Parameters
$matchedRedirect : array<string|int, mixed>
$request : ServerRequestInterface
Return values
UriInterface|null

matchRedirect()

Checks against all available redirects "flat" or "regexp", and against starttime/endtime

public matchRedirect(string $domain, string $path[, string $query = '' ]) : array<string|int, mixed>|null
Parameters
$domain : string
$path : string
$query : string = ''
Return values
array<string|int, mixed>|null

addQueryParams()

Adds query parameters to a Uri object

protected addQueryParams(array<string|int, mixed> $queryParams, Uri $url) : Uri
Parameters
$queryParams : array<string|int, mixed>
$url : Uri
Return values
Uri

bootFrontendController()

Finishing booting up TSFE, after that the following properties are available.

protected bootFrontendController(SiteInterface $site, array<string|int, mixed> $queryParams, ServerRequestInterface $originalRequest) : TypoScriptFrontendController

Instantiating is done by the middleware stack (see Configuration/RequestMiddlewares.php)

  • TSFE->fe_user
  • TSFE->sys_page
  • TSFE->tmpl
  • TSFE->config
  • TSFE->cObj

So a link to a page can be generated.

Parameters
$site : SiteInterface
$queryParams : array<string|int, mixed>
$originalRequest : ServerRequestInterface
Return values
TypoScriptFrontendController

fetchRedirects()

Fetches all redirects from cache, with fallback to rebuild cache from the DB if caches was empty, grouped by the domain does NOT take starttime/endtime into account, as it is cached.

protected fetchRedirects(string $sourceHost) : array<string|int, mixed>
Parameters
$sourceHost : string
Return values
array<string|int, mixed>

getFirstActiveRedirectFromPossibleRedirects()

Checks all possible redirects and return the first possible and active redirect if available.

protected getFirstActiveRedirectFromPossibleRedirects(array<string|int, mixed> $possibleRedirects) : array<string|int, mixed>|null
Parameters
$possibleRedirects : array<string|int, mixed>
Return values
array<string|int, mixed>|null

getUriFromCustomLinkDetails()

Called when TypoScript/TSFE is available, so typolink is used to generate the URL

protected getUriFromCustomLinkDetails(array<string|int, mixed> $redirectRecord, SiteInterface|null $site, array<string|int, mixed> $linkDetails, array<string|int, mixed> $queryParams, ServerRequestInterface $originalRequest) : UriInterface|null
Parameters
$redirectRecord : array<string|int, mixed>
$site : SiteInterface|null
$linkDetails : array<string|int, mixed>
$queryParams : array<string|int, mixed>
$originalRequest : ServerRequestInterface
Return values
UriInterface|null

isRedirectActive()

Check if a redirect record matches the starttime and endtime and disable restrictions

protected isRedirectActive(array<string|int, mixed> $redirectRecord) : bool
Parameters
$redirectRecord : array<string|int, mixed>
Return values
bool

whether the redirect is active and should be used for redirecting the current request

replaceRegExpCaptureGroup()

protected replaceRegExpCaptureGroup(array<string|int, mixed> $matchedRedirect, UriInterface $uri, array<string|int, mixed> $linkDetails) : array<string|int, mixed>
Parameters
$matchedRedirect : array<string|int, mixed>
$uri : UriInterface
$linkDetails : array<string|int, mixed>
Return values
array<string|int, mixed>

resolveLinkDetailsFromLinkTarget()

Check if the current request is actually a redirect, and then process the redirect.

protected resolveLinkDetailsFromLinkTarget(string $redirectTarget) : array<string|int, mixed>
Parameters
$redirectTarget : string
Return values
array<string|int, mixed>

the link details from the linkService


        
On this page

Search results