version 1.17.2.1, 2018/11/26 13:07:41
|
version 1.18, 2016/06/19 04:27:58
|
Line 102 sub handler {
|
Line 102 sub handler {
|
if ($ENV{'REDIRECT_URL'} =~ m{^/adm/([^/]+)}) { |
if ($ENV{'REDIRECT_URL'} =~ m{^/adm/([^/]+)}) { |
my $action = $1; |
my $action = $1; |
my ($option,$filename,$filename1,$filename2,$decompress, |
my ($option,$filename,$filename1,$filename2,$decompress, |
$qualifiedfilename,$warning); |
$qualifiedfilename); |
my %deniedactions = &get_denied_action_text(); |
|
if ($ENV{'REDIRECT_QUERY_STRING'} ne '') { |
if ($ENV{'REDIRECT_QUERY_STRING'} ne '') { |
foreach my $pair (split(/&/,$ENV{'REDIRECT_QUERY_STRING'})) { |
foreach my $pair (split(/&/,$ENV{'REDIRECT_QUERY_STRING'})) { |
my ($name,$value) = split(/=/,$pair); |
my ($name,$value) = split(/=/,$pair); |
Line 131 sub handler {
|
Line 130 sub handler {
|
$option = 'cstr'; |
$option = 'cstr'; |
} |
} |
} elsif ($name eq 'filetwo') { |
} elsif ($name eq 'filetwo') { |
$option = $value; |
$option = $value; |
} |
} |
} |
} |
if (($action eq 'upload') || ($action eq 'testbank')) { |
if (($action eq 'upload') || ($action eq 'testbank')) { |
if (($filename1 ne '') && ($filename2 ne '')) { |
if (($filename1 ne '') && ($filename ne '')) { |
$filename = $filename1.$filename2; |
$filename = $filename1.$filename2; |
} |
} |
} elsif ($action eq 'cfile') { |
} elsif ($action eq 'cfile') { |
Line 145 sub handler {
|
Line 144 sub handler {
|
$filename = $qualifiedfilename; |
$filename = $qualifiedfilename; |
} |
} |
} |
} |
|
my %deniedactions = &get_denied_action_text(); |
|
my $warning; |
if ($option eq 'decompress') { |
if ($option eq 'decompress') { |
$warning = $deniedactions{$option}; |
$warning = $deniedactions{$option}; |
} else { |
} else { |
Line 172 sub handler {
|
Line 173 sub handler {
|
&mt('You are not permitted to take this action.'). |
&mt('You are not permitted to take this action.'). |
'</p>'); |
'</p>'); |
} |
} |
} 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('<p class="LC_error">'. |
|
&mt('There is a problem with the filename').' '. |
|
'<span class="LC_filename">'.$filename.'</span></p>'. |
|
'<p class="LC_warning">'. |
|
&mt('The suggested filename may not include the pattern ".number.extension" as LON-CAPA reserves that pattern for its internal versioning mechanism.'). |
|
'</p>'); |
|
} else { |
|
$r->print('<p class="LC_error">'. |
|
$deniedactions{$action}.'</p><p class="LC_warning">'. |
|
&mt('You do not have authoring privileges for this resource').' '. |
|
'<span class="LC_filename">'.$filename.'</span>'. |
|
'</p>'); |
|
} |
|
} else { |
|
$r->print('<p class="LC_error">'. |
|
&mt('You are not permitted to take this action.'). |
|
'</p>'); |
|
} |
|
} |
} |
} elsif ($r->uri =~ m{priv/.+\.\d+\.[^.]+$}) { |
} elsif ($r->uri =~ m{priv/.+\.\d+\.[^.]+$}) { |
$r->print('<p class="LC_error">'. |
$r->print('<p class="LC_error">'. |
Line 229 sub handler {
|
Line 203 sub handler {
|
my $realownerhome= |
my $realownerhome= |
&Apache::lonnet::homeserver($realownername,$realownerdom); |
&Apache::lonnet::homeserver($realownername,$realownerdom); |
unless ($realownerhome eq 'no_host') { |
unless ($realownerhome eq 'no_host') { |
my $plainname=&Apache::loncommon::plainname($realownername,$realownerdom); |
if (&Apache::lonnet::is_course($realownerdom,$realownername)) { |
my $user=$realownername.':'.$realownerdom; |
my $ccrole = 'cc'; |
my $userlink=&Apache::loncommon::aboutmewrapper( |
my %crsenv = &Apache::lonnet::coursedescription("$realownerdom/$realownername",{one_time => 1}); |
$plainname.' ('.$user.')' |
my $cdesc = $crsenv{'description'}; |
,$realownername |
my $crstype = $crsenv{'type'}; |
,$realownerdom); |
if ($crstype eq 'Community') { |
$r->print('<p>' |
$ccrole = 'co'; |
.&mt('Contact [_1] for access.',$userlink) |
} |
.'</p>'); |
my $rolename = $crsenv{$ccrole.'.plaintext'}; |
|
if ($rolename eq '') { |
|
$rolename = &Apache::lonnet::plaintext($ccrole,$crstype,$realownerdom.'_'.$realownername,1); |
|
} |
|
my $allowed = &Apache::lonnet::allowed('mdc',$realownerdom.'_'.$realownername); |
|
if (!$allowed) { |
|
my %roleshash = &Apache::lonnet::get_my_roles('','','userroles',['active'], |
|
[$ccrole],[$realownerdom]); |
|
if (exists($roleshash{$realownername.':'.$realownerdom.':'.$ccrole})) { |
|
$r->print(&mt('[_1]Switch role[_2] for access', |
|
'<a href="/adm/roles?selectrole=1&'. |
|
&HTML::Entities::encode($ccrole."./$realownerdom/$realownername".'=1','<>&"'). |
|
'&orgurl='.&HTML::Entities::encode($env{'request.editurl'},'<>&"'). |
|
'">','<a/>')); |
|
} else { |
|
if ($crstype eq 'Community') { |
|
$r->print('<p>' |
|
.&mt('Contact a [_1] in the community ([_2]) for access.',$rolename,$cdesc) |
|
.'</p>'); |
|
} else { |
|
$r->print('<p>' |
|
.&mt('Contact a [_1] in the course ([_2]) for access.',$rolename,$cdesc) |
|
.'</p>'); |
|
} |
|
} |
|
} |
|
} else { |
|
my $plainname=&Apache::loncommon::plainname($realownername,$realownerdom); |
|
my $user=$realownername.':'.$realownerdom; |
|
my $userlink=&Apache::loncommon::aboutmewrapper( |
|
$plainname.' ('.$user.')' |
|
,$realownername |
|
,$realownerdom); |
|
$r->print('<p>' |
|
.&mt('Contact [_1] for access.',$userlink) |
|
.'</p>'); |
|
} |
} |
} |
} |
} |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |