--- loncom/publisher/loncfile.pm 2004/09/10 20:05:03 1.63 +++ loncom/publisher/loncfile.pm 2004/12/28 21:28:49 1.64 @@ -9,7 +9,7 @@ # and displays a page showing the results of the action. # # -# $Id: loncfile.pm,v 1.63 2004/09/10 20:05:03 albertel Exp $ +# $Id: loncfile.pm,v 1.64 2004/12/28 21:28:49 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -289,7 +289,7 @@ sub checksuffix { } sub cleanDest { - my ($request,$dest,$subdir,$fn)=@_; + my ($request,$dest,$subdir,$fn,$uname)=@_; #remove bad characters my $foundbad=0; if ($subdir && $dest =~/\./) { @@ -302,8 +302,9 @@ sub cleanDest { } if ($dest=~m|/|) { my ($newpath)=($dest=~m|(.*)/|); - if (! -d "$fn/$newpath") { - $request->print("

".&mt('You request to create file in directory [_1] which doesn\'t exist. The requested directory path has been removed from the requested file name.','"'.$newpath.'"')."

"); + $newpath=&relativeDest($fn,$newpath,$uname); + if (! -d "$newpath") { + $request->print("

".&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.','"'.$newpath.'"')."

"); $dest=~s|.*/||; } } @@ -767,7 +768,7 @@ sub phaseone { my $doingdir=0; if ($ENV{'form.action'} eq 'newdir') { $doingdir=1; } - my $newfilename=&cleanDest($r,$ENV{'form.newfilename'},$doingdir,$fn); + my $newfilename=&cleanDest($r,$ENV{'form.newfilename'},$doingdir,$fn,$uname); $newfilename=&relativeDest($fn,$newfilename,$uname); $r->print('
'. ''.