--- loncom/publisher/lonunauthorized.pm 2016/06/19 04:27:58 1.18 +++ loncom/publisher/lonunauthorized.pm 2018/11/26 03:49:04 1.19 @@ -1,7 +1,7 @@ # The LearningOnline Network # Unauthorized to access construction space # -# $Id: lonunauthorized.pm,v 1.18 2016/06/19 04:27:58 raeburn Exp $ +# $Id: lonunauthorized.pm,v 1.19 2018/11/26 03:49:04 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -102,7 +102,8 @@ sub handler { if ($ENV{'REDIRECT_URL'} =~ m{^/adm/([^/]+)}) { my $action = $1; my ($option,$filename,$filename1,$filename2,$decompress, - $qualifiedfilename); + $qualifiedfilename,$warning); + my %deniedactions = &get_denied_action_text(); if ($ENV{'REDIRECT_QUERY_STRING'} ne '') { foreach my $pair (split(/&/,$ENV{'REDIRECT_QUERY_STRING'})) { my ($name,$value) = split(/=/,$pair); @@ -130,11 +131,11 @@ sub handler { $option = 'cstr'; } } elsif ($name eq 'filetwo') { - $option = $value; + $option = $value; } } if (($action eq 'upload') || ($action eq 'testbank')) { - if (($filename1 ne '') && ($filename ne '')) { + if (($filename1 ne '') && ($filename2 ne '')) { $filename = $filename1.$filename2; } } elsif ($action eq 'cfile') { @@ -144,8 +145,6 @@ sub handler { $filename = $qualifiedfilename; } } - my %deniedactions = &get_denied_action_text(); - my $warning; if ($option eq 'decompress') { $warning = $deniedactions{$option}; } else { @@ -165,6 +164,33 @@ sub handler { $r->print('

'. $deniedactions{$action}.'

'. &mt('You do not have authoring privileges for this resource').' '. + ''.$filename.''. + '

'); + } + } else { + $r->print('

'. + &mt('You are not permitted to take this action.'). + '

'); + } + } elsif (($action eq 'upload') || ($action eq 'testbank')) { + $filename1 = $env{'form.filename1'}; + $filename2 = $env{'form.filename2'}; + if (($filename1 ne '') && ($filename2 ne '')) { + $filename = $filename1.$filename2; + } + $warning = $deniedactions{$action}; + if ($warning) { + if ($filename =~ m{^/priv/.+\.\d+\.[^.]+$}) { + $r->print('

'. + &mt('There is a problem with the filename').' '. + ''.$filename.'

'. + '

'. + &mt('The suggested filename may not include the pattern ".number.extension" as LON-CAPA reserves that pattern for its internal versioning mechanism.'). + '

'); + } else { + $r->print('

'. + $deniedactions{$action}.'

'. + &mt('You do not have authoring privileges for this resource').' '. ''.$filename.''. '

'); }