From 62958fe9dcc72a9b93e8b9259c580a472fb3ce7f Mon Sep 17 00:00:00 2001 From: Bernhard Thaler Date: Mon, 2 Jan 2017 22:50:26 +0100 Subject: [PATCH] convert to punycode for feed on idn hostname --- include/functions2.php | 10 ++++++++++ install/index.php | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/include/functions2.php b/include/functions2.php index 5b38f184..6b6f5aa5 100644 --- a/include/functions2.php +++ b/include/functions2.php @@ -1776,6 +1776,16 @@ $url .= '/'; } + //convert IDNA hostname to punycode if possible + if (function_exists("idn_to_ascii")) { + $parts = parse_url($url); + if (mb_detect_encoding($parts['host']) != 'ASCII') + { + $parts['host'] = idn_to_ascii($parts['host']); + $url = build_url($parts); + } + } + if ($url != "http:///") return $url; else diff --git a/install/index.php b/install/index.php index 00e90dfe..d9e370ea 100755 --- a/install/index.php +++ b/install/index.php @@ -317,6 +317,10 @@ array_push($notices, "CURL and open_basedir combination breaks support for HTTP redirects. See the FAQ for more information."); } + if (!function_exists("idn_to_ascii")) { + array_push($notices, "PHP support for Internationalization Functions is required to handle Internationalized Domain Names."); + } + if (count($notices) > 0) { print_notice("Configuration check succeeded with minor problems:"); -- 2.39.2