--- loncom/interface/lonindexer.pm 2004/06/12 01:08:11 1.109
+++ loncom/interface/lonindexer.pm 2004/06/17 01:44:34 1.112
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Directory Indexer
#
-# $Id: lonindexer.pm,v 1.109 2004/06/12 01:08:11 taceyjo1 Exp $
+# $Id: lonindexer.pm,v 1.112 2004/06/17 01:44:34 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -59,6 +59,7 @@ use GDBM_File;
my %hash; # global user-specific gdbm file
my %dirs; # keys are directories, values are the open/close status
my %language; # has the reference information present in language.tab
+my %dynhash; # hash of hashes for dynamic metadata
# ----- Values which are set by the handler subroutine and are accessible to
# ----- other methods.
@@ -407,7 +408,7 @@ $r->print(&Apache::loncommon::bodytag('B
# ---------------------------------- get state of file attributes to be showing
if ($ENV{'form.attrs'}) {
- for (my $i=0; $i<=10; $i++) {
+ for (my $i=0; $i<=11; $i++) {
delete $hash{'display_attrs_'.$i};
if ($ENV{'form.attr'.$i} == 1) {
$attrchk[$i] = 'checked';
@@ -415,7 +416,7 @@ $r->print(&Apache::loncommon::bodytag('B
}
}
} else {
- for (my $i=0; $i<=10; $i++) {
+ for (my $i=0; $i<=11; $i++) {
$attrchk[$i] = 'checked' if $hash{'display_attrs_'.$i} == 1;
}
}
@@ -434,6 +435,7 @@ $r->print(&Apache::loncommon::bodytag('B
'ln' => 'Language',
'sa' => 'Source Available',
'sr' => 'Show resource',
+ 'li' => 'Linked/Related Resources',
'av' => 'All versions',
'ud' => 'Update Display'
);
@@ -455,7 +457,7 @@ $r->print(&Apache::loncommon::bodytag('B
$lt{'ln'} |
$lt{'sr'} |
$lt{'av'} |
- |
+ $lt{'li'} |
@@ -516,6 +518,8 @@ END
if ($hash{'display_attrs_8'} == 1);
$r->print("".&mt("Source Available")." | \n")
if ($hash{'display_attrs_10'} == 1);
+ $r->print("".&mt("Linked/Related Resources")." | \n")
+ if ($hash{'display_attrs_11'} == 1);
$r->print('');
# ----------------- read in what directories have previously been set to "open"
@@ -670,10 +674,20 @@ sub get_list {
# is really a directory
@list = &Apache::lonnet::dirlist($uri);
$hash{'dirlist_files_'.$luri} = join("\n",@list);
+ &dynmetaread($uri);
}
return @list=&match_ext($r,@list);
}
+sub dynmetaread {
+ my $uri=shift;
+ if (($hash{'display_attrs_8'}==1) || ($hash{'display_attrs_11'}==1)) {
+ %dynhash=
+ (%dynhash,&Apache::lonmeta::get_dynamic_metadata_from_sql($uri));
+ &Apache::lonnet::logthis('Found: '.$uri." : ".join(',',keys %dynhash));
+ }
+}
+
sub initdebug {
return <
@@ -790,7 +804,7 @@ sub display_line {
if($filecom[15] ne '1') { return OK if (!&Apache::lonnet::allowed('bre',$pathprefix.$filecom[0])); }
# make absolute links appear on different background
- if ($absolute) { $fileclr='#aaaa88'; }
+ if ($absolute) { $fileclr='#ccdd99'; }
# display domain
if ($filecom[1] eq 'domain') {
@@ -1001,23 +1015,38 @@ sub display_line {
" \n");
}
if ($hash{'display_attrs_8'} == 1) {
- my (%stat) = &Apache::lonmeta::dynamicmeta($filelink);
- my $stat = (exists($stat{'course'}) ? $stat{'course'} : '').
- ((exists($stat{'course'}) || exists($stat{'count'})) ? '/' : '').
- (exists($stat{'count'}) ? $stat{'count'} : '');
- $r->print(' '.($stat eq '' ? ' ' : $stat).
- ' | '."\n");
+# statistics
+ $r->print("");
+ if ($dynhash{$filelink}->{'stdno'}) {
+ $r->print(&mt('Number of students: ').
+ $dynhash{$filelink}->{'stdno'}.' ');
+ }
+ $r->print(" | \n");
+
}
if ($hash{'display_attrs_10'} == 1) {
my $source = &Apache::lonnet::metadata($filelink,'sourceavail');
- if($source eq 'open') {
- my $sourcelink = &Apache::lonsource::make_link($filelink);
- $r->print(''."Yes "." | \n");
- } else { #A cuddled else. :P
- $r->print(''." | \n");
- }
+ if($source eq 'open') {
+ my $sourcelink = &Apache::lonsource::make_link($filelink);
+ $r->print(''."Yes "." | \n");
+ } else { #A cuddled else. :P
+ $r->print(" | \n");
+ }
+ }
+ if ($hash{'display_attrs_11'} == 1) {
+# links
+ $r->print("$filelink");
+ if ($dynhash{$filelink}->{'goto_list'}) {
+ $r->print(&mt('Number of students: ').
+ $dynhash{$filelink}->{'goto_list'}.' ');
+ }
+ if ($dynhash{$filelink}->{'comefrom_list'}) {
+ $r->print(&mt('Number of students: ').
+ $dynhash{$filelink}->{'comefrom_list'}.' ');
+ }
+ $r->print(" | \n");
}
$r->print("\n");
}
@@ -1098,6 +1127,9 @@ sub display_line {
if ($hash{'display_attrs_10'} == 1) {
$r->print(' | ');
}
+ if ($hash{'display_attrs_11'} == 1) {
+ $r->print(' | ');
+ }
$r->print('');
}