[LON-CAPA-cvs] cvs: loncom /interface lonpdfupload.pm doc/loncapafiles loncapafiles.lpml
raeburn
raeburn at source.lon-capa.org
Fri Apr 3 13:35:03 EDT 2026
raeburn Fri Apr 3 17:35:03 2026 EDT
Modified files:
/doc/loncapafiles loncapafiles.lpml
/loncom/interface lonpdfupload.pm
Log:
- Bug 6121. Server-side checking of uploaded file size when using "PDF Forms".
Delete $env{'form.file'} which contains contents of uploaded file after use.
Index: doc/loncapafiles/loncapafiles.lpml
diff -u doc/loncapafiles/loncapafiles.lpml:1.797.2.131.2.2 doc/loncapafiles/loncapafiles.lpml:1.797.2.131.2.3
--- doc/loncapafiles/loncapafiles.lpml:1.797.2.131.2.2 Tue Jan 4 05:44:34 2022
+++ doc/loncapafiles/loncapafiles.lpml Tue Jan 4 06:03:24 2022
@@ -2,7 +2,7 @@
"http://lpml.sourceforge.net/DTD/lpml.dtd">
<!-- loncapafiles.lpml -->
-<!-- $Id: loncapafiles.lpml,v 1.797.2.131.2.2 2022/01/04 05:44:34 raeburn Exp $ -->
+<!-- $Id: loncapafiles.lpml,v 1.797.2.131.2.3 2022/01/04 06:03:24 raeburn Exp $ -->
<!--
@@ -3506,7 +3506,7 @@
Course_Prefs_Classlists.tex;
Course_Prefs_Feedback.tex;
Course_Prefs_Language.tex;
-Course_Prefs_Linkprotection;
+Course_Prefs_Linkprotection.tex;
Course_Prefs_Menus.tex;
Course_Prefs_Spreadsheet.tex;
Course_Prefs_Discussions.tex;
Index: loncom/interface/lonpdfupload.pm
diff -u loncom/interface/lonpdfupload.pm:1.39 loncom/interface/lonpdfupload.pm:1.40
--- loncom/interface/lonpdfupload.pm:1.39 Sat Mar 28 18:10:32 2026
+++ loncom/interface/lonpdfupload.pm Fri Apr 3 17:35:03 2026
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# PDF Form Upload Handler
#
-# $Id: lonpdfupload.pm,v 1.39 2026/03/28 18:10:32 raeburn Exp $
+# $Id: lonpdfupload.pm,v 1.40 2026/04/03 17:35:03 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -53,6 +53,9 @@
if (!$env{'request.course.fn'}) {
# Not in a course
$env{'user.error.msg'}="/adm/pdfupload:bre:0:0:Cannot upload PDF forms unless in a course";
+ if ($env{'form.Uploaded'} && $env{'form.file'}) {
+ delete($env{'form.file'});
+ }
return HTTP_NOT_ACCEPTABLE;
}
@@ -70,6 +73,9 @@
unless ((&Apache::lonnet::allowed('evb',undef,undef,$checkrole)) &&
($env{'request.role'} !~ m{^st\./$cdom/$cnum})) {
&pdfforms_blocked($r,$blocktext);
+ if ($env{'form.Uploaded'} && $env{'form.file'}) {
+ delete($env{'form.file'});
+ }
return OK;
}
}
@@ -96,6 +102,9 @@
'</p>'.
'</div>'.
&Apache::loncommon::end_page());
+ if ($env{'form.Uploaded'} && $env{'form.file'}) {
+ delete($env{'form.file'});
+ }
return OK;
}
} else {
@@ -105,6 +114,9 @@
'</p>'.
'</div>'.
&Apache::loncommon::end_page());
+ if ($env{'form.Uploaded'} && $env{'form.file'}) {
+ delete($env{'form.file'});
+ }
return OK;
}
@@ -205,11 +217,29 @@
sub processPDF {
my $result; # message for Browser
+ my $maxsize = &Apache::loncommon::pdfform_maxbytes();
+ if (length($env{'form.file'}) > $maxsize) {
+ my $showlimit = $maxsize/(1024 * 1024);
+ if ($showlimit <= 0.0005) {
+ $showlimit = 0.001;
+ } else {
+ $showlimit = sprintf("%.3f",$showlimit);
+ $showlimit =~ s/0+$//;
+ }
+ $result = '<h2 class="LC_heading_2">'.&mt('Result of PDF Form upload').'</h2>'
+ .'<p class="LC_error">'
+ .&mt('Size of uploaded file exceeded the [_1] MB size limit for a single PDF Forms file.',
+ $showlimit)
+ .'</p>';
+ delete($env{'form.file'});
+ return $result;
+ }
+
my @pdfdata = (); # answers from PDF-Forms
my $error;
-
+
($error, at pdfdata) = &get_pdf_data(); # get answers from PDF-Form
-
+
if (scalar(@pdfdata)) {
$result = &grade_pdf($error, at pdfdata);
} else {
More information about the LON-CAPA-cvs
mailing list