From b688dc3995a679fe58cfcc636806248026910d9d Mon Sep 17 00:00:00 2001 From: zotlabs Date: Mon, 23 Apr 2018 19:10:35 -0700 Subject: minor tweak to utf8 usernames after some testing of the underlying encode/decode funations. This probably isn't critical and I do not have a failure case but just trying to cover all bases. --- include/channel.php | 5 +++++ include/text.php | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'include') diff --git a/include/channel.php b/include/channel.php index 4bf490bf0..42a392e8e 100644 --- a/include/channel.php +++ b/include/channel.php @@ -2240,6 +2240,11 @@ function get_zcard_embed($channel, $observer_hash = '', $args = array()) { * - false if no channel with $nick was found */ function channelx_by_nick($nick) { + + // If we are provided a Unicode nickname convert to IDN + + $nick = punify($nick); + $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_address = '%s' and channel_removed = 0 LIMIT 1", dbesc($nick) ); diff --git a/include/text.php b/include/text.php index 55fc49560..411576fa6 100644 --- a/include/text.php +++ b/include/text.php @@ -3344,6 +3344,9 @@ function featured_sort($a,$b) { } +// Be aware that punify will convert domain names and pathnames + + function punify($s) { require_once('vendor/simplepie/simplepie/idn/idna_convert.class.php'); $x = new idna_convert(['encoding' => 'utf8']); @@ -3351,6 +3354,8 @@ function punify($s) { } +// Be aware that unpunify will only convert domain names and not pathnames + function unpunify($s) { require_once('vendor/simplepie/simplepie/idn/idna_convert.class.php'); $x = new idna_convert(['encoding' => 'utf8']); -- cgit v1.2.3