comparison Lib/IMPL/Web/Application.pm @ 138:c5bc900eefd3

IMPL::Web::Application: Fixed file uploading Minor improvements in the IMPL::Web::TT::Form
author wizard
date Thu, 01 Jul 2010 04:25:07 +0400
parents 06a34c197b05
children 4267a2ac3d46
comparison
equal deleted inserted replaced
137:6975cd4973d1 138:c5bc900eefd3
97 package CGIWrapper; 97 package CGIWrapper;
98 use base qw(CGI); 98 use base qw(CGI);
99 99
100 use Encode; 100 use Encode;
101 101
102 our $NO_DECODE = 0;
103
102 sub param { 104 sub param {
103 my $this = shift; 105 my $this = shift;
106
107 return $this->SUPER::param(@_) if $NO_DECODE;
104 108
105 if (wantarray) { 109 if (wantarray) {
106 my @result = $this->SUPER::param(@_); 110 my @result = $this->SUPER::param(@_);
107 111
108 return map Encode::is_utf8($_) ? $_ : Encode::decode($this->charset,$_,Encode::LEAVE_SRC), @result; 112 return map Encode::is_utf8($_) ? $_ : Encode::decode($this->charset,$_,Encode::LEAVE_SRC), @result;
110 my $result = $this->SUPER::param(@_); 114 my $result = $this->SUPER::param(@_);
111 115
112 return Encode::is_utf8($result) ? $result : Encode::decode($this->charset,$result,Encode::LEAVE_SRC); 116 return Encode::is_utf8($result) ? $result : Encode::decode($this->charset,$result,Encode::LEAVE_SRC);
113 } 117 }
114 118
119 }
120
121 sub upload {
122 my $this = shift;
123
124 local $NO_DECODE = 1;
125 my $oldCharset = $this->charset();
126 $this->charset('ISO-8859-1');
127
128 my $fh = $this->SUPER::upload(@_);
129
130 $this->charset($oldCharset);
131 return $fh;
115 } 132 }
116 133
117 1; 134 1;
118 135
119 __END__ 136 __END__