version 1.1301, 2016/03/02 14:14:14
|
version 1.1305, 2016/04/02 04:31:03
|
Line 2190 sub get_domain_defaults {
|
Line 2190 sub get_domain_defaults {
|
'coursedefaults','usersessions', |
'coursedefaults','usersessions', |
'requestauthor','selfenrollment', |
'requestauthor','selfenrollment', |
'coursecategories'],$domain); |
'coursecategories'],$domain); |
my @coursetypes = ('official','unofficial','community','textbook'); |
my @coursetypes = ('official','unofficial','community','textbook','placement'); |
if (ref($domconfig{'defaults'}) eq 'HASH') { |
if (ref($domconfig{'defaults'}) eq 'HASH') { |
$domdefaults{'lang_def'} = $domconfig{'defaults'}{'lang_def'}; |
$domdefaults{'lang_def'} = $domconfig{'defaults'}{'lang_def'}; |
$domdefaults{'auth_def'} = $domconfig{'defaults'}{'auth_def'}; |
$domdefaults{'auth_def'} = $domconfig{'defaults'}{'auth_def'}; |
Line 2220 sub get_domain_defaults {
|
Line 2220 sub get_domain_defaults {
|
} |
} |
} |
} |
if (ref($domconfig{'requestcourses'}) eq 'HASH') { |
if (ref($domconfig{'requestcourses'}) eq 'HASH') { |
foreach my $item ('official','unofficial','community','textbook') { |
foreach my $item ('official','unofficial','community','textbook','placement') { |
$domdefaults{$item} = $domconfig{'requestcourses'}{$item}; |
$domdefaults{$item} = $domconfig{'requestcourses'}{$item}; |
} |
} |
} |
} |
Line 6530 sub usertools_access {
|
Line 6530 sub usertools_access {
|
unofficial => 1, |
unofficial => 1, |
community => 1, |
community => 1, |
textbook => 1, |
textbook => 1, |
|
placement => 1, |
); |
); |
} elsif ($context eq 'requestauthor') { |
} elsif ($context eq 'requestauthor') { |
%tools = ( |
%tools = ( |
Line 7263 sub allowed {
|
Line 7264 sub allowed {
|
my $unamedom=$env{'user.name'}.':'.$env{'user.domain'}; |
my $unamedom=$env{'user.name'}.':'.$env{'user.domain'}; |
if ($env{'course.'.$env{'request.course.id'}.'.'.$priv.'.roles.denied'} |
if ($env{'course.'.$env{'request.course.id'}.'.'.$priv.'.roles.denied'} |
=~/\Q$rolecode\E/) { |
=~/\Q$rolecode\E/) { |
if (($priv ne 'pch') && ($priv ne 'plc')) { |
if (($priv ne 'pch') && ($priv ne 'plc') && ($priv ne 'pac')) { |
&logthis($env{'user.domain'}.':'.$env{'user.name'}.':'.$env{'user.home'}.':'. |
&logthis($env{'user.domain'}.':'.$env{'user.name'}.':'.$env{'user.home'}.':'. |
'Denied by role: '.$priv.' for '.$uri.' as '.$rolecode.' in '. |
'Denied by role: '.$priv.' for '.$uri.' as '.$rolecode.' in '. |
$env{'request.course.id'}); |
$env{'request.course.id'}); |
Line 7273 sub allowed {
|
Line 7274 sub allowed {
|
|
|
if ($env{'course.'.$env{'request.course.id'}.'.'.$priv.'.users.denied'} |
if ($env{'course.'.$env{'request.course.id'}.'.'.$priv.'.users.denied'} |
=~/\Q$unamedom\E/) { |
=~/\Q$unamedom\E/) { |
if (($priv ne 'pch') && ($priv ne 'plc')) { |
if (($priv ne 'pch') && ($priv ne 'plc') && ($priv ne 'pac')) { |
&logthis($env{'user.domain'}.':'.$env{'user.name'}.':'.$env{'user.home'}. |
&logthis($env{'user.domain'}.':'.$env{'user.name'}.':'.$env{'user.home'}. |
'Denied by user: '.$priv.' for '.$uri.' as '.$unamedom.' in '. |
'Denied by user: '.$priv.' for '.$uri.' as '.$unamedom.' in '. |
$env{'request.course.id'}); |
$env{'request.course.id'}); |
Line 8277 sub auto_crsreq_update {
|
Line 8278 sub auto_crsreq_update {
|
return \%crsreqresponse; |
return \%crsreqresponse; |
} |
} |
|
|
|
sub auto_export_grades { |
|
my ($cnum,$cdom,$gradesref) = @_; |
|
return; |
|
} |
|
|
sub check_instcode_cloning { |
sub check_instcode_cloning { |
my ($codedefaults,$code_order,$cloner,$clonefromcode,$clonetocode) = @_; |
my ($codedefaults,$code_order,$cloner,$clonefromcode,$clonetocode) = @_; |
unless ((ref($codedefaults) eq 'HASH') && (ref($code_order) eq 'ARRAY')) { |
unless ((ref($codedefaults) eq 'HASH') && (ref($code_order) eq 'ARRAY')) { |
Line 8498 sub plaintext {
|
Line 8504 sub plaintext {
|
my %rolenames = ( |
my %rolenames = ( |
Course => 'std', |
Course => 'std', |
Community => 'alt1', |
Community => 'alt1', |
|
Placement => 'std', |
); |
); |
if ($cid ne '') { |
if ($cid ne '') { |
if ($env{'course.'.$cid.'.'.$short.'.plaintext'} ne '') { |
if ($env{'course.'.$cid.'.'.$short.'.plaintext'} ne '') { |
Line 10341 sub resdata {
|
Line 10348 sub resdata {
|
if ($item->[1] eq 'course') { |
if ($item->[1] eq 'course') { |
if ((ref($recurseup) eq 'ARRAY') && (ref($recursed) eq 'SCALAR')) { |
if ((ref($recurseup) eq 'ARRAY') && (ref($recursed) eq 'SCALAR')) { |
unless ($$recursed) { |
unless ($$recursed) { |
@{$recurseup} = &get_map_hierarchy($mapp); |
@{$recurseup} = &get_map_hierarchy($mapp,$courseid); |
$$recursed = 1; |
$$recursed = 1; |
} |
} |
foreach my $item (@${recurseup}) { |
foreach my $item (@${recurseup}) { |
Line 10402 sub get_numsuppfiles {
|
Line 10409 sub get_numsuppfiles {
|
# EXT resource caching routines |
# EXT resource caching routines |
# |
# |
|
|
|
{ |
|
# Cache (5 seconds) of map hierarchy for speedup of navmaps display |
|
# |
|
# The course for which we cache |
|
my $cachedmapkey=''; |
|
# The cached recursive maps for this course |
|
my %cachedmaps=(); |
|
# When this was last done |
|
my $cachedmaptime=''; |
|
|
sub clear_EXT_cache_status { |
sub clear_EXT_cache_status { |
&delenv('cache.EXT.'); |
&delenv('cache.EXT.'); |
} |
} |
Line 10592 sub EXT {
|
Line 10609 sub EXT {
|
# ----------------------------------------------------- Cascading lookup scheme |
# ----------------------------------------------------- Cascading lookup scheme |
my $symbp=$symbparm; |
my $symbp=$symbparm; |
$mapp=&deversion((&decode_symb($symbp))[0]); |
$mapp=&deversion((&decode_symb($symbp))[0]); |
@recurseup=(); |
|
my $symbparm=$symbp.'.'.$spacequalifierrest; |
my $symbparm=$symbp.'.'.$spacequalifierrest; |
my $recurseparm=$mapp.'___(rec).'.$spacequalifierrest; |
my $recurseparm=$mapp.'___(rec).'.$spacequalifierrest; |
my $mapparm=$mapp.'___(all).'.$spacequalifierrest; |
my $mapparm=$mapp.'___(all).'.$spacequalifierrest; |
Line 10764 sub check_group_parms {
|
Line 10780 sub check_group_parms {
|
} |
} |
|
|
sub get_map_hierarchy { |
sub get_map_hierarchy { |
my ($mapname) = @_; |
my ($mapname,$courseid) = @_; |
my @recurseup = (); |
my @recurseup = (); |
if ($mapname) { |
if ($mapname) { |
|
if (($cachedmapkey eq $courseid) && |
|
(abs($cachedmaptime-time)<5)) { |
|
if (ref($cachedmaps{$mapname}) eq 'ARRAY') { |
|
return @{$cachedmaps{$mapname}}; |
|
} |
|
} |
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
if (ref($navmap)) { |
if (ref($navmap)) { |
@recurseup = $navmap->recurseup_maps($mapname); |
@recurseup = $navmap->recurseup_maps($mapname); |
undef($navmap); |
undef($navmap); |
|
$cachedmaps{$mapname} = \@recurseup; |
|
$cachedmaptime=time; |
|
$cachedmapkey=$courseid; |
} |
} |
} |
} |
return @recurseup; |
return @recurseup; |
} |
} |
|
|
|
} |
|
|
sub sort_course_groups { # Sort groups based on defined rankings. Default is sort(). |
sub sort_course_groups { # Sort groups based on defined rankings. Default is sort(). |
my ($courseid,@groups) = @_; |
my ($courseid,@groups) = @_; |
@groups = sort(@groups); |
@groups = sort(@groups); |
Line 13064 BEGIN {
|
Line 13091 BEGIN {
|
my $name = $token->[2]{'name'}; |
my $name = $token->[2]{'name'}; |
my $value = $token->[2]{'value'}; |
my $value = $token->[2]{'value'}; |
my $valuematch = $token->[2]{'valuematch'}; |
my $valuematch = $token->[2]{'valuematch'}; |
if ($item ne '' && $name ne '' && ($value ne '' || $valuematch ne '')) { |
my $namematch = $token->[2]{'namematch'}; |
|
if ($item eq 'parameter') { |
|
if (($namematch ne '') || (($name ne '') && ($value ne '' || $valuematch ne ''))) { |
|
my $release = $parser->get_text(); |
|
$release =~ s/(^\s*|\s*$ )//gx; |
|
$needsrelease{$item.':'.$name.':'.$value.':'.$valuematch.':'.$namematch} = $release; |
|
} |
|
} elsif ($item ne '' && $name ne '') { |
my $release = $parser->get_text(); |
my $release = $parser->get_text(); |
$release =~ s/(^\s*|\s*$ )//gx; |
$release =~ s/(^\s*|\s*$ )//gx; |
$needsrelease{$item.':'.$name.':'.$value.':'.$valuematch} = $release; |
$needsrelease{$item.':'.$name.':'.$value} = $release; |
} |
} |
} |
} |
} |
} |
Line 14127 requestcourses: ability to request cours
|
Line 14161 requestcourses: ability to request cours
|
=over |
=over |
|
|
=item |
=item |
official, unofficial, community, textbook |
official, unofficial, community, textbook, placement |
|
|
=back |
=back |
|
|
Line 14149 for course's uploaded content.
|
Line 14183 for course's uploaded content.
|
|
|
=item |
=item |
canuse_pdfforms, officialcredits, unofficialcredits, textbookcredits, officialquota, unofficialquota, |
canuse_pdfforms, officialcredits, unofficialcredits, textbookcredits, officialquota, unofficialquota, |
communityquota, textbookquota |
communityquota, textbookquota, placementquota |
|
|
=back |
=back |
|
|