summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorivan <ivan>2011-04-24 00:33:37 +0000
committerivan <ivan>2011-04-24 00:33:37 +0000
commit9b37fb82c94a480ef6af2f7b9a8b889d4381e703 (patch)
treefae78b058a16caa06971eaf210583f683509ecda /FS
parent9da9c4500ebf070cd9fd2f452f76dfa1b847686c (diff)
utf-8, RT#12514
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Mason/Request.pm10
-rw-r--r--FS/FS/Record.pm5
-rw-r--r--FS/FS/UID.pm6
-rw-r--r--FS/FS/cust_main.pm2
4 files changed, 17 insertions, 6 deletions
diff --git a/FS/FS/Mason/Request.pm b/FS/FS/Mason/Request.pm
index 9c96b83b4..a5ec21f18 100644
--- a/FS/FS/Mason/Request.pm
+++ b/FS/FS/Mason/Request.pm
@@ -52,6 +52,7 @@ sub freeside_setup {
package HTML::Mason::Commands;
use vars qw( $cgi $p $fsurl );
+ use Encode;
use FS::UID qw( cgisuidsetup );
use FS::CGI qw( popurl rooturl );
@@ -70,6 +71,15 @@ sub freeside_setup {
} else {
die "unknown mode $mode";
}
+
+ #
+ foreach my $param ( $cgi->param ) {
+ my @values = $cgi->param($param);
+ next if $cgi->uploadInfo($values[0]);
+ #warn $param;
+ @values = map decode(utf8=>$_), @values;
+ $cgi->param($param, @values);
+ }
}
diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm
index c7ad65afb..28d0d4f33 100644
--- a/FS/FS/Record.pm
+++ b/FS/FS/Record.pm
@@ -2205,7 +2205,7 @@ sub ut_text {
#warn "notexist ". \&notexist. "\n";
#warn "AUTOLOAD ". \&AUTOLOAD. "\n";
$self->getfield($field)
- =~ /^([µ_0123456789aAáÁàÀâÂåÅäÄãêæÆbBcCçÇdDðÐeEéÉèÈêÊëËfFgGhHiIíÍìÌîÎïÏjJkKlLmMnNñÑoOóÓòÒôÔöÖõÕøØºpPqQrRsSßtTuUúÚùÙûÛüÜvVwWxXyYýÝÿzZþÞ \!\@\#\$\%\&\(\)\-\+\;\:\'\"\,\.\?\/\=\[\]\<\>]+)$/
+ =~ /^([\w \!\@\#\$\%\&\(\)\-\+\;\:\'\"\,\.\?\/\=\[\]\<\>]+)$/
or return gettext('illegal_or_empty_text'). " $field: ".
$self->getfield($field);
$self->setfield($field,$1);
@@ -2522,8 +2522,7 @@ May not be null.
sub ut_name {
my( $self, $field ) = @_;
# warn "ut_name allowed alphanumerics: +(sort grep /\w/, map { chr() } 0..255), "\n";
- #$self->getfield($field) =~ /^([\w \,\.\-\']+)$/
- $self->getfield($field) =~ /^([µ_0123456789aAáÁàÀâÂåÅäÄãêæÆbBcCçÇdDðÐeEéÉèÈêÊëËfFgGhHiIíÍìÌîÎïÏjJkKlLmMnNñÑoOóÓòÒôÔöÖõÕøØºpPqQrRsSßtTuUúÚùÙûÛüÜvVwWxXyYýÝÿzZþÞ \,\.\-\']+)$/
+ $self->getfield($field) =~ /^([\w \,\.\-\']+)$/
or return gettext('illegal_name'). " $field: ". $self->getfield($field);
$self->setfield($field,$1);
'';
diff --git a/FS/FS/UID.pm b/FS/FS/UID.pm
index e042c05b1..31c2887d3 100644
--- a/FS/FS/UID.pm
+++ b/FS/FS/UID.pm
@@ -124,11 +124,11 @@ sub forksuidsetup {
if ($confcount) {
$use_confcompat = 0;
}else{
- warn "NO CONFIGURATION RECORDS FOUND";
+ die "NO CONFIGURATION RECORDS FOUND";
}
} else {
- warn "NO CONFIGURATION TABLE FOUND" unless $FS::Schema::setup_hack;
+ die "NO CONFIGURATION TABLE FOUND" unless $FS::Schema::setup_hack;
}
unless ( $callback_hack ) {
@@ -153,6 +153,8 @@ sub myconnect {
my $handle = DBI->connect( getsecrets(@_), { 'AutoCommit' => 0,
'ChopBlanks' => 1,
'ShowErrorStatement' => 1,
+ 'pg_enable_utf8' => 1,
+ #'mysql_enable_utf8' => 1,
}
)
or die "DBI->connect error: $DBI::errstr\n";
diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm
index 973b5b837..22c16fbaa 100644
--- a/FS/FS/cust_main.pm
+++ b/FS/FS/cust_main.pm
@@ -2002,7 +2002,7 @@ sub check {
) {
$self->payname( $self->first. " ". $self->getfield('last') );
} else {
- $self->payname =~ /^([µ_0123456789aAáÁàÀâÂåÅäÄãêæÆbBcCçÇdDðÐeEéÉèÈêÊëËfFgGhHiIíÍìÌîÎïÏjJkKlLmMnNñÑoOóÓòÒôÔöÖõÕøØºpPqQrRsSßtTuUúÚùÙûÛüÜvVwWxXyYýÝÿzZþÞ \,\.\-\'\&]+)$/
+ $self->payname =~ /^([\w \,\.\-\'\&]+)$/
or return gettext('illegal_name'). " payname: ". $self->payname;
$self->payname($1);
}