version 1.505, 2004/05/28 17:33:41
|
version 1.506, 2004/06/08 22:09:44
|
Line 1615 sub courseidput {
|
Line 1615 sub courseidput {
|
} |
} |
|
|
sub courseiddump { |
sub courseiddump { |
my ($domfilter,$descfilter,$sincefilter)=@_; |
my ($domfilter,$descfilter,$sincefilter,$hostid)=@_; |
my %returnhash=(); |
my %returnhash=(); |
unless ($domfilter) { $domfilter=''; } |
unless ($domfilter) { $domfilter=''; } |
foreach my $tryserver (keys %libserv) { |
foreach my $tryserver (keys %libserv) { |
if ((!$domfilter) || ($hostdom{$tryserver} eq $domfilter)) { |
if (($hostid && $tryserver eq $hostid) || (!$hostid)) { |
foreach ( |
if ((!$domfilter) || ($hostdom{$tryserver} eq $domfilter)) { |
split(/\&/,&reply('courseiddump:'.$hostdom{$tryserver}.':'. |
foreach ( |
|
split(/\&/,&reply('courseiddump:'.$hostdom{$tryserver}.':'. |
$sincefilter.':'.&escape($descfilter), |
$sincefilter.':'.&escape($descfilter), |
$tryserver))) { |
$tryserver))) { |
my ($key,$value)=split(/\=/,$_); |
my ($key,$value)=split(/\=/,$_); |
if (($key) && ($value)) { |
if (($key) && ($value)) { |
$returnhash{&unescape($key)}=&unescape($value); |
$returnhash{&unescape($key)}=&unescape($value); |
|
} |
} |
} |
} |
} |
|
|
} |
} |
} |
} |
return %returnhash; |
return %returnhash; |
Line 3053 sub log_query {
|
Line 3054 sub log_query {
|
return get_query_reply($queryid); |
return get_query_reply($queryid); |
} |
} |
|
|
|
# ------- Request retrieval of institutional classlists from course homerserver |
|
|
|
sub fetch_enrollment_query { |
|
my ($homeserver,$dom,$affiliatesref,$replyref) = @_; |
|
my $host=$hostname{$homeserver}; |
|
my $cmd = ''; |
|
foreach (keys %{$affiliatesref}) { |
|
$cmd .= $_.'='.join(",",@{$$affiliatesref{$_}}).'%%'; |
|
} |
|
$cmd =~ s/%%$//; |
|
$cmd = &escape($cmd); |
|
my $query = 'fetchenrollment'; |
|
my $queryid=&reply("querysend:".$query.':'.$dom.':'.$ENV{'user.name'}.':'.$cmd,$homeserver); |
|
unless ($queryid=~/^\Q$host\E\_/) { return 'error: '.$queryid; } |
|
my $reply = &get_query_reply($queryid); |
|
unless ( ($reply =~/^timeout/) || ($reply =~/^error/) ) { |
|
unless ($homeserver eq $perlvar{'lonHostID'}) { |
|
my @responses = split/:/,$reply; |
|
my $pathname = $perlvar{'lonDaemons'}.'/tmp'; |
|
foreach (@responses) { |
|
my ($key,$value) = split/=/,$_; |
|
$$replyref{$key} = $value; |
|
if ($value > 0) { |
|
foreach (@{$$affiliatesref{$key}}) { |
|
my $filename = $dom.'_'.$key.'_'.$_.'_classlist.xml'; |
|
my $destname = $pathname.'/'.$filename; |
|
my $xml_classlist = &reply("autoretrieve:".$filename,$homeserver); |
|
unless ($xml_classlist =~ /^error/) { |
|
if ( open(FILE,">$destname") ) { |
|
print FILE &unescape($xml_classlist); |
|
close(FILE); |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
return 'ok'; |
|
} |
|
return 'error'; |
|
} |
|
|
sub get_query_reply { |
sub get_query_reply { |
my $queryid=shift; |
my $queryid=shift; |
my $replyfile=$perlvar{'lonDaemons'}.'/tmp/'.$queryid; |
my $replyfile=$perlvar{'lonDaemons'}.'/tmp/'.$queryid; |
Line 3097 sub userlog_query {
|
Line 3140 sub userlog_query {
|
return &log_query($uname,$udom,'userlog',%filters); |
return &log_query($uname,$udom,'userlog',%filters); |
} |
} |
|
|
|
#--------- Call auto-enrollment subs in localenroll.pm for homeserver for course |
|
|
|
sub auto_run { |
|
my $homeserver = shift; |
|
my $response = &reply('autorun',$homeserver); |
|
return $response; |
|
} |
|
|
|
sub auto_get_sections { |
|
my ($homeserver,$coursecode) = @_; |
|
my @secs = (); |
|
my $response=&unescape(&reply('autogetsections:'.$coursecode,$homeserver)); |
|
unless ($response eq 'refused') { |
|
@secs = split/:/,$response; |
|
} |
|
return @secs; |
|
} |
|
|
|
sub auto_new_course { |
|
my ($homeserver,$course_id,$owner) = @_; |
|
my $response=&unescape(&reply('autonewcourse:'.$course_id.':'.$owner,$homeserver)); |
|
return $response; |
|
} |
|
|
|
sub auto_validate_courseID { |
|
my ($homeserver,$course_id) = @_; |
|
my $response=&unescape(&reply('autovalidatecourse:'.$course_id,$homeserver)); |
|
return $response; |
|
} |
|
|
|
sub auto_create_password { |
|
my ($homeserver,$authparam) = @_; |
|
my $create_passwd = 0; |
|
my $authchk = ''; |
|
my $response=&unescape(&reply('autocreatepassword:'.$authparam,$homeserver)); |
|
if ($response eq 'refused') { |
|
$authchk = 'refused'; |
|
} else { |
|
($authparam,$create_passwd,$authchk) = split/:/,$response; |
|
} |
|
return ($authparam,$create_passwd,$authchk); |
|
} |
|
|
# ------------------------------------------------------------------ Plain Text |
# ------------------------------------------------------------------ Plain Text |
|
|
sub plaintext { |
sub plaintext { |