Upgrade to 3.7.1

This commit is contained in:
Bastian Allgeier
2022-07-12 13:33:21 +02:00
parent 7931eb5e47
commit 1ad1eaf387
377 changed files with 63981 additions and 63824 deletions

View File

@@ -15,61 +15,61 @@ use Kirby\Toolkit\Str;
*/
class Idn
{
/**
* Convert domain name from IDNA ASCII to Unicode
*
* @param string $domain
* @return string|false
*/
public static function decode(string $domain)
{
return idn_to_utf8($domain);
}
/**
* Convert domain name from IDNA ASCII to Unicode
*
* @param string $domain
* @return string|false
*/
public static function decode(string $domain)
{
return idn_to_utf8($domain);
}
/**
* Convert domain name to IDNA ASCII form
*
* @param string $domain
* @return string|false
*/
public static function encode(string $domain)
{
return idn_to_ascii($domain);
}
/**
* Convert domain name to IDNA ASCII form
*
* @param string $domain
* @return string|false
*/
public static function encode(string $domain)
{
return idn_to_ascii($domain);
}
/**
* Decodes a email address to the Unicode format
*
* @param string $email
* @return string
*/
public static function decodeEmail(string $email): string
{
if (Str::contains($email, 'xn--') === true) {
$parts = Str::split($email, '@');
$address = $parts[0];
$domain = Idn::decode($parts[1] ?? '');
$email = $address . '@' . $domain;
}
/**
* Decodes a email address to the Unicode format
*
* @param string $email
* @return string
*/
public static function decodeEmail(string $email): string
{
if (Str::contains($email, 'xn--') === true) {
$parts = Str::split($email, '@');
$address = $parts[0];
$domain = Idn::decode($parts[1] ?? '');
$email = $address . '@' . $domain;
}
return $email;
}
return $email;
}
/**
* Encodes a email address to the Punycode format
*
* @param string $email
* @return string
*/
public static function encodeEmail(string $email): string
{
if (mb_detect_encoding($email, 'ASCII', true) === false) {
$parts = Str::split($email, '@');
$address = $parts[0];
$domain = Idn::encode($parts[1] ?? '');
$email = $address . '@' . $domain;
}
/**
* Encodes a email address to the Punycode format
*
* @param string $email
* @return string
*/
public static function encodeEmail(string $email): string
{
if (mb_detect_encoding($email, 'ASCII', true) === false) {
$parts = Str::split($email, '@');
$address = $parts[0];
$domain = Idn::encode($parts[1] ?? '');
$email = $address . '@' . $domain;
}
return $email;
}
return $email;
}
}