version 1.88.2.6, 2019/07/26 20:38:43
|
version 1.88.2.8, 2021/06/20 17:49:08
|
Line 376 ENDJS
|
Line 376 ENDJS
|
} |
} |
|
|
sub validate_input { |
sub validate_input { |
my ($codedom,$cats,$maxd,$configref) = @_; |
my ($codedom,$cats,$maxd,$crscatsref) = @_; |
my $currcat = ''; |
my $currcat = ''; |
my $depth = 0; |
my $depth = 0; |
if ($env{'form.catalog_maxdepth'} ne '') { |
if ($env{'form.catalog_maxdepth'} ne '') { |
Line 1469 sub construct_data_table {
|
Line 1469 sub construct_data_table {
|
} |
} |
my $count = 1; |
my $count = 1; |
my $totalsec = 0; |
my $totalsec = 0; |
|
my %clutteredxlists; |
|
foreach my $course (keys(%courseinfo)) { |
|
if (ref($courseinfo{$course}) eq 'HASH') { |
|
if ($courseinfo{$course}{'xlist'} ne '') { |
|
my $crskey = $courseinfo{$course}{'cnum'}.':'.$courseinfo{$course}{'code'}; |
|
my @xlists = split(/,\s/,$courseinfo{$course}{'xlist'}); |
|
$clutteredxlists{$crskey} = \@xlists; |
|
} |
|
} |
|
} |
|
if (keys(%clutteredxlists)) { |
|
my %reformattedxlists = &Apache::lonnet::auto_instsec_reformat($domain,'declutter',\%clutteredxlists); |
|
foreach my $crskey (keys(%reformattedxlists)) { |
|
if (ref($reformattedxlists{$crskey}) eq 'ARRAY') { |
|
my $course = $domain.'_'.(split(/:/,$crskey))[0]; |
|
$courseinfo{$course}{'xlist'} = join(', ',@{$reformattedxlists{$crskey}}); |
|
} |
|
} |
|
} |
foreach my $item (@sorted_courses) { |
foreach my $item (@sorted_courses) { |
foreach my $course (@{$Sortby{$item}}) { |
foreach my $course (@{$Sortby{$item}}) { |
$output.=&Apache::loncommon::start_data_table_row(); |
$output.=&Apache::loncommon::start_data_table_row(); |
Line 1924 sub identify_sections {
|
Line 1943 sub identify_sections {
|
sub get_valid_classes { |
sub get_valid_classes { |
my ($seclist,$xlist_items,$crscode,$owners,$cdom,$cnum) = @_; |
my ($seclist,$xlist_items,$crscode,$owners,$cdom,$cnum) = @_; |
my $response; |
my $response; |
my (@sections,@xlists,%possclasses,%okclasses,%validations); |
my (@sections,@format_sections,@xlists,%possclasses,%okclasses,%validations); |
@{$validations{'sections'}} = (); |
@{$validations{'sections'}} = (); |
@{$validations{'xlists'}} = (); |
@{$validations{'xlists'}} = (); |
my $totalitems = 0; |
my $totalitems = 0; |
if ($seclist) { |
if ($seclist) { |
@sections = split(/,\s+/,$seclist); |
@sections = split(/,\s+/,$seclist); |
map { $possclasses{$crscode.$_} = 1; } @sections; |
my $crskey = $cnum.':'.$crscode; |
|
my %formattedsec = &Apache::lonnet::auto_instsec_reformat($cdom,'clutter', |
|
{$crskey => \@sections}); |
|
if (ref($formattedsec{$crskey}) eq 'ARRAY') { |
|
@format_sections = @{$formattedsec{$crskey}}; |
|
map { $possclasses{$crscode.$_} = 1; } @format_sections; |
|
} |
} |
} |
if ($xlist_items) { |
if ($xlist_items) { |
@xlists = split(/,\s+/,$xlist_items); |
@xlists = split(/,\s+/,$xlist_items); |
Line 1939 sub get_valid_classes {
|
Line 1964 sub get_valid_classes {
|
my %okclasses = &Apache::lonnet::auto_validate_instclasses($cdom,$cnum,$owners, |
my %okclasses = &Apache::lonnet::auto_validate_instclasses($cdom,$cnum,$owners, |
\%possclasses); |
\%possclasses); |
if (keys(%okclasses)) { |
if (keys(%okclasses)) { |
foreach my $sec (@sections) { |
for (my $i=0; $i<@sections; $i++) { |
if ($okclasses{$crscode.$sec}) { |
if ($okclasses{$crscode.$format_sections[$i]}) { |
if (!grep(/^\Q$sec$\E/,@{$validations{'sections'}})) { |
my $sec = $sections[$i]; |
|
if (!grep(/^\Q$sec\E$/,@{$validations{'sections'}})) { |
push(@{$validations{'sections'}},$sec); |
push(@{$validations{'sections'}},$sec); |
$totalitems ++; |
$totalitems ++; |
} |
} |
Line 1962 sub get_valid_classes {
|
Line 1988 sub get_valid_classes {
|
join(', ',@{$validations{'sections'}}).'<br />'; |
join(', ',@{$validations{'sections'}}).'<br />'; |
} |
} |
if (@{$validations{'xlists'}}) { |
if (@{$validations{'xlists'}}) { |
|
my $crskey = $cnum.':'.$crscode; |
|
my %reformattedxlists = |
|
&Apache::lonnet::auto_instsec_reformat($cdom,'declutter', |
|
{$crskey => $validations{'xlists'}}); |
|
if (ref($reformattedxlists{$crskey}) eq 'ARRAY') { |
|
$validations{'xlists'} = $reformattedxlists{$crskey}; |
|
} |
$response .= &mt('Courses:').' '. |
$response .= &mt('Courses:').' '. |
join(', ',@{$validations{'xlists'}}); |
join(', ',@{$validations{'xlists'}}); |
} |
} |