version 1.302, 2002/11/22 18:07:14
|
version 1.308, 2002/12/05 23:27:46
|
Line 80 use vars
|
Line 80 use vars
|
qw(%perlvar %hostname %homecache %badServerCache %hostip %iphost %spareid %hostdom |
qw(%perlvar %hostname %homecache %badServerCache %hostip %iphost %spareid %hostdom |
%libserv %pr %prp %metacache %packagetab %titlecache |
%libserv %pr %prp %metacache %packagetab %titlecache |
%courselogs %accesshash $processmarker $dumpcount |
%courselogs %accesshash $processmarker $dumpcount |
%coursedombuf %coursehombuf %courseresdatacache %domaindescription); |
%coursedombuf %coursehombuf %courseresdatacache |
|
%studentresdatacache %domaindescription); |
use IO::Socket; |
use IO::Socket; |
use GDBM_File; |
use GDBM_File; |
use Apache::Constants qw(:common :http); |
use Apache::Constants qw(:common :http); |
Line 202 sub critical {
|
Line 203 sub critical {
|
" Critical message to unknown server ($server)</font>"); |
" Critical message to unknown server ($server)</font>"); |
return 'no_such_host'; |
return 'no_such_host'; |
} |
} |
|
sleep 2; |
my $answer=reply($cmd,$server); |
my $answer=reply($cmd,$server); |
if ($answer eq 'con_lost') { |
if ($answer eq 'con_lost') { |
my $pingreply=reply('ping',$server); |
my $pingreply=reply('ping',$server); |
Line 215 sub critical {
|
Line 217 sub critical {
|
$middlename=substr($middlename,0,16); |
$middlename=substr($middlename,0,16); |
$middlename=~s/\W//g; |
$middlename=~s/\W//g; |
my $dfilename= |
my $dfilename= |
"$perlvar{'lonSockDir'}/delayed/$now.$middlename.$server"; |
"$perlvar{'lonSockDir'}/delayed/$now.$dumpcount.$$.$middlename.$server"; |
|
$dumpcount++; |
{ |
{ |
my $dfh; |
my $dfh; |
if ($dfh=Apache::File->new(">$dfilename")) { |
if ($dfh=Apache::File->new(">$dfilename")) { |
Line 840 sub tokenwrapper {
|
Line 843 sub tokenwrapper {
|
if ($uri=~/^uploaded\/([^\/]+)\/([^\/]+)\/([^\/]+)(\?\.*)*$/) { |
if ($uri=~/^uploaded\/([^\/]+)\/([^\/]+)\/([^\/]+)(\?\.*)*$/) { |
&appenv('userfile.'.$1.'/'.$2.'/'.$3 => $ENV{'request.course.id'}); |
&appenv('userfile.'.$1.'/'.$2.'/'.$3 => $ENV{'request.course.id'}); |
return 'http://'.$hostname{ &homeserver($2,$1)}.'/'.$uri. |
return 'http://'.$hostname{ &homeserver($2,$1)}.'/'.$uri. |
(($uri=~/\?/)?'&':'?').'token='.$token; |
(($uri=~/\?/)?'&':'?').'token='.$token. |
|
'&tokenissued='.$perlvar{'lonHostID'}; |
} else { |
} else { |
return '/adm/notfound.html'; |
return '/adm/notfound.html'; |
} |
} |
Line 2717 sub courseresdata {
|
Line 2721 sub courseresdata {
|
if ($tmp !~ /^(con_lost|error|no_such_host)/i) { |
if ($tmp !~ /^(con_lost|error|no_such_host)/i) { |
$courseresdatacache{$hashid.'.time'}=time; |
$courseresdatacache{$hashid.'.time'}=time; |
$courseresdatacache{$hashid}=\%dumpreply; |
$courseresdatacache{$hashid}=\%dumpreply; |
|
} elsif ($tmp =~ /^(con_lost|no_such_host)/) { |
|
return $tmp; |
} |
} |
} |
} |
foreach my $item (@which) { |
foreach my $item (@which) { |
Line 2843 sub EXT {
|
Line 2849 sub EXT {
|
my $courselevelm=$courseid.'.'.$mapparm; |
my $courselevelm=$courseid.'.'.$mapparm; |
|
|
# ----------------------------------------------------------- first, check user |
# ----------------------------------------------------------- first, check user |
my %resourcedata=&get('resourcedata', |
#most student don't have any data set, check if there is some data |
[$courselevelr,$courselevelm,$courselevel], |
#every thirty minutes |
$udom,$uname); |
if (!exists($studentresdatacache{$uname.'_'.$udom}) |
if (($resourcedata{$courselevelr}!~/^error\:/) && |
|| $studentresdatacache{$uname.'_'.$udom} > (time+1800)) { |
($resourcedata{$courselevelr}!~/^con_lost/)) { |
my %resourcedata=&get('resourcedata', |
|
[$courselevelr,$courselevelm,$courselevel], |
if ($resourcedata{$courselevelr}) { |
$udom,$uname); |
return $resourcedata{$courselevelr}; } |
my ($tmp)=keys(%resourcedata); |
if ($resourcedata{$courselevelm}) { |
if (($tmp!~/^error\:/) && ($tmp!~/^con_lost/)) { |
return $resourcedata{$courselevelm}; } |
if ($resourcedata{$courselevelr}) { |
if ($resourcedata{$courselevel}) { |
return $resourcedata{$courselevelr}; } |
return $resourcedata{$courselevel}; } |
if ($resourcedata{$courselevelm}) { |
} else { |
return $resourcedata{$courselevelm}; } |
if ($resourcedata{$courselevelr}!~/No such file/) { |
if ($resourcedata{$courselevel}) { |
&logthis("<font color=blue>WARNING:". |
return $resourcedata{$courselevel}; } |
" Trying to get resource data for ". |
} else { |
$uname." at ".$udom.": ". |
if ($tmp!~/No such file/) { |
$resourcedata{$courselevelr}."</font>"); |
&logthis("<font color=blue>WARNING:". |
|
" Trying to get resource data for ". |
|
$uname." at ".$udom.": ". |
|
$tmp."</font>"); |
|
} elsif ($tmp=~/error:No such file/) { |
|
$studentresdatacache{$uname.'_'.$udom}=time; |
|
} elsif ($tmp =~ /^(con_lost|no_such_host)/) { |
|
return $tmp; |
|
} |
} |
} |
} |
} |
|
|
Line 3473 BEGIN {
|
Line 3487 BEGIN {
|
my $config=Apache::File->new("$perlvar{'lonTabDir'}/hosts.tab"); |
my $config=Apache::File->new("$perlvar{'lonTabDir'}/hosts.tab"); |
|
|
while (my $configline=<$config>) { |
while (my $configline=<$config>) { |
|
next if ($configline =~ /^(\#|\s*$)/); |
chomp($configline); |
chomp($configline); |
my ($id,$domain,$role,$name,$ip,$domdescr)=split(/:/,$configline); |
my ($id,$domain,$role,$name,$ip,$domdescr)=split(/:/,$configline); |
if ($id && $domain && $role && $name && $ip) { |
if ($id && $domain && $role && $name && $ip) { |