Diff for /loncom/homework/bridgetask.pm between versions 1.184.2.4 and 1.185

version 1.184.2.4, 2006/11/06 17:50:17 version 1.185, 2006/10/17 15:11:11
Line 43  use LONCAPA; Line 43  use LONCAPA;
     
   
 BEGIN {  BEGIN {
     &Apache::lonxml::register('Apache::bridgetask',('Task','IntroParagraph','Dimension','Question','QuestionText','Setup','Instance','InstanceText','Criteria','GraderNote','ClosingParagraph'));      &Apache::lonxml::register('Apache::bridgetask',('Task','IntroParagraph','Dimension','Question','QuestionText','Setup','Instance','InstanceText','Criteria','ClosingParagraph'));
 }  }
   
 my %dimension;  my %dimension;
Line 105  sub check_in { Line 105  sub check_in {
 sub check_in_sequence {  sub check_in_sequence {
     my ($user,$domain,$slot_name) = @_;      my ($user,$domain,$slot_name) = @_;
     my $navmap = Apache::lonnavmaps::navmap->new();      my $navmap = Apache::lonnavmaps::navmap->new();
     my ($symb) = &Apache::lonxml::whichuser();      my ($symb) = &Apache::lonnet::whichuser();
     my ($map)  = &Apache::lonnet::decode_symb($symb);      my ($map)  = &Apache::lonnet::decode_symb($symb);
     my @resources =       my @resources = 
  $navmap->retrieveResources($map, sub { $_[0]->is_problem() },0,0);   $navmap->retrieveResources($map, sub { $_[0]->is_problem() },0,0);
Line 225  sub add_previous_version_button { Line 225  sub add_previous_version_button {
 }  }
   
 sub add_grading_button {  sub add_grading_button {
     my (undef,$cid)=&Apache::lonxml::whichuser();      my (undef,$cid)=&Apache::lonnet::whichuser();
     my $cnum=$env{'course.'.$cid.'.num'};      my $cnum=$env{'course.'.$cid.'.num'};
     my $cdom=$env{'course.'.$cid.'.domain'};      my $cdom=$env{'course.'.$cid.'.domain'};
     my %sections = &Apache::loncommon::get_sections($cdom,$cnum);      my %sections = &Apache::loncommon::get_sections($cdom,$cnum);
Line 326  sub style { Line 326  sub style {
     my ($target) = @_;      my ($target) = @_;
     if ($target eq 'web'      if ($target eq 'web'
  || $target eq 'webgrade') {   || $target eq 'webgrade') {
  my $style = (<<STYLE);   return (<<STYLE);
 <link rel="stylesheet" type="text/css" href="/res/adm/includes/task.css" />  <link rel="stylesheet" type="text/css" href="/res/adm/includes/task.css" />
 STYLE  STYLE
         if ($env{'browser.type'} eq 'explorer'  
     && $env{'browser.os'} eq 'win' ) {  
     if ($env{'browser.version'} < 7) {  
  $style .= (<<STYLE);  
 <link rel="stylesheet" type="text/css" href="/res/adm/includes/task_ie.css" />  
 STYLE  
             } else {  
  $style .= (<<STYLE);  
 <link rel="stylesheet" type="text/css" href="/res/adm/includes/task_ie7.css" />  
 STYLE  
     }  
  }  
  return $style;  
     }      }
     return;      return;
 }  }
Line 401  sub internal_location { Line 388  sub internal_location {
 }  }
   
 sub submission_time_stamp {  sub submission_time_stamp {
     my ($symb,$courseid,$udom,$uname)=&Apache::lonxml::whichuser();      my ($symb,$courseid,$udom,$uname)=&Apache::lonnet::whichuser();
     my $submissiontime;      my $submissiontime;
     my $version=$Apache::lonhomework::history{'resource.0.version'};      my $version=$Apache::lonhomework::history{'resource.0.version'};
     for (my $v=$Apache::lonhomework::history{'version'};$v>0;$v--) {      for (my $v=$Apache::lonhomework::history{'version'};$v>0;$v--) {
Line 439  sub submission_time_stamp { Line 426  sub submission_time_stamp {
 sub file_list {  sub file_list {
     my ($files,$uname,$udom) = @_;      my ($files,$uname,$udom) = @_;
     if (!defined($uname) || !defined($udom)) {      if (!defined($uname) || !defined($udom)) {
  (undef,undef,$udom,$uname) = &Apache::lonxml::whichuser();   (undef,undef,$udom,$uname) = &Apache::lonnet::whichuser();
     }      }
     my $file_url = '/uploaded/'.$udom.'/'.$uname.'/portfolio/';      my $file_url = '/uploaded/'.$udom.'/'.$uname.'/portfolio/';
   
Line 500  sub done_screen { Line 487  sub done_screen {
     my ($version) = @_;      my ($version) = @_;
     my $title=&Apache::lonnet::gettitle();      my $title=&Apache::lonnet::gettitle();
     my @files=split(',',$Apache::lonhomework::history{'resource.'.$version.'.0.bridgetask.portfiles'});      my @files=split(',',$Apache::lonhomework::history{'resource.'.$version.'.0.bridgetask.portfiles'});
     my (undef,undef,$domain,$user)= &Apache::lonxml::whichuser();      my (undef,undef,$domain,$user)= &Apache::lonnet::whichuser();
     my $files = '<ul>';      my $files = '<ul>';
     my $msg;      my $msg;
     foreach my $file (@files) {      foreach my $file (@files) {
Line 844  sub get_key_todo { Line 831  sub get_key_todo {
     if (defined($env{'form.regradeaspecificsubmission'}) &&      if (defined($env{'form.regradeaspecificsubmission'}) &&
  defined($env{'form.gradinguser'})               &&   defined($env{'form.gradinguser'})               &&
  defined($env{'form.gradingdomain'})               ) {   defined($env{'form.gradingdomain'})               ) {
  my ($symb,$cid)=&Apache::lonxml::whichuser();   my ($symb,$cid)=&Apache::lonnet::whichuser();
  my $cnum  = $env{'course.'.$cid.'.num'};   my $cnum  = $env{'course.'.$cid.'.num'};
  my $cdom  = $env{'course.'.$cid.'.domain'};   my $cdom  = $env{'course.'.$cid.'.domain'};
  my $uname = $env{'form.gradinguser'};   my $uname = $env{'form.gradinguser'};
Line 1155  DONEBUTTON Line 1142  DONEBUTTON
  $env{'user.name'}.':'.$env{'user.domain'};   $env{'user.name'}.':'.$env{'user.domain'};
     if ($review) {      if ($review) {
  $Apache::lonhomework::results{"resource.$version.0.status"}='review';   $Apache::lonhomework::results{"resource.$version.0.status"}='review';
    if ($env{'form.queue'} eq 'reviewqueue') {
       &check_queue_unlock($env{'form.queue'});
       &Apache::lonxml::debug(" still needs review not changing status.");
    } else {
       if ($env{'form.queue'} ne 'none') {
    &move_between_queues($env{'form.queue'},'reviewqueue');
       } else {
    &add_to_queue('reviewqueue',\%queue_data);
       }
    }
     } elsif ($ungraded) {      } elsif ($ungraded) {
  $Apache::lonhomework::results{"resource.$version.0.status"}='ungraded';   $Apache::lonhomework::results{"resource.$version.0.status"}='ungraded';
    if ($env{'form.queue'} eq 'reviewqueue') {
       &Apache::lonxml::debug("moving back.");
       &move_between_queues($env{'form.queue'},
    'gradingqueue');
    } elsif ($env{'form.queue'} eq 'none' ) {
       &add_to_queue('gradingqueue',\%queue_data);
    } else {
       &check_queue_unlock($env{'form.queue'});
    }
     } elsif ($mandatory_failed) {      } elsif ($mandatory_failed) {
  $Apache::lonhomework::results{"resource.$version.0.status"}='fail';   $Apache::lonhomework::results{"resource.$version.0.status"}='fail';
  $Apache::lonhomework::results{"resource.$version.0.solved"}='incorrect_by_override';   $Apache::lonhomework::results{"resource.$version.0.solved"}='incorrect_by_override';
  $Apache::lonhomework::results{"resource.$version.0.award"}='INCORRECT';   $Apache::lonhomework::results{"resource.$version.0.award"}='INCORRECT';
  $Apache::lonhomework::results{"resource.$version.0.awarded"}='0';   $Apache::lonhomework::results{"resource.$version.0.awarded"}='0';
  my ($symb,$courseid,$udom,$uname)=&Apache::lonxml::whichuser();   &remove_from_queue($env{'form.queue'}); 
   
    my ($symb,$courseid,$udom,$uname)=&Apache::lonnet::whichuser();
   
  if ($env{'form.regrade'} ne 'yes') {   if ($env{'form.regrade'} ne 'yes') {
     $Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}=      $Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}=
Line 1178  DONEBUTTON Line 1186  DONEBUTTON
  $Apache::lonhomework::results{"resource.$version.0.solved"}='correct_by_override';   $Apache::lonhomework::results{"resource.$version.0.solved"}='correct_by_override';
  $Apache::lonhomework::results{"resource.$version.0.award"}='EXACT_ANS';   $Apache::lonhomework::results{"resource.$version.0.award"}='EXACT_ANS';
  $Apache::lonhomework::results{"resource.$version.0.awarded"}='1';   $Apache::lonhomework::results{"resource.$version.0.awarded"}='1';
  my ($symb,$courseid,$udom,$uname)=&Apache::lonxml::whichuser();   &remove_from_queue($env{'form.queue'});
   
    my ($symb,$courseid,$udom,$uname)=&Apache::lonnet::whichuser();
  if ($env{'form.regrade'} ne 'yes') {   if ($env{'form.regrade'} ne 'yes') {
     $Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}=      $Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}=
  $Apache::lonhomework::history{"resource.$version.0.bridgetask.portfiles"};   $Apache::lonhomework::history{"resource.$version.0.bridgetask.portfiles"};
Line 1201  DONEBUTTON Line 1211  DONEBUTTON
     }      }
     &minimize_storage();      &minimize_storage();
     &Apache::structuretags::finalize_storage();      &Apache::structuretags::finalize_storage();
       
     # data stored, now handle queue  
     if ($review) {  
  if ($env{'form.queue'} eq 'reviewqueue') {  
     &check_queue_unlock($env{'form.queue'});  
     &Apache::lonxml::debug(" still needs review not changing status.");  
  } else {  
     if ($env{'form.queue'} ne 'none') {  
  &move_between_queues($env{'form.queue'},'reviewqueue');  
     } else {  
  &add_to_queue('reviewqueue',\%queue_data);  
     }  
  }  
     } elsif ($ungraded) {  
  if ($env{'form.queue'} eq 'reviewqueue') {  
     &Apache::lonxml::debug("moving back.");  
     &move_between_queues($env{'form.queue'},  
  'gradingqueue');  
  } elsif ($env{'form.queue'} eq 'none' ) {  
     &add_to_queue('gradingqueue',\%queue_data);  
  } else {  
     &check_queue_unlock($env{'form.queue'});  
  }  
     } elsif ($mandatory_failed) {  
  &remove_from_queue($env{'form.queue'});   
     } else {  
  &remove_from_queue($env{'form.queue'});  
     }  
  }   }
  if (exists($Apache::lonhomework::results{'INTERNAL_store'})) {   if (exists($Apache::lonhomework::results{'INTERNAL_store'})) {
     # instance generation occured and hasn't yet been stored      # instance generation occured and hasn't yet been stored
Line 1286  sub move_between_queues { Line 1268  sub move_between_queues {
 sub check_queue_unlock {  sub check_queue_unlock {
     my ($queue,$key,$allow_not_me)=@_;      my ($queue,$key,$allow_not_me)=@_;
     if ($queue eq 'none') { return 'ok'; }      if ($queue eq 'none') { return 'ok'; }
     my ($symb,$cid,$udom,$uname)=&Apache::lonxml::whichuser();      my ($symb,$cid,$udom,$uname)=&Apache::lonnet::whichuser();
     if (!defined($key)) {      if (!defined($key)) {
  $key="$symb\0queue\0$uname:$udom";   $key="$symb\0queue\0$uname:$udom";
     }      }
Line 1309  sub in_queue { Line 1291  sub in_queue {
     if ($queue eq 'none') { return 0; }      if ($queue eq 'none') { return 0; }
     if (!defined($symb) || !defined($cdom) || !defined($cnum)      if (!defined($symb) || !defined($cdom) || !defined($cnum)
  || !defined($udom) || !defined($uname)) {   || !defined($udom) || !defined($uname)) {
  ($symb,my $cid,$udom,$uname)=&Apache::lonxml::whichuser();   ($symb,my $cid,$udom,$uname)=&Apache::lonnet::whichuser();
  $cnum=$env{'course.'.$cid.'.num'};   $cnum=$env{'course.'.$cid.'.num'};
  $cdom=$env{'course.'.$cid.'.domain'};   $cdom=$env{'course.'.$cid.'.domain'};
     }      }
Line 1328  sub remove_from_queue { Line 1310  sub remove_from_queue {
     if ($queue eq 'none') { return 'ok'; }      if ($queue eq 'none') { return 'ok'; }
     if (!defined($symb) || !defined($cdom) || !defined($cnum)      if (!defined($symb) || !defined($cdom) || !defined($cnum)
  || !defined($udom) || !defined($uname)) {   || !defined($udom) || !defined($uname)) {
  ($symb,my $cid,$udom,$uname)=&Apache::lonxml::whichuser();   ($symb,my $cid,$udom,$uname)=&Apache::lonnet::whichuser();
  $cnum=$env{'course.'.$cid.'.num'};   $cnum=$env{'course.'.$cid.'.num'};
  $cdom=$env{'course.'.$cid.'.domain'};   $cdom=$env{'course.'.$cid.'.domain'};
     }      }
Line 1353  sub setup_env_for_other_user { Line 1335  sub setup_env_for_other_user {
   
 sub get_queue_data {  sub get_queue_data {
     my ($queue,$udom,$uname)=@_;      my ($queue,$udom,$uname)=@_;
     my ($symb,$cid,$other_udom,$other_uname)=&Apache::lonxml::whichuser();      my ($symb,$cid,$other_udom,$other_uname)=&Apache::lonnet::whichuser();
     if (!$uname || !$udom) {      if (!$uname || !$udom) {
  $uname=$other_uname;   $uname=$other_uname;
  $udom =$other_udom;   $udom =$other_udom;
Line 1399  sub check_queue_for_key { Line 1381  sub check_queue_for_key {
 sub add_to_queue {  sub add_to_queue {
     my ($queue,$user_data)=@_;      my ($queue,$user_data)=@_;
     if ($queue eq 'none') { return 'ok'; }      if ($queue eq 'none') { return 'ok'; }
     my ($symb,$cid,$udom,$uname)=&Apache::lonxml::whichuser();      my ($symb,$cid,$udom,$uname)=&Apache::lonnet::whichuser();
     if (!$cid || $env{'request.state'} eq 'construct') {      if (!$cid || $env{'request.state'} eq 'construct') {
  return 'no_queue';   return 'no_queue';
     }      }
Line 1437  sub get_limited_classlist { Line 1419  sub get_limited_classlist {
 sub show_queue {  sub show_queue {
     my ($queue,$with_selects)=@_;      my ($queue,$with_selects)=@_;
     my $result;      my $result;
     my ($symb,$cid,$udom,$uname)=&Apache::lonxml::whichuser();      my ($symb,$cid,$udom,$uname)=&Apache::lonnet::whichuser();
     my $cnum=$env{'course.'.$cid.'.num'};      my $cnum=$env{'course.'.$cid.'.num'};
     my $cdom=$env{'course.'.$cid.'.domain'};      my $cdom=$env{'course.'.$cid.'.domain'};
   
Line 1564  FORM Line 1546  FORM
 sub get_queue_counts {  sub get_queue_counts {
     my ($queue)=@_;      my ($queue)=@_;
     my $result;      my $result;
     my ($symb,$cid,$udom,$uname)=&Apache::lonxml::whichuser();      my ($symb,$cid,$udom,$uname)=&Apache::lonnet::whichuser();
     my $cnum=$env{'course.'.$cid.'.num'};      my $cnum=$env{'course.'.$cid.'.num'};
     my $cdom=$env{'course.'.$cid.'.domain'};      my $cdom=$env{'course.'.$cid.'.domain'};
   
Line 1581  sub get_queue_counts { Line 1563  sub get_queue_counts {
     foreach my $key (sort(keys(%queue))) {      foreach my $key (sort(keys(%queue))) {
  my ($symb,$uname,$udom) = &decode_queue_key($key);   my ($symb,$uname,$udom) = &decode_queue_key($key);
  if (!defined($classlist->{$uname.':'.$udom})) { next; }   if (!defined($classlist->{$uname.':'.$udom})) { next; }
   
  if ($key=~/locked$/) {   if ($key=~/locked$/) {
     $locks++;      $locks++;
  } elsif ($key=~/timestamp$/) {   } elsif ($key=~/timestamp$/) {
Line 1621  sub decode_queue_key { Line 1604  sub decode_queue_key {
 sub queue_key_locked {  sub queue_key_locked {
     my ($queue,$key,$cdom,$cnum)=@_;      my ($queue,$key,$cdom,$cnum)=@_;
     if (!defined($cdom) || !defined($cnum)) {      if (!defined($cdom) || !defined($cnum)) {
  my (undef,$cid)=&Apache::lonxml::whichuser();   my (undef,$cid)=&Apache::lonnet::whichuser();
  $cnum=$env{'course.'.$cid.'.num'};   $cnum=$env{'course.'.$cid.'.num'};
  $cdom=$env{'course.'.$cid.'.domain'};   $cdom=$env{'course.'.$cid.'.domain'};
     }      }
Line 1733  sub find_mid_grade { Line 1716  sub find_mid_grade {
 sub lock_key {  sub lock_key {
     my ($queue,$todo)=@_;      my ($queue,$todo)=@_;
     my $me=$env{'user.name'}.':'.$env{'user.domain'};      my $me=$env{'user.name'}.':'.$env{'user.domain'};
     my (undef,$cid)=&Apache::lonxml::whichuser();      my (undef,$cid)=&Apache::lonnet::whichuser();
     my $cnum=$env{'course.'.$cid.'.num'};      my $cnum=$env{'course.'.$cid.'.num'};
     my $cdom=$env{'course.'.$cid.'.domain'};      my $cdom=$env{'course.'.$cid.'.domain'};
     my $success=&Apache::lonnet::newput($queue,{"$todo\0locked"=> $me},      my $success=&Apache::lonnet::newput($queue,{"$todo\0locked"=> $me},
Line 1748  sub lock_key { Line 1731  sub lock_key {
 sub get_queue_symb_status {  sub get_queue_symb_status {
     my ($queue,$symb,$cdom,$cnum) = @_;      my ($queue,$symb,$cdom,$cnum) = @_;
     if (!defined($cdom) || !defined($cnum)) {      if (!defined($cdom) || !defined($cnum)) {
  my (undef,$cid)=&Apache::lonxml::whichuser();   my (undef,$cid)=&Apache::lonnet::whichuser();
  $cnum=$env{'course.'.$cid.'.num'};   $cnum=$env{'course.'.$cid.'.num'};
  $cdom=$env{'course.'.$cid.'.domain'};   $cdom=$env{'course.'.$cid.'.domain'};
     }      }
Line 1772  sub get_queue_symb_status { Line 1755  sub get_queue_symb_status {
 sub get_from_queue {  sub get_from_queue {
     my ($queue)=@_;      my ($queue)=@_;
     my $result;      my $result;
     my ($symb,$cid,$udom,$uname)=&Apache::lonxml::whichuser();      my ($symb,$cid,$udom,$uname)=&Apache::lonnet::whichuser();
     my $cnum=$env{'course.'.$cid.'.num'};      my $cnum=$env{'course.'.$cid.'.num'};
     my $cdom=$env{'course.'.$cid.'.domain'};      my $cdom=$env{'course.'.$cid.'.domain'};
     my $todo=&find_mid_grade($queue,$symb,$cdom,$cnum);      my $todo=&find_mid_grade($queue,$symb,$cdom,$cnum);
Line 1848  sub get_from_queue { Line 1831  sub get_from_queue {
 }  }
   
 sub select_user {  sub select_user {
     my ($symb,$cid)=&Apache::lonxml::whichuser();      my ($symb,$cid)=&Apache::lonnet::whichuser();
   
     my @chosen_sections=      my @chosen_sections=
  &Apache::loncommon::get_env_multiple('form.chosensections');   &Apache::loncommon::get_env_multiple('form.chosensections');
Line 2177  sub get_criteria { Line 2160  sub get_criteria {
  } else {   } else {
     my $dim_status=$Apache::lonhomework::history{"resource.$version.0.$dim.status"};      my $dim_status=$Apache::lonhomework::history{"resource.$version.0.$dim.status"};
     my $mandatory='Mandatory';      my $mandatory='Mandatory';
     if (&Apache::lonxml::get_param('Mandatory',$parstack,$safeeval) eq 'N') {      if ($Apache::bridgetask::dimensionmandatory{$dim} eq 'N') {
  $mandatory='Optional';   $mandatory='Optional';
     }      }
     my $dim_info="<div class='LC_$dim_status LC_question_grade'>\n";      my $dim_info="<div class='LC_$dim_status LC_question_grade'>\n";
Line 2224  sub get_criteria { Line 2207  sub get_criteria {
     $result.=$dimension{$id}{'result'};      $result.=$dimension{$id}{'result'};
     next;      next;
  }   }
    my $status= &get_criteria('status', $version,$dim,$id);
    my $comment=&get_criteria('comment',$version,$dim,$id);
    my $mandatory=($dimension{$dim}{'criteria.'.$id.'.mandatory'} ne 'N');
    if ($mandatory) {
       $mandatory='Mandatory';
    } else {
       $mandatory='Optional';
    }
    if ($status eq 'fail') {
    } elsif ($status eq 'pass') {
    } else {
       &Apache::lonxml::error("Student viewing a graded bridgetask was shown a status of $status");
    }
    my $status_display=$status;
    $status_display=~s/^([a-z])/uc($1)/e;
    $result.=
       '<div class="LC_'.$status.' LC_criteria"><h4>'
       .$mandatory.' Criteria</h4><p>';
    $result.=
       &nested_parse(\$dimension{$dim}{'criteria.'.$id},
     [@_],{'set_dim_id' => $id});
    $result.='</p><p class="LC_grade">'.$status_display.'</p>';
    if ($comment) {
       $result.='<p class="LC_comment">'.
    &mt('Comment: [_1]',$comment).'</p>';
    }
    $result.='</div>';
     }      }
  }   }
     }      }
Line 2481  sub end_InstanceText { Line 2491  sub end_InstanceText {
 sub start_Criteria {  sub start_Criteria {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $criteria=&Apache::lonxml::get_all_text('/criteria',$parser,$style);      my $criteria=&Apache::lonxml::get_all_text('/criteria',$parser,$style);
     my $result = '';  
     if ($target eq 'web' || $target eq 'webgrade' || $target eq 'grade') {      if ($target eq 'web' || $target eq 'webgrade' || $target eq 'grade') {
  my $dim = &get_dim_id();   my $dim = &get_dim_id();
  my $id=&get_id($parstack,$safeeval);   my $id=&get_id($parstack,$safeeval);
Line 2499  sub start_Criteria { Line 2508  sub start_Criteria {
     $dimension{$dim}{'criteria.'.$id.'.mandatory'}=      $dimension{$dim}{'criteria.'.$id.'.mandatory'}=
  &Apache::lonxml::get_param('Mandatory',$parstack,$safeeval);   &Apache::lonxml::get_param('Mandatory',$parstack,$safeeval);
     push(@{$dimension{$dim}{'criterias'}},$id);      push(@{$dimension{$dim}{'criterias'}},$id);
   
     my $version=&get_version();  
     my $task_status =   
  $Apache::lonhomework::history{"resource.$version.0.status"};  
     if ($target eq 'web'   
  && ($task_status eq 'pass' || $task_status eq 'fail')) {  
  my $status= &get_criteria('status', $version,$dim,$id);  
  my $comment=&get_criteria('comment',$version,$dim,$id);  
  my $mandatory=($dimension{$dim}{'criteria.'.$id.'.mandatory'} ne 'N');  
  if ($mandatory) {  
     $mandatory='Mandatory';  
  } else {  
     $mandatory='Optional';  
  }  
  my $status_display=$status;  
  $status_display=~s/^([a-z])/uc($1)/e;  
  $result.=  
     '<div class="LC_'.$status.' LC_criteria"><h4>'  
     .$mandatory.' Criteria</h4><p>';  
  $result.=  
     &nested_parse(\$dimension{$dim}{'criteria.'.$id},[@_]);  
  $result.='</p><p class="LC_grade">'.$status_display.'</p>';  
  if ($comment =~ /\w/) {  
     $result.='<p class="LC_comment">'.  
  &mt('Comment: [_1]',$comment).'</p>';  
  }  
  $result.='</div>';  
     }  
  }   }
     }      }
     return $result;      return '';
 }  }
   
 sub end_Criteria {  sub end_Criteria {
 }  }
   
 sub start_GraderNote {  
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;  
       
     if ($target eq 'webgrade') {  
  return '<div class="LC_GRADING_gradernote"><b>'.  
     &mt('Note to graders:').'</b>';  
     }  
     my $note=&Apache::lonxml::get_all_text('/gradernote',$parser,$style);   
     return;  
 }  
   
 sub end_GraderNote {  
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;  
   
     if ($target eq 'webgrade') {  
  return '</div>';  
     }  
     return;  
 }  
   
   
   
 sub proctor_validation_screen {  sub proctor_validation_screen {
     my ($slot) = @_;      my ($slot) = @_;
     my (undef,undef,$domain,$user) = &Apache::lonxml::whichuser();      my (undef,undef,$domain,$user) = &Apache::lonnet::whichuser();
     my $url=&Apache::lonnet::studentphoto($domain,$user,'jpg');      my $url=&Apache::lonnet::studentphoto($domain,$user,'jpg');
     my $name=&Apache::loncommon::plainname($user,$domain);      my $name=&Apache::loncommon::plainname($user,$domain);
           

Removed from v.1.184.2.4  
changed lines
  Added in v.1.185


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