--- 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('