summaryrefslogtreecommitdiff
path: root/lib/lib_rss.php
diff options
context:
space:
mode:
authorGravatar Craig Andrews <candrews@integralblue.com> 2017-12-01 18:42:15 -0500
committerGravatar GitHub <noreply@github.com> 2017-12-01 18:42:15 -0500
commitaea78f4d99ff541cabc758033da1005022422fe3 (patch)
tree2b76dd2b893e7d93aadd541f6e3a91b69ecec500 /lib/lib_rss.php
parentceda55c75b158fc1cf4813fe0f258527754b9289 (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.php6
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) {