diff options
-rw-r--r-- | include/channel.php | 5 | ||||
-rw-r--r-- | include/text.php | 5 |
2 files changed, 10 insertions, 0 deletions
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']); |