aboutsummaryrefslogtreecommitdiff
path: root/mod/thewire
diff options
context:
space:
mode:
authorcash <cash.costello@gmail.com>2012-02-04 17:08:05 -0500
committercash <cash.costello@gmail.com>2012-02-04 17:08:05 -0500
commitc578c639527fad98ae60676ea58860809462d4dc (patch)
tree152630c2b9db3ebba33075d1f7a530302e40ba67 /mod/thewire
parente428dbd281c22e65e8cc00d1095ce4564c9dd1bf (diff)
downloadelgg-c578c639527fad98ae60676ea58860809462d4dc.tar.gz
elgg-c578c639527fad98ae60676ea58860809462d4dc.tar.bz2
Fixes #1853 matching UTF8 characters in usernames
Diffstat (limited to 'mod/thewire')
-rw-r--r--mod/thewire/start.php2
-rw-r--r--mod/thewire/tests/regex.php6
2 files changed, 7 insertions, 1 deletions
diff --git a/mod/thewire/start.php b/mod/thewire/start.php
index 202e3d1d6..fdaf91355 100644
--- a/mod/thewire/start.php
+++ b/mod/thewire/start.php
@@ -219,7 +219,7 @@ function thewire_filter($text) {
// usernames
$text = preg_replace(
- '/(^|[^\w])@([\w.]+)/',
+ '/(^|[^\w])@([\p{L}\p{Nd}._]+)/u',
'$1<a href="' . $CONFIG->wwwroot . 'thewire/owner/$2">@$2</a>',
$text);
diff --git a/mod/thewire/tests/regex.php b/mod/thewire/tests/regex.php
index f5487a422..c73e06bdc 100644
--- a/mod/thewire/tests/regex.php
+++ b/mod/thewire/tests/regex.php
@@ -127,6 +127,12 @@ class TheWireRegexTest extends ElggCoreUnitTest {
$expected = "test (" . $this->getUserWireLink('user') . ") test";
$result = thewire_filter($text);
$this->assertEqual($result, $expected);
+
+ // utf8 characters
+ $text = "@tyúkanyó";
+ $expected = $this->getUserWireLink('tyúkanyó');
+ $result = thewire_filter($text);
+ $this->assertEqual($result, $expected);
}
/**