Diff for /loncom/homework/grades.pm between versions 1.404 and 1.405

version 1.404, 2007/06/14 21:36:12 version 1.405, 2007/06/15 21:21:16
Line 6145  sub gather_clicker_ids { Line 6145  sub gather_clicker_ids {
         my $clickers =          my $clickers =
    (&Apache::lonnet::userenvironment($domain,$username,'clickers'))[1];     (&Apache::lonnet::userenvironment($domain,$username,'clickers'))[1];
         foreach my $id (split(/\,/,$clickers)) {          foreach my $id (split(/\,/,$clickers)) {
               $id=~s/^0+//;
             if (exists($clickerids{$id})) {              if (exists($clickerids{$id})) {
                $clickerids{$id}.=','.$username.':'.$domain;                 $clickerids{$id}.=','.$username.':'.$domain;
             } else {              } else {
Line 6165  sub gather_adv_clicker_ids { Line 6166  sub gather_adv_clicker_ids {
             my ($puname,$pudom)=split(/\:/,$person);              my ($puname,$pudom)=split(/\:/,$person);
             my $clickers =              my $clickers =
                (&Apache::lonnet::userenvironment($pudom,$puname,'clickers'))[1];                 (&Apache::lonnet::userenvironment($pudom,$puname,'clickers'))[1];
                foreach my $id (split(/\,/,$clickers)) {              foreach my $id (split(/\,/,$clickers)) {
                  $id=~s/^0+//;
                if (exists($clickerids{$id})) {                 if (exists($clickerids{$id})) {
                   $clickerids{$id}.=','.$puname.':'.$pudom;                    $clickerids{$id}.=','.$puname.':'.$pudom;
                } else {                 } else {
                   $clickerids{$id}=$puname.':'.$pudom;                    $clickerids{$id}=$puname.':'.$pudom;
                }                 }
            }              }
         }          }
     }      }
     return %clickerids;      return %clickerids;
Line 6198  sub process_clicker { Line 6200  sub process_clicker {
     my $pcorrect=&mt("Percentage points for correct solution");      my $pcorrect=&mt("Percentage points for correct solution");
     my $pincorrect=&mt("Percentage points for incorrect solution");      my $pincorrect=&mt("Percentage points for incorrect solution");
     my $selectform=&Apache::loncommon::select_form('iclicker','upfiletype',      my $selectform=&Apache::loncommon::select_form('iclicker','upfiletype',
                                   ('iclicker' => 'iClicker'));                                    ('iclicker' => 'i>clicker'));
   
     $result.=<<ENDUPFORM;      $result.=<<ENDUPFORM;
 <script type="text/javascript">  <script type="text/javascript">
Line 6281  sub process_clicker_file { Line 6283  sub process_clicker_file {
        my $correctid=$env{'form.specificid'};         my $correctid=$env{'form.specificid'};
        $correctid=~tr/a-z/A-Z/;         $correctid=~tr/a-z/A-Z/;
        $correctid=~s/\s//gs;         $correctid=~s/\s//gs;
          $correctid=~s/^0+//;
        $correctids{$correctid}='specified';         $correctids{$correctid}='specified';
     }      }
     if ($env{'form.gradingmechanism'} eq 'attendance') {      if ($env{'form.gradingmechanism'} eq 'attendance') {
Line 6304  sub process_clicker_file { Line 6307  sub process_clicker_file {
           return $result.&show_grading_menu_form($symb);            return $result.&show_grading_menu_form($symb);
        }         }
     }      }
       if (length($env{'form.upfile'}) < 2) {
           $result.="<span class=\"LC_error\">Error:</span> The file you attempted to upload, <tt>".&HTML::Entities::encode($env{'form.upfile.filename'},'<>&"')."</tt>, contained no information. Please check that you entered the correct filename.";
           return $result.&show_grading_menu_form($symb);
       }
       my %contents=();
       my $errormsg='';
       my $number=0;
       if ($env{'form.upfiletype'} eq 'iclicker') {
          ($errormsg,$number,%contents)=&iclicker_eval();
          $result.=$errormsg;
       }
     return $result.&show_grading_menu_form($symb);      return $result.&show_grading_menu_form($symb);
 }  }
   
   sub iclicker_eval {
       my $number=0;
       my $errormsg='';
       foreach my $line (split(/[\n\r]/,$env{'form.upfile'})) {
          chomp($line);
          foreach my $quoted ($line=~/\,\s*\"([^\"]*)\"\s*\,/g) {
             my $replace=$quoted;
             $replace=~s/\,//g;
             &Apache::lonnet::logthis($quoted.' - '.$replace.'<br />');
             $line=~s/\,\s*\"\Q$quoted\E\"\s*\,/,$replace,/gs;
          }
          my @entries=split(/\,/,$line);
          if ($entries[0] eq 'Question') {
             for (my $i=3;$i<$#entries;$i+=6) {
                 $number++;
                 $errormsg.='<br />'.$entries[$i];
             }
          }
       }
       return ($errormsg,$number);
   }
   
 sub handler {  sub handler {
     my $request=$_[0];      my $request=$_[0];
   

Removed from v.1.404  
changed lines
  Added in v.1.405


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>