diff options
author | ivan <ivan> | 2011-04-24 00:33:37 +0000 |
---|---|---|
committer | ivan <ivan> | 2011-04-24 00:33:37 +0000 |
commit | 9b37fb82c94a480ef6af2f7b9a8b889d4381e703 (patch) | |
tree | fae78b058a16caa06971eaf210583f683509ecda /FS | |
parent | 9da9c4500ebf070cd9fd2f452f76dfa1b847686c (diff) |
utf-8, RT#12514
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/Mason/Request.pm | 10 | ||||
-rw-r--r-- | FS/FS/Record.pm | 5 | ||||
-rw-r--r-- | FS/FS/UID.pm | 6 | ||||
-rw-r--r-- | FS/FS/cust_main.pm | 2 |
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 ". \¬exist. "\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); } |