--- loncom/interface/londocs.pm 2002/10/16 18:48:12 1.28 +++ loncom/interface/londocs.pm 2002/10/16 19:15:55 1.29 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.28 2002/10/16 18:48:12 www Exp $ +# $Id: londocs.pm,v 1.29 2002/10/16 19:15:55 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -42,6 +42,7 @@ my $iconpath; my %hash; my $hashtied; +my %alreadyseen=(); # Mapread read maps into lonratedt::global arrays # @order and @resources, determines status @@ -240,6 +241,43 @@ sub untiehash { $hashtied=0; } +# --------------------------------------------------------------- check on this + +sub checkonthis { + my ($r,$url,$level,$title)=@_; + $alreadyseen{$url}=1; + $r->rflush(); + if ($url) { + $r->print('
'); + for (my $i=0;$i<=$level*5;$i++) { + $r->print(' '); + } + $r->print(''. + ($title?$title:$url).' '); + if ($url=~/^\/res\//) { + my $result=&Apache::lonnet::repcopy( + &Apache::lonnet::filelocation('',$url)); + if ($result==OK) { + $r->print('ok'); + $r->rflush(); + my $dependencies= + &Apache::lonnet::metadata($url,'dependencies'); + foreach (split(/\,/,$dependencies)) { + if (($_=~/^\/res\//) && (!$alreadyseen{$_})) { + &checkonthis($r,$_,$level+1); + } + } + } elsif ($result==HTTP_SERVICE_UNAVAILABLE) { + $r->print('connection down'); + } elsif ($result==HTTP_NOT_FOUND) { + $r->print('not found'); + } else { + $r->print('access denied'); + } + } + } +} + # ================================================================ Main Handler sub handler { my $r = shift; @@ -256,37 +294,10 @@ sub handler { $r->print('Verify Content'. &Apache::loncommon::bodytag('Verify Course Documents')); $hashtied=0; - my %alreadyseen=(); &tiehash(); foreach (keys %hash) { if (($_=~/^src\_(.+)$/) && (!$alreadyseen{$hash{$_}})) { - $alreadyseen{$hash{$_}}=1; - my $resid=$1; - $r->rflush(); - if ($hash{$_}) { - my $fn=$hash{$_}; - $r->print('
'. - ($hash{'title_'.$resid}?$hash{'title_'.$resid}:$fn).' '); - if ($fn=~/^\/res\//) { - my $result=&Apache::lonnet::repcopy( - &Apache::lonnet::filelocation('',$fn)); - if ($result==OK) { - $r->print('ok'); - $r->rflush(); - my $dependencies= - &Apache::lonnet::metadata($hash{$_},'dependencies'); - $r->print('Dependencies: '.$dependencies.'
'); - } elsif ($result==HTTP_SERVICE_UNAVAILABLE) { - $r->print( - 'connection down'); - } elsif ($result==HTTP_NOT_FOUND) { - $r->print('not found'); - } else { - $r->print( - 'access denied'); - } - } - } + &checkonthis($r,$hash{$_},0,$hash{'title_'.$1}); } } &untiehash();