--- loncom/misc/refresh_courseids_db.pl 2020/04/22 16:43:56 1.22 +++ loncom/misc/refresh_courseids_db.pl 2021/03/31 02:19:59 1.23 @@ -1,7 +1,7 @@ #!/usr/bin/perl # The LearningOnline Network # -# $Id: refresh_courseids_db.pl,v 1.22 2020/04/22 16:43:56 raeburn Exp $ +# $Id: refresh_courseids_db.pl,v 1.23 2021/03/31 02:19:59 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -183,6 +183,7 @@ sub recurse_courses { my $creator = $courseinfo{'internal.creator'}; my $creationcontext = $courseinfo{'internal.creationcontext'}; my $inst_code = $courseinfo{'internal.coursecode'}; + my $xlists = $courseinfo{'internal.crosslistings'}; my $releaserequired = $courseinfo{'internal.releaserequired'}; my $uniquecode = $courseinfo{'internal.uniquecode'}; $inst_code = '' if (!defined($inst_code)); @@ -281,9 +282,20 @@ sub recurse_courses { my $cc = $1; unless ($cc eq $owner) { my ($result,$desc) = &Apache::lonnet::auto_validate_instcode($cnum,$cdom,$inst_code,$cc); + unless ($result eq 'valid') { + if ($xlists ne '') { + foreach my $xlist (split(',',$xlists)) { + my ($inst_crosslist,$lcsec) = split(':',$xlist); + $result = + &Apache::lonnet::auto_validate_inst_crosslist($cnum,$cdom,$inst_code, + $inst_crosslist,$cc); + last if ($result eq 'valid'); + } + } + } if ($result eq 'valid') { if (@newcoowners > 0) { - unless (grep(/^\Q$cc\E$/,@newcoowners)) { + unless (grep(/^\Q$cc\E$/,@newcoowners)) { push(@newcoowners,$cc); } } else {