--- loncom/interface/lonmeta.pm 2003/10/04 20:49:40 1.38 +++ loncom/interface/lonmeta.pm 2003/11/12 21:38:35 1.40 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Metadata display handler # -# $Id: lonmeta.pm,v 1.38 2003/10/04 20:49:40 www Exp $ +# $Id: lonmeta.pm,v 1.40 2003/11/12 21:38:35 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -55,7 +55,7 @@ sub dynamicmeta { my %sum=(); my %cnt=(); my %concat=(); - my %listitems=('count' => 'add', + my %listitems=( 'course' => 'add', 'goto' => 'add', 'comefrom' => 'add', @@ -70,10 +70,10 @@ sub dynamicmeta { 'comments' => 'app', 'usage' => 'cnt' ); - foreach (keys %evaldata) { - my ($item,$purl,$cat)=&Apache::lonnet::decode_symb($_); -### print "\n".$_.' - '.$item.'
'; - if (defined($cnt{$cat})) { $cnt{$cat}++; } else { $cnt{$cat}=1; } + while ($_=each(%evaldata)) { + my ($item,$purl,$cat)=split(/___/,$_); + ### Apache->request->print("\n".$_.' - '.$item.'
'); + if (defined($cnt{$cat})) { $cnt{$cat}++; } else { $cnt{$cat}=1; } unless ($listitems{$cat} eq 'app') { if (defined($sum{$cat})) { $sum{$cat}+=$evaldata{$_}; @@ -93,7 +93,7 @@ sub dynamicmeta { } } my %returnhash=(); - foreach (keys %cnt) { + while ($_=each(%cnt)) { if ($listitems{$_} eq 'avg') { $returnhash{$_}=int(($sum{$_}/$cnt{$_})*100.0+0.5)/100.0; } elsif ($listitems{$_} eq 'cnt') { @@ -102,11 +102,26 @@ sub dynamicmeta { $returnhash{$_}=$sum{$_}; } $returnhash{$_.'_list'}=$concat{$_}; -### print "\n
".$_.': '.$returnhash{$_}.'
'.$returnhash{$_.'_list'}; + ### Apache->request->print("\n
".$_.': '.$returnhash{$_}.'
'.$returnhash{$_.'_list'}); } + # + # Deal with 'count' seperately + $returnhash{'count'} = &access_count($url,$aauthor,$adomain); + return %returnhash; } +sub access_count { + my ($src,$author,$adomain) = @_; + my %countdata=&Apache::lonnet::dump('nohist_accesscount',$adomain, + $author,$src); + if (! exists($countdata{$src})) { + return 'Not Available'; + } else { + return $countdata{$src}; + } +} + # ------------------------------------- Try to make an alt tag if there is none sub alttag {