diff options
| author | 2017-12-01 18:42:15 -0500 | |
|---|---|---|
| committer | 2017-12-01 18:42:15 -0500 | |
| commit | aea78f4d99ff541cabc758033da1005022422fe3 (patch) | |
| tree | 2b76dd2b893e7d93aadd541f6e3a91b69ecec500 /lib/lib_rss.php | |
| parent | ceda55c75b158fc1cf4813fe0f258527754b9289 (diff) | |
Call idn_to_ascii with INTL_IDNA_VARIANT_UTS46
Under PHP 7.2, calling `idn_to_ascii($idn)` results in a deprecation warning: 'INTL_IDNA_VARIANT_2003 is deprecated'
See https://secure.php.net/manual/en/function.idn-to-ascii.php
Therefore, if possible, `idn_to_ascii($idn, 0, INTL_IDNA_VARIANT_UTS46)` should be used instead. `INTL_IDNA_VARIANT_UTS46` was introduced in PHP 5.4, so on versions before that, `idn_to_ascii($idn)` must still be used.
Fixed #1699
Diffstat (limited to 'lib/lib_rss.php')
| -rw-r--r-- | lib/lib_rss.php | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/lib_rss.php b/lib/lib_rss.php index 09048700d..d62ab97a0 100644 --- a/lib/lib_rss.php +++ b/lib/lib_rss.php @@ -62,6 +62,12 @@ function idn_to_puny($url) { $parts = parse_url($url); if (!empty($parts['host'])) { $idn = $parts['host']; + // INTL_IDNA_VARIANT_UTS46 is defined starting in PHP 5.4 + if (defined('INTL_IDNA_VARIANT_UTS46')) { + $puny = idn_to_ascii($idn, 0, INTL_IDNA_VARIANT_UTS46); + } else { + $puny = idn_to_ascii($idn); + } $puny = idn_to_ascii($idn); $pos = strpos($url, $idn); if ($pos !== false) { |
