version 1.1006, 2009/07/25 14:44:55
|
version 1.1007, 2009/07/25 15:25:18
|
Line 5507 sub auto_run {
|
Line 5507 sub auto_run {
|
|
|
sub auto_get_sections { |
sub auto_get_sections { |
my ($cnum,$cdom,$inst_coursecode) = @_; |
my ($cnum,$cdom,$inst_coursecode) = @_; |
my $homeserver = &homeserver($cnum,$cdom); |
my $homeserver; |
my @secs = (); |
if (($cdom =~ /^$match_domain$/) && ($cnum =~ /^$match_courseid$/)) { |
my $response=&unescape(&reply('autogetsections:'.$inst_coursecode.':'.$cdom,$homeserver)); |
$homeserver = &homeserver($cnum,$cdom); |
unless ($response eq 'refused') { |
} |
@secs = split(/:/,$response); |
if (!defined($homeserver)) { |
|
if ($cdom =~ /^$match_domain$/) { |
|
$homeserver = &domain($cdom,'primary'); |
|
} |
|
} |
|
my @secs; |
|
if (defined($homeserver)) { |
|
my $response=&unescape(&reply('autogetsections:'.$inst_coursecode.':'.$cdom,$homeserver)); |
|
unless ($response eq 'refused') { |
|
@secs = split(/:/,$response); |
|
} |
} |
} |
return @secs; |
return @secs; |
} |
} |
Line 5530 sub auto_validate_courseID {
|
Line 5540 sub auto_validate_courseID {
|
return $response; |
return $response; |
} |
} |
|
|
|
sub auto_validate_instcode { |
|
my ($cnum,$cdom,$instcode,$owner) = @_; |
|
my ($homeserver,$response); |
|
if (($cdom =~ /^$match_domain$/) && ($cnum =~ /^$match_courseid$/)) { |
|
$homeserver = &homeserver($cnum,$cdom); |
|
} |
|
if (!defined($homeserver)) { |
|
if ($cdom =~ /^$match_domain$/) { |
|
$homeserver = &domain($cdom,'primary'); |
|
} |
|
} |
|
my $response=&unescape(&reply('autovalidateinstcode:'.$cdom.':'. |
|
&escape($instcode).':'.&escape($owner),$homeserver)); |
|
return $response; |
|
} |
|
|
sub auto_create_password { |
sub auto_create_password { |
my ($cnum,$cdom,$authparam,$udom) = @_; |
my ($cnum,$cdom,$authparam,$udom) = @_; |
my ($homeserver,$response); |
my ($homeserver,$response); |
Line 5704 sub auto_instcode_defaults {
|
Line 5730 sub auto_instcode_defaults {
|
} |
} |
|
|
sub auto_possible_instcodes { |
sub auto_possible_instcodes { |
my ($domain,$codetitles,$cat_titles,$cat_orders) = @_; |
my ($domain,$codetitles,$cat_titles,$cat_orders,$code_order) = @_; |
|
unless ((ref($codetitles) eq 'ARRAY') && (ref($cat_titles) eq 'HASH') && |
|
(ref($cat_orders) eq 'HASH') && (ref($code_order) eq 'ARRAY')) { |
|
return; |
|
} |
my (@homeservers,$uhome); |
my (@homeservers,$uhome); |
if (defined(&domain($domain,'primary'))) { |
if (defined(&domain($domain,'primary'))) { |
$uhome=&domain($domain,'primary'); |
$uhome=&domain($domain,'primary'); |
Line 5721 sub auto_possible_instcodes {
|
Line 5751 sub auto_possible_instcodes {
|
foreach my $server (@homeservers) { |
foreach my $server (@homeservers) { |
$response=&reply('autopossibleinstcodes:'.$domain,$server); |
$response=&reply('autopossibleinstcodes:'.$domain,$server); |
next if ($response =~ /(con_lost|error|no_such_host|refused)/); |
next if ($response =~ /(con_lost|error|no_such_host|refused)/); |
my ($codetitlestr,$cat_title,$cat_order) = split(':',$response); |
my ($codetitlestr,$codeorderstr,$cat_title,$cat_order) = |
@{$codetitles} = map { &unescape($_); } (split('&',$codetitlestr)); |
split(':',$response); |
|
@{$codetitles} = map { &unescape($_); } (split('&',$codetitlestr)); |
|
@{$code_order} = map { &unescape($_); } (split('&',$codeorderstr)); |
foreach my $item (split('&',$cat_title)) { |
foreach my $item (split('&',$cat_title)) { |
my ($name,$value)=split('=',$item); |
my ($name,$value)=split('=',$item); |
$cat_titles->{&unescape($name)}=&thaw_unescape($value); |
$cat_titles->{&unescape($name)}=&thaw_unescape($value); |