aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2018-04-23 19:10:35 -0700
committerzotlabs <mike@macgirvin.com>2018-04-23 19:10:35 -0700
commitb688dc3995a679fe58cfcc636806248026910d9d (patch)
tree3c8a12d011c2b74fb9087c75c43c5fed1260f976
parent59ac3d04eb7739e995a1d7392c4ef8ca0b6c5f86 (diff)
downloadvolse-hubzilla-b688dc3995a679fe58cfcc636806248026910d9d.tar.gz
volse-hubzilla-b688dc3995a679fe58cfcc636806248026910d9d.tar.bz2
volse-hubzilla-b688dc3995a679fe58cfcc636806248026910d9d.zip
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.
-rw-r--r--include/channel.php5
-rw-r--r--include/text.php5
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']);