version 1.117, 2008/11/10 13:20:24
|
version 1.120, 2008/11/20 14:37:52
|
Line 27
|
Line 27
|
# |
# |
### |
### |
|
|
|
|
package Apache::lonacc; |
package Apache::lonacc; |
|
|
use strict; |
use strict; |
Line 90 sub get_posted_cgi {
|
Line 91 sub get_posted_cgi {
|
if ($lines[$i]=~/^--\Q$contentsep\E/) { |
if ($lines[$i]=~/^--\Q$contentsep\E/) { |
if ($name) { |
if ($name) { |
chomp($value); |
chomp($value); |
if ($fname) { |
|
$env{"form.$name.filename"}=$fname; |
|
$env{"form.$name.mimetype"}=$fmime; |
|
} else { |
|
$value=~s/\s+$//s; |
|
} |
|
if (ref($fields) eq 'ARRAY') { |
if (ref($fields) eq 'ARRAY') { |
next if (!grep(/^\Q$name\E$/,@{$fields})); |
next if (!grep(/^\Q$name\E$/,@{$fields})); |
} |
} |
&Apache::loncommon::add_to_env("form.$name",$value); |
if ($fname) { |
|
if ($env{'form.symb'} ne '') { |
|
my $size = (length($value))/(1024.0 * 1024.0); |
|
if (&upload_size_allowed($name,$size,$fname) eq 'ok') { |
|
$env{"form.$name.filename"}=$fname; |
|
$env{"form.$name.mimetype"}=$fmime; |
|
&Apache::loncommon::add_to_env("form.$name",$value); |
|
} |
|
} else { |
|
$env{"form.$name.filename"}=$fname; |
|
$env{"form.$name.mimetype"}=$fmime; |
|
&Apache::loncommon::add_to_env("form.$name",$value); |
|
} |
|
} else { |
|
$value=~s/\s+$//s; |
|
&Apache::loncommon::add_to_env("form.$name",$value); |
|
} |
} |
} |
if ($i<$#lines) { |
if ($i<$#lines) { |
$i++; |
$i++; |
Line 145 sub get_posted_cgi {
|
Line 156 sub get_posted_cgi {
|
$r->headers_in->unset('Content-length'); |
$r->headers_in->unset('Content-length'); |
} |
} |
|
|
|
# |
|
# Perform size checks for file uploads to essayresponse items in course context. |
|
# |
|
# Add form.HWFILESIZE.$part_$id to %env with file size (MB) |
|
# If file exceeds maximum allowed size, add form.HWFILETOOBIG.$part_$id to %env. |
|
# |
|
|
|
sub upload_size_allowed { |
|
my ($name,$size,$fname) = @_; |
|
if ($name =~ /^HWFILE(\w+)$/) { |
|
my $ident = $1; |
|
my $item = 'HWFILESIZE'.$ident; |
|
&Apache::loncommon::add_to_env("form.$item",$size); |
|
my $maxsize= &Apache::lonnet::EXT("resource.$ident.maxfilesize"); |
|
if (!$maxsize) { |
|
$maxsize = 100.0; |
|
} |
|
if ($size > $maxsize) { |
|
my $warn = 'HWFILETOOBIG'.$ident; |
|
&Apache::loncommon::add_to_env("form.$warn",$fname); |
|
return; |
|
} |
|
} |
|
return 'ok'; |
|
} |
|
|
# handle the case of the single sign on user, at this point $r->user |
# handle the case of the single sign on user, at this point $r->user |
# will be set and valid now need to find the loncapa user info and possibly |
# will be set and valid now need to find the loncapa user info and possibly |
# balance them |
# balance them |
Line 424 sub handler {
|
Line 461 sub handler {
|
1; |
1; |
__END__ |
__END__ |
|
|
|
|
=head1 NAME |
=head1 NAME |
|
|
Apache::lonacc - Cookie Based Access Handler |
Apache::lonacc - Cookie Based Access Handler |
Line 484 store attempted access
|
Line 522 store attempted access
|
|
|
=back |
=back |
|
|
=cut |
=cut |
|
|