--- loncom/interface/lonuserutils.pm	2008/09/12 00:55:37	1.66
+++ loncom/interface/lonuserutils.pm	2008/10/07 19:40:39	1.71
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Utility functions for managing LON-CAPA user accounts
 #
-# $Id: lonuserutils.pm,v 1.66 2008/09/12 00:55:37 raeburn Exp $
+# $Id: lonuserutils.pm,v 1.71 2008/10/07 19:40:39 droeschl Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1009,7 +1009,7 @@ sub date_setting_table {
     }
     my $perpetual = '<span class="LC_nobreak"><label><input type="checkbox" name="no_end_date"';
     if (defined($endtime) && $endtime == 0) {
-        $perpetual .= ' checked';
+        $perpetual .= ' checked="checked"';
     }
     $perpetual.= ' /> '.&mt('no ending date').'</label></span>';
     if ($mode eq 'create_enrolldates') {
@@ -1295,9 +1295,13 @@ sub print_userlist {
             $output_selector .= "\n".$option;
         }
         $output_selector .= '</select>';
-        $r->print('<label>'.&mt('Output Format: [_1]',$output_selector).'</label>'.('&nbsp;'x3));
-    }
-    $r->print('<label>'.&mt('User Status: [_1]',$status_select).'</label>'.('&nbsp;'x3)."\n");
+        $r->print('<label><span class="LC_nobreak">'
+                 .&mt('Output Format: [_1]',$output_selector)
+                 .'</span></label>'.('&nbsp;'x3));
+    }
+    $r->print('<label><span class="LC_nobreak">'
+             .&mt('User Status: [_1]',$status_select)
+             .'</span></label>'.('&nbsp;'x3)."\n");
     my $roleselected = '';
     if ($env{'form.showrole'} eq 'Any') {
        $roleselected = ' selected="selected" '; 
@@ -1490,7 +1494,9 @@ sub role_filter {
     my ($role_select);
     if ($context eq 'domain') {
         $role_select = &domain_roles_select();
-        $output = '<label>'.&mt('Role Type: [_1]',$role_select).'</label>';
+        $output = '<label><span class="LC_nobreak">'
+                 .&mt('Role Type: [_1]',$role_select)
+                 .'</span></label>';
     } else {
         $role_select = '<select name="showrole">'."\n".
                        '<option value="Any" '.$roleselected.'>'.
@@ -1510,7 +1516,9 @@ sub role_filter {
             $role_select .= '<option value="'.$role.'"'.$roleselected.'>'.$plrole.'</option>';
         }
         $role_select .= '</select>';
-        $output = '<label>'.&mt('Role: [_1]',$role_select).'</label>';
+        $output = '<label><span class="LC_nobreak">'
+                 .&mt('Role: [_1]',$role_select)
+                 .'</span></label>';
     }
     return $output;
 }
@@ -2046,6 +2054,7 @@ END
                        'aboutme'    => "Display a user's personal page",
                        'owin'       => "Open in a new window",
                        'modify'     => "Modify a user's information",
+                       'clicker'    => "Clicker-ID",
                       );
     if ($context eq 'domain' && $env{'form.roletype'} eq 'course') {
         $lt{'extent'} = &mt('Course(s): description, section(s), status');
@@ -2243,18 +2252,20 @@ END
                        time.'_'.rand(1000000000).'.csv';
         unless ($CSVfile = Apache::File->new('>/home/httpd'.$CSVfilename)) {
             $r->log_error("Couldn't open $CSVfilename for output $!");
-            $r->print(&mt('Problems occurred in writing the csv file. '
+            $r->print(&mt('Problems occurred in writing the CSV file. '
                          .'This error has been logged. '
                          .'Please alert your LON-CAPA administrator.'));
             $CSVfile = undef;
         }
         #
+        push @cols,'clicker';
         # Write headers and data to file
         print $CSVfile '"'.$results_description.'"'."\n"; 
         print $CSVfile '"'.join('","',map {
             &Apache::loncommon::csv_translate($lt{$_})
-            } (@cols)).'"'."\n";
+            } (@cols))."\"\n";
     } elsif ($mode eq 'excel') {
+        push @cols,'clicker';
         # Create the excel spreadsheet
         ($excel_workbook,$excel_filename,$format) =
             &Apache::loncommon::create_workbook($r);
@@ -2263,6 +2274,7 @@ END
         $excel_sheet->write($row++,0,$results_description,$format->{'h2'});
         #
         my @colnames = map {$lt{$_}} (@cols);
+
         $excel_sheet->write($row++,0,\@colnames,$format->{'bold'});
     }
 
@@ -2414,7 +2426,10 @@ END
         foreach my $item (@{$keylist}) {
             $in{$item} = $sdata->[$index{$item}];
         }
-        my $role = $in{'role'};
+        my $clickers = (&Apache::lonnet::userenvironment($in{'domain'},$in{'username'},'clickers'))[1];
+        if ($clickers!~/\w/) { $clickers='-'; }
+        $in{'clicker'} = $clickers; 
+	my $role = $in{'role'};
         $in{'role'}=&Apache::lonnet::plaintext($sdata->[$index{'role'}]); 
         if (! defined($in{'start'}) || $in{'start'} == 0) {
             $in{'start'} = &mt('none');
@@ -2534,7 +2549,7 @@ END
             foreach my $item (@cols) {
                 push @line,&Apache::loncommon::csv_translate($in{$item});
             }
-            print $CSVfile '"'.join('","',@line).'"'."\n";
+            print $CSVfile '"'.join('","',@line)."\"\n";
         } elsif ($mode eq 'excel') {
             my $col = 0;
             foreach my $item (@cols) {
@@ -2557,12 +2572,10 @@ END
             $r->print(&Apache::loncommon::end_data_table().'<br />');
     } elsif ($mode eq 'excel') {
         $excel_workbook->close();
-        $r->print('<p><a href="'.$excel_filename.'">'.
-                  &mt('Your Excel spreadsheet').'</a> '.&mt('is ready for download').'.</p>'."\n");
+	$r->print(&mt('[_1]Your Excel spreadsheet[_2] is ready for download.', '<p><a href="'.$excel_filename.'">','</a>')."</p>\n");
     } elsif ($mode eq 'csv') {
         close($CSVfile);
-        $r->print('<p><a href="'.$CSVfilename.'">'.
-                  &mt('Your CSV file').'</a> '.&mt('is ready for download').'.</p>'."\n");
+	$r->print(&mt('[_1]Your CSV file[_2] is ready for download.', '<p><a href="'.$CSVfilename.'">','</a>')."</p>\n");
         $r->rflush();
     }
     if ($mode eq 'autoenroll') {
@@ -3617,7 +3630,7 @@ sub upfile_drop_add {
                               '</b>');
                     next;
                 } else {
-                    if ($entries{$fields{'dom'}} 
+                    if ($entries{$fields{'domain'}} 
                         ne &LONCAPA::clean_domain($entries{$fields{'domain'}})) {
                         $r->print('<br />'. '<b>'.$entries{$fields{'domain'}}.
                                   '</b>: '.&mt('Unacceptable domain for user [_2] [_3] [_4] [_5]',$fname,$mname,$lname,$gen).'</b>');