103 public static function redirect($url, $httpStatus = self::HTTP_STATUS_303)
106 header(
'Location: ' . GeneralUtility::locationHeaderUrl($url));
140 return (isset($urlParts[
'scheme']) ? $urlParts[
'scheme'] .
'://' :
'') .
141 (isset($urlParts[
'user']) ? $urlParts[
'user'] .
142 (isset($urlParts[
'pass']) ?
':' . $urlParts[
'pass'] :
'') .
'@' :
'') .
143 ($urlParts[
'host'] ??
'') .
144 (isset($urlParts[
'port']) ?
':' . $urlParts[
'port'] :
'') .
145 ($urlParts[
'path'] ??
'') .
146 (isset($urlParts[
'query']) ?
'?' . $urlParts[
'query'] :
'') .
147 (isset($urlParts[
'fragment']) ?
'#' . $urlParts[
'fragment'] :
'');
160 public static function buildQueryString(array $parameters,
string $prependCharacter =
'',
bool $skipEmptyParameters =
false): string
162 if (empty($parameters)) {
166 if ($skipEmptyParameters) {
171 return $item !==
'' && $item !== [] && $item !==
null;
176 $queryString = http_build_query($parameters,
'',
'&', PHP_QUERY_RFC3986);
177 $prependCharacter = $prependCharacter ===
'?' || $prependCharacter ===
'&' ? $prependCharacter :
'';
179 return $queryString && $prependCharacter ? $prependCharacter . $queryString : $queryString;
195 if (defined(
'INTL_IDNA_VARIANT_UTS46') && !defined(
'TYPO3_IDN_TO_ASCII_USE_COMPAT')) {
196 return idn_to_ascii($domain, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46);
199 if (!defined(
'TYPO3_IDN_TO_ASCII_USE_COMPAT')) {
200 define(
'TYPO3_IDN_TO_ASCII_USE_COMPAT',
true);
202 if (!defined(
'INTL_IDNA_VARIANT_UTS46')) {
203 define(
'INTL_IDNA_VARIANT_UTS46', 1);
206 return \Symfony\Polyfill\Intl\Idn\Idn::idn_to_ascii($domain, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46, $result);