version 1.792, 2006/10/16 19:18:15
|
version 1.793, 2006/10/16 19:39:57
|
Line 4217 sub auto_photoupdate {
|
Line 4217 sub auto_photoupdate {
|
} |
} |
|
|
sub auto_instcode_format { |
sub auto_instcode_format { |
my ($caller,$codedom,$instcodes,$codes,$codetitles,$cat_titles,$cat_order) = @_; |
my ($caller,$codedom,$instcodes,$codes,$codetitles,$cat_titles, |
|
$cat_order) = @_; |
my $courses = ''; |
my $courses = ''; |
my @homeservers; |
my @homeservers; |
if ($caller eq 'global') { |
if ($caller eq 'global') { |
foreach my $tryserver (keys %libserv) { |
foreach my $tryserver (keys(%libserv)) { |
if ($hostdom{$tryserver} eq $codedom) { |
if ($hostdom{$tryserver} eq $codedom) { |
if (!grep/^\Q$tryserver\E$/,@homeservers) { |
if (!grep(/^\Q$tryserver\E$/,@homeservers)) { |
push(@homeservers,$tryserver); |
push(@homeservers,$tryserver); |
} |
} |
} |
} |
Line 4231 sub auto_instcode_format {
|
Line 4232 sub auto_instcode_format {
|
} else { |
} else { |
push(@homeservers,&homeserver($caller,$codedom)); |
push(@homeservers,&homeserver($caller,$codedom)); |
} |
} |
foreach (keys %{$instcodes}) { |
foreach my $code (keys(%{$instcodes})) { |
$courses .= &escape($_).'='.&escape($$instcodes{$_}).'&'; |
$courses .= &escape($code).'='.&escape($$instcodes{$code}).'&'; |
} |
} |
chop($courses); |
chop($courses); |
my $ok_response = 0; |
my $ok_response = 0; |
Line 4242 sub auto_instcode_format {
|
Line 4243 sub auto_instcode_format {
|
$response=&reply('autoinstcodeformat:'.$codedom.':'.$courses,$server); |
$response=&reply('autoinstcodeformat:'.$codedom.':'.$courses,$server); |
if ($response !~ /(con_lost|error|no_such_host|refused)/) { |
if ($response !~ /(con_lost|error|no_such_host|refused)/) { |
my ($codes_str,$codetitles_str,$cat_titles_str,$cat_order_str) = |
my ($codes_str,$codetitles_str,$cat_titles_str,$cat_order_str) = |
split/:/,$response; |
split/:/,$response; |
%{$codes} = (%{$codes},&str2hash($codes_str)); |
%{$codes} = (%{$codes},&str2hash($codes_str)); |
push(@{$codetitles},&str2array($codetitles_str)); |
push(@{$codetitles},&str2array($codetitles_str)); |
%{$cat_titles} = (%{$cat_titles},&str2hash($cat_titles_str)); |
%{$cat_titles} = (%{$cat_titles},&str2hash($cat_titles_str)); |
Line 4260 sub auto_instcode_format {
|
Line 4261 sub auto_instcode_format {
|
sub auto_instcode_defaults { |
sub auto_instcode_defaults { |
my ($domain,$returnhash,$code_order) = @_; |
my ($domain,$returnhash,$code_order) = @_; |
my @homeservers; |
my @homeservers; |
foreach my $tryserver (keys %libserv) { |
foreach my $tryserver (keys(%libserv)) { |
if ($hostdom{$tryserver} eq $domain) { |
if ($hostdom{$tryserver} eq $domain) { |
if (!grep/^\Q$tryserver\E$/,@homeservers) { |
if (!grep(/^\Q$tryserver\E$/,@homeservers)) { |
push(@homeservers,$tryserver); |
push(@homeservers,$tryserver); |
} |
} |
} |
} |
Line 4273 sub auto_instcode_defaults {
|
Line 4274 sub auto_instcode_defaults {
|
my $server = shift(@homeservers); |
my $server = shift(@homeservers); |
$response=&reply('autoinstcodedefaults:'.$domain,$server); |
$response=&reply('autoinstcodedefaults:'.$domain,$server); |
if ($response !~ /(con_lost|error|no_such_host|refused)/) { |
if ($response !~ /(con_lost|error|no_such_host|refused)/) { |
foreach (split(/\&/,$response)) { |
foreach my $pair (split(/\&/,$response)) { |
my ($name,$value)=split(/\=/,$_); |
my ($name,$value)=split(/\=/,$pair); |
if ($name eq 'code_order') { |
if ($name eq 'code_order') { |
@{$code_order} = split(/\&/,&unescape($value)); |
$code_order = [split(/\&/,&unescape($value))]; |
} else { |
} else { |
$$returnhash{&unescape($name)}=&unescape($value); |
$$returnhash{&unescape($name)}=&unescape($value); |
} |
} |