aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Fripost/Schema/Misc.pm
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem.moulin@fripost.org>2012-09-10 20:01:06 +0200
committerGuilhem Moulin <guilhem.moulin@fripost.org>2012-09-10 20:01:06 +0200
commiteaacbeb2d5fece7fe9cab570f262a8f29be96863 (patch)
tree8d77aa2d9a4add00265cd729934deb3af6726fd8 /lib/Fripost/Schema/Misc.pm
parent3cc6e0f15836c94338762c364c1d451755dc261b (diff)
Internationalization.
Diffstat (limited to 'lib/Fripost/Schema/Misc.pm')
-rw-r--r--lib/Fripost/Schema/Misc.pm5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Fripost/Schema/Misc.pm b/lib/Fripost/Schema/Misc.pm
index 4898764..39fa3b7 100644
--- a/lib/Fripost/Schema/Misc.pm
+++ b/lib/Fripost/Schema/Misc.pm
@@ -10,11 +10,14 @@ use 5.010_000;
use strict;
use warnings;
use utf8;
+use feature "unicode_strings";
use Exporter 'import';
our @EXPORT_OK = qw /concat get_perms explode
must_attrs email_valid/;
use Email::Valid;
+use Net::IDN::Encode;
+use Encode;
# Let the first argument, if defined, intersperse the other arguments.
@@ -99,6 +102,8 @@ sub email_valid {
$i =~ s/^[^<>]+\s<([^>]+)>/$1/;
my $mesg = $options{'-error'} // "Invalid e-mail";
$in = $options{'-prefix'}.$i if defined $options{'-prefix'};
+ Encode::_utf8_on($in);
+ $in = Net::IDN::Encode::email_to_ascii($in);
my $addr = Email::Valid::->address( -address => $in,
-tldcheck => 1,