Diff for /loncom/homework/structuretags.pm between versions 1.469 and 1.475

version 1.469, 2010/06/05 19:36:57 version 1.475, 2010/08/30 14:06:16
Line 177  sub page_start { Line 177  sub page_start {
    $parstack,$parser,$safeeval);     $parstack,$parser,$safeeval);
     }      }
   
     $extra_head .= &homework_js();      $extra_head .= &homework_js().
                      &Apache::lonhtmlcommon::dragmath_js("EditMathPopup");
     if ($env{'environment.wysiwygeditor'} eq 'on') {      if (&Apache::lonhtmlcommon::htmlareabrowser()) {
  $extra_head .= &Apache::lonhtmlcommon::dragmath_js("FCKEditMathPopup");          my %textarea_args = (
     } else {                                  dragmath => 'math',
         $extra_head .= &Apache::lonhtmlcommon::dragmath_js("EditMathPopup");                                );
           $extra_head .= &Apache::lonhtmlcommon::htmlareaselectactive(\%textarea_args);
     }      }
   
     my %body_args;      my %body_args;
Line 401  sub problem_edit_footer { Line 402  sub problem_edit_footer {
   <hr style="clear:both;" />    <hr style="clear:both;" />
 </div>  </div>
 '.  '.
   
     &Apache::lonhtmlcommon::htmlareaselectactive(&Apache::lonhtmlcommon::get_htmlareafields()).  
     "\n</form>\n".&Apache::loncommon::end_page();      "\n</form>\n".&Apache::loncommon::end_page();
 }  }
   
Line 629  sub finalize_storage { Line 628  sub finalize_storage {
     $result=&Apache::lonnet::cstore(\%Apache::lonhomework::results,      $result=&Apache::lonnet::cstore(\%Apache::lonhomework::results,
     $symb,$courseid,$domain,$name);      $symb,$courseid,$domain,$name);
     &Apache::lonxml::debug('Store return message:'.$result);      &Apache::lonxml::debug('Store return message:'.$result);
             if ($env{'request.role'} =~/^st/) {              &store_aggregates($symb,$courseid);
                 &store_aggregates($symb,$courseid);  
             }  
  }   }
     } else {      } else {
  &Apache::lonxml::debug('Nothing to store');   &Apache::lonxml::debug('Nothing to store');
Line 651  item store_aggregates() Line 648  item store_aggregates()
   
 sub store_aggregates {  sub store_aggregates {
     my ($symb,$courseid) = @_;      my ($symb,$courseid) = @_;
     my %aggregate;      my (%aggregate,%anoncounter);
     my @parts;      my @parts;
     my $cdomain = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $cdomain = $env{'course.'.$env{'request.course.id'}.'.domain'};
     my $cname = $env{'course.'.$env{'request.course.id'}.'.num'};      my $cname = $env{'course.'.$env{'request.course.id'}.'.num'};
Line 661  sub store_aggregates { Line 658  sub store_aggregates {
         }          }
     }      }
     foreach my $part (@parts) {      foreach my $part (@parts) {
         if ($Apache::lonhomework::results{'resource.'.$part.'.award'}          if ($env{'request.role'} =~/^st/) {
     eq 'APPROX_ANS' ||              if ($Apache::lonhomework::results{'resource.'.$part.'.award'}
     $Apache::lonhomework::results{'resource.'.$part.'.award'}          eq 'APPROX_ANS' ||
     eq 'EXACT_ANS') {          $Apache::lonhomework::results{'resource.'.$part.'.award'}
             $aggregate{$symb."\0".$part."\0correct"} = 1;          eq 'EXACT_ANS') {
                   $aggregate{$symb."\0".$part."\0correct"} = 1;
               }
               if ($Apache::lonhomework::results{'resource.'.$part.'.tries'} == 1) {
                   $aggregate{$symb."\0".$part."\0users"} = 1;
               } else {
                   my (undef,$last_reset) = &Apache::grades::get_last_resets($symb,$env{'request.course.id'},[$part]); 
                   if ($last_reset) {
                       if (&Apache::grades::get_num_tries(\%Apache::lonhomework::history,$last_reset,$part) == 0) {
                           $aggregate{$symb."\0".$part."\0users"} = 1;
                       }
                   }
               }
               $aggregate{$symb."\0".$part."\0attempts"} = 1;
         }          }
         if ($Apache::lonhomework::results{'resource.'.$part.'.tries'} == 1) {          if (($Apache::lonhomework::results{'resource.'.$part.'.type'} eq 'anonsurvey') || 
             $aggregate{$symb."\0".$part."\0users"} = 1;              ($Apache::lonhomework::results{'resource.'.$part.'.type'} eq 'anonsurveycred')) {
         } else {              $anoncounter{$symb."\0".$part} = 1;
             my (undef,$last_reset) = &Apache::grades::get_last_resets($symb,$env{'request.course.id'},[$part]);               my $needsrelease = $Apache::lonnet::needsrelease{'parameter:type:'.$Apache::lonhomework::results{'resource.'.$part.'.type'}};
             if ($last_reset) {              if ($needsrelease) {   
                 if (&Apache::grades::get_num_tries(\%Apache::lonhomework::history,$last_reset,$part) == 0) {                  my $curr_required = $env{'course.'.$env{'request.course.id'}.'.internal.releaserequired'};
                     $aggregate{$symb."\0".$part."\0users"} = 1;                  if ($curr_required eq '') {
                       &Apache::lonnet::update_released_required($needsrelease);
                   } else {
                       my ($currmajor,$currminor) = split(/\./,$curr_required);
                       my ($needsmajor,$needsminor) = split(/\./,$needsrelease);
                       if (($currmajor < $needsmajor) || ($currmajor == $needsmajor && $currminor < $needsminor)) {
                           &Apache::lonnet::update_released_required($needsrelease);
                       }
                 }                  }
             }              }
         }          }
         $aggregate{$symb."\0".$part."\0attempts"} = 1;  
     }      }
     if (keys (%aggregate) > 0) {      if (keys (%aggregate) > 0) {
  &Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate,   &Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate,
                             $cdomain,$cname);                              $cdomain,$cname);
     }      }
       if (keys(%anoncounter) > 0) {
           &Apache::lonnet::cinc('nohist_anonsurveys',\%anoncounter,
                               $cdomain,$cname);
       }
 }  }
   
 sub checkout_msg {  sub checkout_msg {
Line 1162  sub end_problem { Line 1182  sub end_problem {
     if ($target ne 'tex' &&      if ($target ne 'tex' &&
  $env{'form.answer_output_mode'} ne 'tex') {   $env{'form.answer_output_mode'} ne 'tex') {
  $result.="</form>";   $result.="</form>";
  $result.= &Apache::lonhtmlcommon::htmlareaselectactive(&Apache::lonhtmlcommon::get_htmlareafields());  
     }      }
     if ($target eq 'web') {      if ($target eq 'web') {
  $result.= &Apache::loncommon::end_page({'discussion' => 1});   $result.= &Apache::loncommon::end_page({'discussion' => 1});
Line 1816  sub start_part { Line 1835  sub start_part {
   
     }      }
  } elsif ($target eq 'web') {   } elsif ($target eq 'web') {
     $result.='<a name="'.&escape($Apache::inputtags::part).'" />';      $result.='<a name="'.&escape($Apache::inputtags::part).'" ></a>';
  }   }
     }      }
  }   }
Line 2026  sub end_startouttext { Line 2045  sub end_startouttext {
  $result.=&Apache::edit::start_table($token)."<tr><td>".&mt('Text Block')."</td>"   $result.=&Apache::edit::start_table($token)."<tr><td>".&mt('Text Block')."</td>"
                  .'<td><span class="LC_nobreak">'.&mt('Delete?').' '                   .'<td><span class="LC_nobreak">'.&mt('Delete?').' '
                  .&Apache::edit::deletelist($target,$token)                   .&Apache::edit::deletelist($target,$token)
                  .'</span></td>';                   .'</span></td>'
         unless ($env{'environment.wysiwygeditor'} eq 'on') {           .'<td align="left"><span id="math_'.$areaid.'" />'
     $result .= '<td align="left">'   .&Apache::lonhtmlcommon::dragmath_button($areaid,1)
  .&Apache::lonhtmlcommon::dragmath_button($areaid,1)   .'<span></td>'
  .'</td>'   .'<td>'
  .'<td>'   .&Apache::edit::insertlist($target,$token)
  .&Apache::edit::insertlist($target,$token)   .'</td>'
  .'</td>';           .'<td align="right" valign="top">' .
  }           &Apache::loncommon::helpLatexCheatsheet().
  $result.='<td align="right" valign="top">' .  
     &Apache::loncommon::helpLatexCheatsheet().  
  &Apache::edit::end_row().   &Apache::edit::end_row().
                  &Apache::edit::start_spanning_row()."\n".                   &Apache::edit::start_spanning_row()."\n".
  &Apache::edit::editfield($token->[1],$text,"",80,8,1);   &Apache::edit::editfield($token->[1],$text,"",80,8,1);

Removed from v.1.469  
changed lines
  Added in v.1.475


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