--- loncom/lonnet/perl/lonnet.pm 2009/08/18 20:08:25 1.1019 +++ loncom/lonnet/perl/lonnet.pm 2009/08/22 18:53:41 1.1020 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.1019 2009/08/18 20:08:25 raeburn Exp $ +# $Id: lonnet.pm,v 1.1020 2009/08/22 18:53:41 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -5645,7 +5645,7 @@ sub auto_validate_courseID { } sub auto_validate_instcode { - my ($cnum,$cdom,$instcode,$owner,$inststatuslist,$instseclist) = @_; + my ($cnum,$cdom,$instcode,$owner) = @_; my ($homeserver,$response); if (($cdom =~ /^$match_domain$/) && ($cnum =~ /^$match_courseid$/)) { $homeserver = &homeserver($cnum,$cdom); @@ -5656,9 +5656,7 @@ sub auto_validate_instcode { } } my $response=&unescape(&reply('autovalidateinstcode:'.$cdom.':'. - &escape($instcode).':'.&escape($owner).':'. - &escape($inststatuslist).':'.&escape($instseclist), - $homeserver)); + &escape($instcode).':'.&escape($owner),$homeserver)); return $response; } @@ -5876,10 +5874,38 @@ sub auto_possible_instcodes { sub auto_courserequest_checks { my ($dom) = @_; - my %validations; + my ($homeserver,%validations); + if ($dom =~ /^$match_domain$/) { + $homeserver = &domain($dom,'primary'); + } + unless ($homeserver eq 'no_host') { + my $response=&reply('autocrsreqchecks:'.$dom,$homeserver); + unless ($response =~ /(con_lost|error|no_such_host|refused)/) { + my @items = split(/&/,$response); + foreach my $item (@items) { + my ($key,$value) = split('=',$item); + $validations{&unescape($key)} = &thaw_unescape($value); + } + } + } return %validations; } +sub auto_courserequest_validation { + my ($dom,$owner,$crstype,$inststatuslist,$instcode,$instseclist) = @_; + my ($homeserver,$response); + if ($dom =~ /^$match_domain$/) { + $homeserver = &domain($dom,'primary'); + } + unless ($homeserver eq 'no_host') { + $response=&unescape(&reply('autocrsreqvalidation:'.$dom.':'.&escape($owner). + ':'.&escape($crstype).':'/&escape($inststatuslist). + ':'.&escape($instcode).':'.&escape($instseclist), + $homeserver)); + } + return $response; +} + sub auto_validate_class_sec { my ($cdom,$cnum,$owners,$inst_class) = @_; my $homeserver = &homeserver($cnum,$cdom);