i18n, RT#12515
[freeside.git] / FS / FS / Mason / Request.pm
index 8d66f4f..bf704bd 100644 (file)
@@ -24,7 +24,7 @@ sub new {
 
     my %opt = @_;
     my $mode = $superclass =~ /Apache/i ? 'apache' : 'standalone';
-    freeside_setup($opt{'comp'}, $mode);
+    $class->freeside_setup($opt{'comp'}, $mode);
 
     $class->SUPER::new(@_);
 
@@ -34,15 +34,25 @@ sub new {
 # for Mason 1.39 vs. Perl 5.10.0
 
 sub freeside_setup {
+    my( $class, $filename, $mode ) = @_;
 
-    my( $filename, $mode ) = @_;
+    if ( $filename =~ qr(/REST/\d+\.\d+/NoAuth/) ) {
 
-    #warn "initializing for $filename\n";
+      package HTML::Mason::Commands; #?
+      use FS::UID qw( adminsuidsetup );
+
+      #need to log somebody in for the mail gw
+
+      ##old installs w/fs_selfs or selfserv??
+      #&adminsuidsetup('fs_selfservice');
 
-    if ( $filename !~ /\/rt\/.*NoAuth/ ) { #not RT images/JS
+      &adminsuidsetup('fs_queue');
+
+    } else {
 
       package HTML::Mason::Commands;
-      use vars qw( $cgi $p $fsurl );
+      use vars qw( $cgi $p $fsurl $lh );
+      use Encode;
       use FS::UID qw( cgisuidsetup );
       use FS::CGI qw( popurl rooturl );
 
@@ -62,19 +72,16 @@ sub freeside_setup {
         die "unknown mode $mode";
       }
 
-    } elsif ( $filename =~ /\/rt\/REST\/.*NoAuth/ ) {
-
-      package HTML::Mason::Commands; #?
-      use FS::UID qw( adminsuidsetup );
-
-      #need to log somebody in for the mail gw
-
-      ##old installs w/fs_selfs or selfserv??
-      #&adminsuidsetup('fs_selfservice');
-
-      &adminsuidsetup('fs_queue');
-
+    #
+    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);
     }
+    
+  }
 
 }