[LON-CAPA-cvs] cvs: loncom /interface lonmeta.pm

www lon-capa-cvs@mail.lon-capa.org
Mon, 14 Apr 2003 13:46:53 -0000


www		Mon Apr 14 09:46:53 2003 EDT

  Modified files:              
    /loncom/interface	lonmeta.pm 
  Log:
  Starts displaying new linking information
  
  
Index: loncom/interface/lonmeta.pm
diff -u loncom/interface/lonmeta.pm:1.29 loncom/interface/lonmeta.pm:1.30
--- loncom/interface/lonmeta.pm:1.29	Sat Apr 12 11:57:30 2003
+++ loncom/interface/lonmeta.pm	Mon Apr 14 09:46:53 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Metadata display handler
 #
-# $Id: lonmeta.pm,v 1.29 2003/04/12 15:57:30 www Exp $
+# $Id: lonmeta.pm,v 1.30 2003/04/14 13:46:53 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -51,8 +51,9 @@
     $regexp='___'.$regexp.'___';
     my %evaldata=&Apache::lonnet::dump('nohist_resevaldata',$adomain,
 				       $aauthor,$regexp);
-    my %sum;
-    my %cnt;
+    my %sum=();
+    my %cnt=();
+    my %concat=();
     my %listitems=('count'        => 'add',
                    'course'       => 'add',
                    'goto'         => 'add',
@@ -69,21 +70,24 @@
                    'usage'        => 'cnt'
                    );
     foreach (keys %evaldata) {
-	$_=~/___(\w+)$/;
-        if (defined($cnt{$1})) { $cnt{$1}++; } else { $cnt{$1}=1; }
-        unless ($listitems{$1} eq 'app') {
-            if (defined($sum{$1})) {
-               $sum{$1}+=$evaldata{$_};
+	my ($item,$purl,$cat)=split(/\_\_\_/,$_);
+###	print "\n".$_.' - '.$item.'<br />';
+        if (defined($cnt{$cat})) { $cnt{$cat}++; } else { $cnt{$cat}=1; }
+        unless ($listitems{$cat} eq 'app') {
+            if (defined($sum{$cat})) {
+               $sum{$cat}+=$evaldata{$_};
+               $concat{$cat}.=','.$item;
 	    } else {
-               $sum{$1}=$evaldata{$_};
+               $sum{$cat}=$evaldata{$_};
+               $concat{$cat}=$item;
 	    }
         } else {
-            if (defined($sum{$1})) {
+            if (defined($sum{$cat})) {
                if ($evaldata{$_}) {
-                  $sum{$1}.='<hr>'.$evaldata{$_};
+                  $sum{$cat}.='<hr>'.$evaldata{$_};
 	       }
  	    } else {
-	       $sum{$1}=''.$evaldata{$_};
+	       $sum{$cat}=''.$evaldata{$_};
 	    }
 	}
     }
@@ -96,6 +100,8 @@
        } else {
            $returnhash{$_}=$sum{$_};
        }
+       $returnhash{$_.'_list'}=$concat{$_};
+### print "\n<hr />".$_.': '.$returnhash{$_}.'<br />'.$returnhash{$_.'_list'};
     }
     return %returnhash;
 }
@@ -293,6 +299,8 @@
  'count'      => 'Network-wide number of accesses (hits)',
  'course'     => 'Network-wide number of courses using resource',
  'usage'      => 'Number of resources using or importing resource',
+ 'goto'       => 'Number of resources that follow this resource in maps',
+ 'comefrom'   => 'Number of resources that lead up to this resource in maps',
  'clear'      => 'Material presented in clear way',
  'depth'      => 'Material covered with sufficient depth',
  'helpful'    => 'Material is helpful',
@@ -304,7 +312,21 @@
    my %dynmeta=&dynamicmeta($uri);
    $r->print(
 '</table><h4>Access and Usage Statistics</h4><table cellspacing=2 border=0>');
-   foreach ('count','usage','course') {
+   foreach ('count') {
+       $r->print(
+'<tr><td bgcolor="#AAAAAA">'.$items{$_}.'</td><td bgcolor="#CCCCCC">'.
+$dynmeta{$_}."&nbsp;</td></tr>\n");
+   }
+   foreach my $cat ('usage','comefrom','goto') {
+       $r->print(
+'<tr><td bgcolor="#AAAAAA">'.$items{$cat}.'</td><td bgcolor="#CCCCCC">'.
+$dynmeta{$_}.'<br />'.join('<br /><font size="-1">',
+      map { '<a href="'.&Apache::lonnet::clutter($_).'">'.
+                        &Apache::lonnet::gettitle($_).' <tt>['.
+			$_.']</tt></a>' }
+      split(/\,/,$dynmeta{$cat.'_list'}))."</font></td></tr>\n");
+   }
+   foreach ('course') {
        $r->print(
 '<tr><td bgcolor="#AAAAAA">'.$items{$_}.'</td><td bgcolor="#CCCCCC">'.
 $dynmeta{$_}."&nbsp;</td></tr>\n");