Diff for /loncom/homework/structuretags.pm between versions 1.543 and 1.550

version 1.543, 2015/12/10 16:26:43 version 1.550, 2016/09/14 02:42:43
Line 226  sub end_tex { Line 226  sub end_tex {
 sub homework_js {  sub homework_js {
     my ($postsubmit,$timeout);      my ($postsubmit,$timeout);
     if (($env{'request.course.id'}) && ($env{'request.state'} ne 'construct')) {      if (($env{'request.course.id'}) && ($env{'request.state'} ne 'construct')) {
         my $crstype;          my $crstype = &Apache::loncommon::course_type();
         if (&Apache::loncommon::course_type() eq 'Community') {          if ($crstype eq 'Community') {
             $crstype = 'community';              $crstype = 'community';
           } elsif ($crstype eq 'Placement') {
               $crstype = 'placement'; 
         } else {          } else {
             if ($env{'course.'.$env{'request.course.id'}.'.internal.coursecode'}) {              if ($env{'course.'.$env{'request.course.id'}.'.internal.coursecode'}) {
                 $crstype = 'official';                  $crstype = 'official';
Line 417  sub page_start { Line 419  sub page_start {
     $extra_head .= &homework_js().      $extra_head .= &homework_js().
                    &Apache::lonhtmlcommon::dragmath_js("EditMathPopup");                     &Apache::lonhtmlcommon::dragmath_js("EditMathPopup");
     if (&Apache::lonhtmlcommon::htmlareabrowser()) {      if (&Apache::lonhtmlcommon::htmlareabrowser()) {
         my %textarea_args = (          my %textarea_args;
           if (($env{'request.state'} ne 'construct') ||
               ($env{'environment.nocodemirror'})) {
               %textarea_args = (
                                 dragmath => 'math',                                  dragmath => 'math',
                               );                                );
           }
         $extra_head .= &Apache::lonhtmlcommon::htmlareaselectactive(\%textarea_args);          $extra_head .= &Apache::lonhtmlcommon::htmlareaselectactive(\%textarea_args);
     }      }
     my $is_task = ($env{'request.uri'} =~ /\.task$/);      my $is_task = ($env{'request.uri'} =~ /\.task$/);
Line 772  sub problem_edit_buttons { Line 778  sub problem_edit_buttons {
    if ($mode eq 'editxml') {     if ($mode eq 'editxml') {
        $result.=&problem_edit_action_button('subedit','edit','e','Edit',1);         $result.=&problem_edit_action_button('subedit','edit','e','Edit',1);
        $result.=&problem_edit_action_button('subundo','undoxml','u','Undo',1);         $result.=&problem_edit_action_button('subundo','undoxml','u','Undo',1);
        $result.=&Apache::lonhtmlcommon::dragmath_button("LC_editxmltext",1);         if ($env{'environment.nocodemirror'}) {
              $result.=&Apache::lonhtmlcommon::dragmath_button("LC_editxmltext",1);
          }
    } else {     } else {
        $result.=&problem_edit_action_button('subeditxml','editxml','x','EditXML',1);         $result.=&problem_edit_action_button('subeditxml','editxml','x','EditXML',1);
        $result.=&problem_edit_action_button('subundo','undo','u','Undo',1);         $result.=&problem_edit_action_button('subundo','undo','u','Undo',1);
Line 1286  sub store_aggregates { Line 1294  sub store_aggregates {
             } else {              } else {
                 $anoncounter{$symb."\0".$part} = 1;                  $anoncounter{$symb."\0".$part} = 1;
             }              }
             my $needsrelease = $Apache::lonnet::needsrelease{'parameter:type:'.$Apache::lonhomework::results{'resource.'.$part.'.type'}.':'};              my $needsrelease = $Apache::lonnet::needsrelease{'parameter:type:'.$Apache::lonhomework::results{'resource.'.$part.'.type'}.'::'};
             if ($needsrelease) {              if ($needsrelease) {
                 my $curr_required = $env{'course.'.$env{'request.course.id'}.'.internal.releaserequired'};                  my $curr_required = $env{'course.'.$env{'request.course.id'}.'.internal.releaserequired'};
                 if ($curr_required eq '') {                  if ($curr_required eq '') {
Line 1602  sub start_problem { Line 1610  sub start_problem {
     $form_tag_start.='<hr />';      $form_tag_start.='<hr />';
         } elsif (($env{'request.state'} ne "construct") &&          } elsif (($env{'request.state'} ne "construct") &&
                  ($Apache::lonhomework::type eq 'randomizetry') &&                   ($Apache::lonhomework::type eq 'randomizetry') &&
                  ($status eq 'CAN_ANSWER')) {                   ($status eq 'CAN_ANSWER') &&
                    ($env{'course.'.$env{'request.course.id'}.'.type'} ne 'Placement') &&
                    (!$env{'request.role.adv'})) {
   # "New Problem Variation Each Try" header suppressed for Placement Tests, unless course personnel. 
             my $reqtries = &Apache::lonnet::EXT("resource.$Apache::inputtags::part.randomizeontries");              my $reqtries = &Apache::lonnet::EXT("resource.$Apache::inputtags::part.randomizeontries");
             my $problemstatus = &get_problem_status($Apache::inputtags::part);              my $problemstatus = &get_problem_status($Apache::inputtags::part);
             $form_tag_start.=&randomizetry_problem_header($problemstatus,$reqtries);              $form_tag_start.=&randomizetry_problem_header($problemstatus,$reqtries);
Line 1731  sub start_problem { Line 1742  sub start_problem {
       '<input type="hidden" name="submitted" value="yes" />';        '<input type="hidden" name="submitted" value="yes" />';
     # create a page header and exit      # create a page header and exit
     if ($env{'request.state'} eq "construct") {      if ($env{'request.state'} eq "construct") {
                 unless ($env{'form.inhibitmenu'} eq 'yes') {                  if ($env{'form.inhibitmenu'} eq 'yes') {
                       # error messages can be useful in any case
                       $result.= &Apache::lonxml::message_location();
                   } else {
     $result.= &problem_web_to_edit_header($env{'form.rndseed'});      $result.= &problem_web_to_edit_header($env{'form.rndseed'});
                 }                  }
                 if ($Apache::lonhomework::type eq 'practice') {                  if ($Apache::lonhomework::type eq 'practice') {
Line 1919  sub end_problem { Line 1933  sub end_problem {
                 # Added separately at end of this routine, after added                  # Added separately at end of this routine, after added
                 # <script></script> so document will be valid xhtml.                  # <script></script> so document will be valid xhtml.
                 #                  #
  $result.= &Apache::loncommon::end_page({'discussion' => 1,                  my $showdisc = 1;
                   if (($env{'course.'.$env{'request.course.id'}.'.type'} eq 'Placement') &&
                       (!$env{'request.role.adv'})) { 
   # For Placement Tests footer with "Post Discussion" and "Send Feedback" links is suppressed.
                       $showdisc = 0;
                       my ($symb)= &Apache::lonnet::whichuser();
                       if ($symb) {
                           my $navmap = Apache::lonnavmaps::navmap->new();
                           if (ref($navmap)) {
                               my $hastries = &Apache::lonplacementtest::has_tries($symb,$navmap);  
   # For Placement Tests test status is displayed if this is the last resource in the course
   # and there are no tries left
                               unless ($hastries) {
                                   if (&Apache::lonplacementtest::is_lastres($symb,$navmap)) {
                                       my ($score,$incomplete) = 
                                           &Apache::lonplacementtest::check_completion(undef,undef,1);
                                       if (!$incomplete) {
                                           $result .= &Apache::lonplacementtest::showresult(1,1);
                                       } elsif ($incomplete < 100) { 
                                           $result.= &Apache::lonplacementtest::showincomplete($incomplete,1);
                                       }
                                   } else {
   # For Placement Tests score is displayed if test has just been completed
                                       my ($score,$incomplete) = &Apache::lonplacementtest::check_completion(undef,undef,1);
                                       if (!$incomplete) {
                                           $result.= &Apache::lonplacementtest::showresult(1,1);
                                       }
                                   }
                               }
                           }
                       }
                   }
    $result.= &Apache::loncommon::end_page({'discussion' => $showdisc,
  'notbody'    => 1});   'notbody'    => 1});
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $endminipage = '';   my $endminipage = '';
Line 2963  sub end_startouttext { Line 3009  sub end_startouttext {
                  .'<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>'
          .'<td><span id="math_'.$areaid.'">'           .'<td><span id="math_'.$areaid.'">';
  .&Apache::lonhtmlcommon::dragmath_button($areaid,1)   if ($env{'environment.nocodemirror'}) {
  .'</span></td>'      $result.=&Apache::lonhtmlcommon::dragmath_button($areaid,1);
    } else {
       $result.='&nbsp;';
    }
    $result.='</span></td>'
  .'<td>'   .'<td>'
  .&Apache::edit::insertlist($target,$token)   .&Apache::edit::insertlist($target,$token)
  .'</td>'   .'</td>'

Removed from v.1.543  
changed lines
  Added in v.1.550


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