--- loncom/publisher/loncfile.pm 2008/03/12 02:46:38 1.88
+++ loncom/publisher/loncfile.pm 2009/05/26 16:29:56 1.99
@@ -9,7 +9,7 @@
# and displays a page showing the results of the action.
#
#
-# $Id: loncfile.pm,v 1.88 2008/03/12 02:46:38 raeburn Exp $
+# $Id: loncfile.pm,v 1.99 2009/05/26 16:29:56 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -109,6 +109,17 @@ sub Debug {
}
}
+sub done {
+ my ($url)=@_;
+ my $done=&mt("Done");
+ return(< ".&mt('You have requested to create file in directory [_1] which doesn\'t exist. The requested directory path has been removed from the requested file name.','"'.&display($newpath).'"')." '
+ .&mt("You have requested to create file in directory [_1] which doesn't exist. The requested directory path has been removed from the requested file name."
+ ,'"'.&display($newpath).'"')
+ .' '.&mt('Make new directory').' '.
@@ -715,7 +733,7 @@ sub NewDir1 {
sub Decompress1 {
my ($request, $user, $domain, $fn) = @_;
if( -e $fn) {
- $request->print('');
+ $request->print('');
$request->print(' '.&mt('Decompress').' '.&display($fn).'? '.
+ &mt('Invalid filename: ').&display($newfilename).' '.
+ &mt('The name of the new file needs to end with an appropriate file extension to indicate the type of file to create.').' '.
+ '
(name).(number).(extension) not allowed.
Removing the .number. from requested filename.',&display($dest))
+ .&mt('Bad filename [_1]',''.&display($dest).'')
+ .'
'
+ .&mt('[_1](name).(number).(extension)[_2] not allowed.','','')
+ .'
'
+ .&mt('Removing the [_1].number.[_2] from requested filename.','','')
.'');
$dest =~ s/\.(\d+)(\.\w+)$/$2/;
}
@@ -405,7 +423,7 @@ sub CloseForm1 {
my ($request, $fn) = @_;
$request->print('');
$request->print('');
+ '" method="post">');
}
@@ -435,7 +453,7 @@ Parameters:
sub CloseForm2 {
my ($request, $user, $fn) = @_;
- $request->print(''.&mt('Done').'
');
+ $request->print(&done(&url($fn)));
}
=pod
@@ -570,7 +588,7 @@ sub Delete1 {
if( -e $fn) {
$request->print('');
+ $fn.'" />');
if (-d $fn) {
unless (&empty_directory($fn,'Delete1')) {
$request->print(''.&mt('Only empty directories may be deleted.').'
'.
@@ -700,9 +718,9 @@ sub NewDir1 {
$request->print('');
} else {
if ($mode eq 'testbank') {
- $request->print('');
+ $request->print('');
} elsif ($mode eq 'imsimport') {
- $request->print('');
+ $request->print('');
}
$request->print('
('.&mt('name').').('.&mt('number').').('.&mt('extension').') '.
- ' '.&mt('Not Allowed').'');
- return;
- }
- if($newfilename =~ /(\:\:\:|\&\&\&|\_\_\_)/){
- $r->print(''.$newfilename.
- ' - '.&mt('Bad Filename').'
('.&mt('Must not include').' '.$1.') '.
- ' '.&mt('Not Allowed').'');
- return;
- }
if ($newfilename !~ /\Q.$extension\E$/) {
if ($newfilename =~ m|/[^/.]*\.(?:[^/.]+)$|) {
#already has an extension strip it and add in expected one
@@ -795,14 +800,57 @@ sub NewFile1 {
if ($type eq 'error') {
$request->print('');
} else {
-
+ my $extension;
+
+ if ($newfilename =~ m{[^/.]+\.([^/.]+)$}) {
+ $extension = $1;
+ }
+
+ my @okexts = qw(xml html xhtml htm xhtm problem page sequence rights sty library js css txt);
+ if (($extension eq '') || (!grep(/^\Q$extension\E/,@okexts))) {
+ my $validexts = '.'.join(', .',@okexts);
+ $request->print('
'.
+ &mt('The following are valid extensions: [_1].',$validexts).
+ '
'.&mt('Make new file').' '.&display($newfilename).'?
'); $request->print(''); + $request->print(''); + '" method="post">'); $request->print(''); + '" method="post">'); } + return; +} + +sub filename_check { + my ($newfilename) = @_; + ##Informs User (name).(number).(extension) not allowed + if($newfilename =~ /\.(\d+)\.(\w+)$/){ + $r->print(''.$newfilename. + ' - '.&mt('Bad Filename').'' + .&mt('Co-Author [_1]',$uname.':'.$udom) + .'
' + ); }