--- loncom/publisher/loncfile.pm 2007/07/10 23:34:54 1.84
+++ loncom/publisher/loncfile.pm 2009/05/11 16:51:32 1.97
@@ -9,7 +9,7 @@
# and displays a page showing the results of the action.
#
#
-# $Id: loncfile.pm,v 1.84 2007/07/10 23:34:54 albertel Exp $
+# $Id: loncfile.pm,v 1.97 2009/05/11 16:51:32 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -109,6 +109,17 @@ sub Debug {
}
}
+sub done {
+ my ($url)=@_;
+ my $done=&mt("Done");
+ return(<$done
+
+ENDDONE
+}
+
=pod
=item URLToPath($url)
@@ -148,7 +159,7 @@ sub URLToPath {
my $Url = shift;
&Debug($r, "UrlToPath got: $Url");
$Url=~ s/\/+/\//g;
- $Url=~ s/^http\:\/\/[^\/]+//;
+ $Url=~ s/^https?\:\/\/[^\/]+//;
$Url=~ s/^\///;
$Url=~ s/(\~|priv\/)($match_username)\//\/home\/$2\/public_html\//;
&Debug($r, "Returning $Url \n");
@@ -165,7 +176,7 @@ sub url {
sub display {
my $fn=shift;
$fn=~s-^/home/($match_username)/public_html-/priv/$1-;
- return ''.$fn.'';
+ return ''.$fn.'';
}
@@ -226,12 +237,16 @@ sub empty_directory {
=over 4
-=item $user - string [in] - Name of the user for which to check.
+=item $user - string [in] - Name of the user for which to check.
-=item $domain - string [in] - Name of the domain in which the resource
+=item $domain - string [in] - Name of the domain in which the resource
might have been published.
-=item $file - string [in] - Name of the file.
+=item $file - string [in] - Name of the file.
+
+=item $creating - string [in] - optional, type of object being created,
+ either 'directory' or 'file'. Defaults to
+ 'file' if unspecified.
=back
@@ -251,7 +266,9 @@ Returns:
=cut
sub exists {
- my ($user, $domain, $construct) = @_;
+ my ($user, $domain, $construct, $creating) = @_;
+ $creating ||= 'file';
+
my $published=$construct;
$published=~
s{^/home/$user/public_html/}{/home/httpd/html/res/$domain/$user/};
@@ -266,8 +283,15 @@ sub exists {
$type = 'warning';
$result.='
'.&mt('Warning: target file exists, and has been published!').'
';
} else {
- $type = 'warning';
- $result.='
'.&mt('Warning: a published file of this names exists.').'
'.&mt("Warning: a published $published_type of this name exists.").'
';
+ } else {
+ $type = 'error';
+ $result.='
'.&mt("Error: a published $published_type of this name exists.").'
';
+ }
}
} elsif ( -e $construct) {
$type = 'warning';
@@ -328,6 +352,7 @@ sub cleanDest {
$foundbad=1;
$dest=~s/\.//g;
}
+ $dest =~ s/(\s+$|^\s+)//g;
if ($dest=~/[\#\?&%\":]/) {
$foundbad=1;
$dest=~s/[\#\?&%\":]//g;
@@ -336,13 +361,20 @@ sub cleanDest {
my ($newpath)=($dest=~m|(.*)/|);
$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.'"')."
");
+ $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."
+ ,'"'.&display($newpath).'"')
+ .'
');
$dest=~s|.*/||;
}
}
if ($dest =~ /\.(\d+)\.(\w+)$/){
$request->print(''
- .&mt('Bad filename [_1]. (name).(number).(extension) not allowed. Removing the .number. from requested filename.',$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/;
}
@@ -391,7 +423,7 @@ sub CloseForm1 {
my ($request, $fn) = @_;
$request->print('');
$request->print('');
+ '" method="post">');
}
@@ -421,7 +453,7 @@ Parameters:
sub CloseForm2 {
my ($request, $user, $fn) = @_;
- $request->print('
'.
+ &mt('The name of the new file needs to end with an appropriate file extension to indicate the type of file to create.').' '.
+ &mt('The following are valid extensions: [_1].',$validexts).
+ '
'.
+ '
'.
+ '');
+ return;
+ }
+
$request->print('
'.&mt('Make new file').' '.&display($newfilename).'?