--- loncom/publisher/lonupload.pm 2001/11/29 21:51:40 1.8
+++ loncom/publisher/lonupload.pm 2001/12/17 00:57:59 1.10
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to upload files into construction space
#
-# $Id: lonupload.pm,v 1.8 2001/11/29 21:51:40 matthew Exp $
+# $Id: lonupload.pm,v 1.10 2001/12/17 00:57:59 harris41 Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -31,9 +31,11 @@
#
# (TeX Content Handler
#
+# YEAR=2000
# 05/29/00,05/30,10/11 Gerd Kortemeyer)
#
# 11/28,11/29,11/30,12/01,12/02,12/04,12/23 Gerd Kortemeyer
+# YEAR=2001
# 03/23 Guy Albertelli
# 03/24,03/29 Gerd Kortemeyer)
#
@@ -41,6 +43,9 @@
#
# 04/05,04/09,05/25,06/23,06/24,08/22 Gerd Kortemeyer
# 11/29 Matthew Hall
+# 12/16 Scott Harrison
+#
+###
package Apache::lonupload;
@@ -49,7 +54,7 @@ use Apache::File;
use File::Copy;
use Apache::Constants qw(:common :http :methods);
use Apache::loncacc;
-use Apache::lonnet;
+use Apache::loncommon();
sub upfile_store {
my $r=shift;
@@ -90,16 +95,24 @@ sub phaseone {
'
'.
'');
- # Check for bad extension
+ # Check for bad extension and warn user
if ($fn=~/\.(\w+)$/ &&
- (&Apache::lonnet::fileembstyle($1) eq 'hdn')) {
+ (&Apache::loncommon::fileembstyle($1) eq 'hdn')) {
$r->print(
''.
'The extension on this file, "'.$1.
'", is reserved internally by LON-CAPA.
'.
'Please change the extension.'.
'');
- }
+ } elsif($fn=~/\.(\w+)$/ &&
+ !defined(&Apache::loncommon::fileembstyle($1))) {
+ $r->print(
+ ''.
+ 'The extension on this file, "'.$1.
+ '", is not recognized by LON-CAPA.
'.
+ 'Please change the extension.'.
+ '');
+ }
} else {
$r->print('Illegal filename.');
}
@@ -127,14 +140,21 @@ sub phasetwo {
} else {
my $source=$r->dir_config('lonDaemons').
'/tmp/'.$datatoken.'.tmp';
- # Check for bad extension
+ # Check for bad extension and disallow upload
if ($fn=~/\.(\w+)$/ &&
- (&Apache::lonnet::fileembstyle($1) eq 'hdn')) {
+ (&Apache::loncommon::fileembstyle($1) eq 'hdn')) {
$r->print(
'File '.$fn.' could not be copied.
'.
''.
'The extension on this file is reserved internally by LON-CAPA.'.
'');
+ } elsif ($fn=~/\.(\w+)$/ &&
+ !defined(&Apache::loncommon::fileembstyle($1))) {
+ $r->print(
+ 'File '.$fn.' could not be copied.
'.
+ ''.
+ 'The extension on this file is not recognized by LON-CAPA.'.
+ '');
} elsif (copy($source,$target)) {
$r->print('File copied.');
$r->print('