--- loncom/interface/lonmeta.pm	2008/12/12 10:01:25	1.219
+++ loncom/interface/lonmeta.pm	2009/01/15 18:31:11	1.224
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Metadata display handler
 #
-# $Id: lonmeta.pm,v 1.219 2008/12/12 10:01:25 bisitz Exp $
+# $Id: lonmeta.pm,v 1.224 2009/01/15 18:31:11 bisitz Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -164,7 +164,7 @@ sub evalgraph {
     my $val=int($value*10.+0.5)-10;
     my $output='<table border="0" cellpadding="0" cellspacing="0"><tr>';
     if ($val>=20) {
-	$output.='<td width="20" bgcolor="#555555">&nbsp;&nbsp;</td>';
+	$output.='<td width="20" bgcolor="#555555">'.('&nbsp;' x2).'</td>';
     } else {
         $output.='<td width="'.($val).'" bgcolor="#555555">&nbsp;</td>'.
                  '<td width="'.(20-$val).'" bgcolor="#FF3333">&nbsp;</td>';
@@ -174,7 +174,7 @@ sub evalgraph {
 	$output.='<td width="'.($val-20).'" bgcolor="#33FF33">&nbsp;</td>'.
                  '<td width="'.(40-$val).'" bgcolor="#555555">&nbsp;</td>';
     } else {
-        $output.='<td width="20" bgcolor="#555555">&nbsp;&nbsp;</td>';
+        $output.='<td width="20" bgcolor="#555555">'.('&nbsp;' x2).'</td>';
     }
     $output.='<td> ('.sprintf("%5.2f",$value).') </td></tr></table>';
     return $output;
@@ -338,7 +338,7 @@ sub pre_select_course {
         &Apache::lonpublisher::metaeval($result);
     }
     $r->print('<hr /><form method="post" action="" >');
-    $r->print('<p>'.&mt('If you would like to associate this resource ([_1]) with a current or previous course, please select one from the list below, otherwise select, \'None\'','<tt>'.$res_uri.'</tt>').'</p>');
+    $r->print('<p>'.&mt('If you would like to associate this resource ([_1]) with a current or previous course, please select one from the list below, otherwise select, "None".','<tt>'.$res_uri.'</tt>').'</p>');
     $output = &select_course();
     $r->print($output.'<br /><input type="submit" name="store" value="'.
                   &mt('Associate Resource With Selected Course').'" />');
@@ -555,12 +555,13 @@ sub selectbox {
         $functionref=\&direct;
     }
     my $selout='<select name="'.$name.'">';
-    foreach (@idlist) {
-        $selout.='<option value=\''.$_.'\'';
-        if ($_ eq $value) {
-	    $selout.=' selected>'.&{$functionref}($_).'</option>';
-	}
-        else {$selout.='>'.&{$functionref}($_).'</option>';}
+    foreach my $id (@idlist) {
+        $selout.='<option value="'.$id.'"';
+        if ($id eq $value) {
+	    $selout.=' selected>'.&{$functionref}($id).'</option>';
+        } else {
+            $selout.='>'.&{$functionref}($id).'</option>';
+        }
     }
     return $selout.'</select>';
 }
@@ -832,11 +833,11 @@ sub report_bombs {
 ENDCLEAR
         my %brokenurls = 
             &Apache::lonmsg::all_url_author_res_msg($author,$domain);
-        foreach (sort(keys(%brokenurls))) {
-            if ($_=~/^\Q$uri\E/) {
+        foreach my $key (sort(keys(%brokenurls))) {
+            if ($key=~/^\Q$uri\E/) {
                 $r->print
-                    ('<a href="'.&Apache::lonnet::clutter($_).'">'.$_.'</a>'.
-                     &Apache::lonmsg::retrieve_author_res_msg($_).
+                    ('<a href="'.&Apache::lonnet::clutter($key).'">'.$key.'</a>'.
+                     &Apache::lonmsg::retrieve_author_res_msg($key).
                      '<hr />');
             }
         }
@@ -859,8 +860,8 @@ sub present_uneditable_metadata {
     my $uploaded = ($uri =~ m|/uploaded/|);
     my %content=();
     # Read file
-    foreach (split(/\,/,&Apache::lonnet::metadata($uri,'keys'))) {
-        $content{$_}=&Apache::lonnet::metadata($uri,$_);
+    foreach my $key (split(/\,/,&Apache::lonnet::metadata($uri,'keys'))) {
+        $content{$key}=&Apache::lonnet::metadata($uri,$key);
     }
     # Render Output
     # displayed url
@@ -926,10 +927,14 @@ sub present_uneditable_metadata {
 		   'obsolete', 
 		   'obsoletereplacement');
     }
+    my $rownum = 0;
     foreach my $field (@fields) {
+        my $lastrow = '';
+        $rownum ++;
+        $lastrow = 1 if ($rownum == @fields); 
         $table.=&Apache::lonhtmlcommon::row_title($lt{$field})
                .&prettyprint($field,$content{$field})
-               .&Apache::lonhtmlcommon::row_closure();
+               .&Apache::lonhtmlcommon::row_closure($lastrow);
         delete($content{$field});
     }
     #
@@ -970,14 +975,17 @@ sub print_dynamic_metadata {
         exists($dynmeta{'course'})) {
         $r->print('<h4>'.&mt('Access and Usage Statistics').'</h4>'.
                   &Apache::lonhtmlcommon::start_pick_box());
-        foreach ('count',
-                 'sequsage','sequsage_list',
-                 'comefrom','comefrom_list',
-                 'goto','goto_list',
-                 'course','course_list') {
-            $r->print(&Apache::lonhtmlcommon::row_title($lt{$_})
-                     .&prettyprint($_,$dynmeta{$_})
-                     .&Apache::lonhtmlcommon::row_closure()
+        my @counts = ('count','sequsage','sequsage_list',
+                      'comefrom','comefrom_list','goto',
+                      'goto_list','course','course_list');
+        my $rownum = 0;
+        foreach my $item (@counts) {
+            my $lastrow = '';
+            $rownum ++;
+            $lastrow = 1 if ($rownum == @counts);
+            $r->print(&Apache::lonhtmlcommon::row_title($lt{$item})
+                     .&prettyprint($item,$dynmeta{$item})
+                     .&Apache::lonhtmlcommon::row_closure($lastrow)
             );
         }
         $r->print(&Apache::lonhtmlcommon::end_pick_box());
@@ -1000,10 +1008,15 @@ sub print_dynamic_metadata {
                      .&prettyprint('stdno',$dynmeta{'stdno'})
                      .&Apache::lonhtmlcommon::row_closure()
             );
-            foreach ('avetries','difficulty','disc') {
-                $r->print(&Apache::lonhtmlcommon::row_title($lt{$_})
-                         .&prettyprint($_,sprintf('%5.2f',$dynmeta{$_}))
-                         .&Apache::lonhtmlcommon::row_closure()
+            my @stats = ('avetries','difficulty','disc');
+            my $rownum = 0;
+            foreach my $item (@stats) {
+                my $lastrow = '';
+                $rownum ++;
+                $lastrow = 1 if ($rownum == @stats);
+                $r->print(&Apache::lonhtmlcommon::row_title($lt{$item})
+                         .&prettyprint($item,sprintf('%5.2f',$dynmeta{$item}))
+                         .&Apache::lonhtmlcommon::row_closure($lastrow)
                 );
             }
             $r->print(&Apache::lonhtmlcommon::end_pick_box());
@@ -1041,10 +1054,10 @@ sub print_dynamic_metadata {
                     '<td align="right">'.$data->{'sections'}.'</td>';
                 $table .=
                     '<td align="right">'.$data->{'stdno'}.'</td>';
-                foreach ('avetries','difficulty','disc') {
+                foreach my $item ('avetries','difficulty','disc') {
                     $table .= '<td align="right">';
-                    if (exists($data->{$_})) {
-                        $table .= sprintf('%.2f',$data->{$_}).'&nbsp;';
+                    if (exists($data->{$item})) {
+                        $table .= sprintf('%.2f',$data->{$item}).'&nbsp;';
                     } else {
                         $table .= '';
                     }
@@ -1076,10 +1089,15 @@ sub print_dynamic_metadata {
         exists($dynmeta{'technical'})){ 
         $r->print('<h4>'.&mt('Evaluation Data').'</h4>'.
                   &Apache::lonhtmlcommon::start_pick_box());
-        foreach ('clear','depth','helpful','correct','technical') {
-            $r->print(&Apache::lonhtmlcommon::row_title($lt{$_})
-                     .&prettyprint($_,$dynmeta{$_})
-                     .&Apache::lonhtmlcommon::row_closure()
+        my @criteria = ('clear','depth','helpful','correct','technical');
+        my $rownum = 0;
+        foreach my $item (@criteria) {
+            my $lastrow = '';
+            $rownum ++;
+            $lastrow = 1 if ($rownum == @criteria);
+            $r->print(&Apache::lonhtmlcommon::row_title($lt{$item})
+                     .&prettyprint($item,$dynmeta{$item})
+                     .&Apache::lonhtmlcommon::row_closure($lastrow)
             );
         }
         $r->print(&Apache::lonhtmlcommon::end_pick_box());
@@ -1112,21 +1130,31 @@ sub print_dynamic_metadata {
               &mt('Additional Metadata (non-standard, parameters, exports)').
               '</h3>');
     $r->print(&Apache::lonhtmlcommon::start_pick_box());
-    foreach (sort(keys(%content))) {
-        my $name=$_;
-        if ($name!~/\.display$/) {
+    my @names;
+    foreach my $key (sort(keys(%content))) {
+        if ($key!~/\.display$/) {
+            push(@names,$key);
+        }
+    }
+    if (@names > 0) {
+        my $rownum = 0;
+        foreach my $name (@names) {
+            my $lastrow = '';
+            $rownum ++;
+            $lastrow = 1 if ($rownum == @names);
+
             my $display=&Apache::lonnet::metadata($uri,
                                                   $name.'.display');
             if (! $display) { 
                 $display=$name;
             };
             my $otherinfo='';
-            foreach ('name','part','type','default') {
+            foreach my $item ('name','part','type','default') {
                 if (defined(&Apache::lonnet::metadata($uri,
-                                                      $name.'.'.$_))) {
-                    $otherinfo.=' '.$_.'='.
+                                                      $name.'.'.$item))) {
+                    $otherinfo.=' '.$item.'='.
                         &Apache::lonnet::metadata($uri,
-                                                  $name.'.'.$_).'; ';
+                                                  $name.'.'.$item).'; ';
                 }
             }
             $r->print(&Apache::lonhtmlcommon::row_title($display)
@@ -1135,7 +1163,7 @@ sub print_dynamic_metadata {
             if ($otherinfo) {
                 $r->print(' ('.$otherinfo.')');
             }
-            $r->print(&Apache::lonhtmlcommon::row_closure());
+            $r->print(&Apache::lonhtmlcommon::row_closure($lastrow));
         }
     }
     $r->print(&Apache::lonhtmlcommon::end_pick_box());