Diff for /loncom/homework/structuretags.pm between versions 1.535 and 1.541

version 1.535, 2015/04/17 12:33:56 version 1.541, 2015/12/03 20:40:27
Line 490  sub page_start { Line 490  sub page_start {
             }              }
         }          }
         if ($needs_upload) {          if ($needs_upload) {
             $extra_head .= &Apache::lonhtmlcommon::file_submissionchk_js();              $extra_head .= &Apache::lonhtmlcommon::file_submissionchk_js()
                               .'<script type="text/javascript" 
                                   src="/res/adm/includes/file_upload.js"></script>';
         }          }
     }      }
   
Line 974  $show_all Line 976  $show_all
                'onclick="javascript:setmode(this.form,'."'edit'".')" />';                 'onclick="javascript:setmode(this.form,'."'edit'".')" />';
     $result .= '<input type="button" name="submitmode" accesskey="x" value="'.&mt('EditXML').'" '.      $result .= '<input type="button" name="submitmode" accesskey="x" value="'.&mt('EditXML').'" '.
                'onclick="javascript:setmode(this.form,'."'editxml'".')" />';                 'onclick="javascript:setmode(this.form,'."'editxml'".')" />';
       if ($env{'browser.type'} ne 'explorer' || $env{'browser.version'} > 9) {
           my $uri = $env{'request.uri'};
           my $daxeurl = '/adm/daxe/daxe.html?config=config/loncapa_config.xml&amp;file=/daxeopen'.$uri.
               '&amp;save=/daxesave';
           $result .= '<input type="button" value="'.&mt('Edit with Daxe').'" '.
                     'onclick="window.open(\''.$daxeurl.'\',\'_blank\');" />';
       }
     $result.='      $result.='
    </div>     </div>
    <hr />     <hr />
Line 1276  sub store_aggregates { Line 1285  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 '') {
                     &Apache::lonnet::update_released_required($needsrelease);                      &Apache::lonnet::update_released_required($needsrelease);
Line 1388  sub init_problem_globals { Line 1397  sub init_problem_globals {
     @Apache::inputtags::importlist = ();      @Apache::inputtags::importlist = ();
     @Apache::inputtags::previous=();      @Apache::inputtags::previous=();
     @Apache::inputtags::previous_version=();      @Apache::inputtags::previous_version=();
       $Apache::inputtags::leniency='';
     $Apache::structuretags::printanswer='No';      $Apache::structuretags::printanswer='No';
     @Apache::structuretags::whileconds=();      @Apache::structuretags::whileconds=();
     @Apache::structuretags::whilebody=();      @Apache::structuretags::whilebody=();
Line 1403  sub reset_problem_globals { Line 1413  sub reset_problem_globals {
     undef(%Apache::lonhomework::history);      undef(%Apache::lonhomework::history);
     undef(%Apache::lonhomework::results);      undef(%Apache::lonhomework::results);
     undef($Apache::inputtags::part);      undef($Apache::inputtags::part);
       undef($Apache::inputtags::leniency);
     if ($type eq 'Task') {      if ($type eq 'Task') {
         undef($Apache::inputtags::slot_name);          undef($Apache::inputtags::slot_name);
     } elsif ($type eq 'problem') {      } elsif ($type eq 'problem') {
Line 1506  sub start_problem { Line 1517  sub start_problem {
     my $status;      my $status;
     my $accessmsg;      my $accessmsg;
     my $resource_due;      my $resource_due;
       my $ipused;
   
     my $name= &get_resource_name($parstack,$safeeval);      my $name= &get_resource_name($parstack,$safeeval);
     my ($result,$form_tag_start,$slot_name,$slot,$probpartlist);      my ($result,$form_tag_start,$slot_name,$slot,$probpartlist);
Line 1514  sub start_problem { Line 1526  sub start_problem {
         $target eq 'tex') {          $target eq 'tex') {
         if ($env{'form.markaccess'}) {          if ($env{'form.markaccess'}) {
             my @interval=&Apache::lonnet::EXT("resource.0.interval");              my @interval=&Apache::lonnet::EXT("resource.0.interval");
             &Apache::lonnet::set_first_access($interval[1],$interval[0]);              my ($timelimit) = split(/_/,$interval[0]);
               &Apache::lonnet::set_first_access($interval[1],$timelimit);
         }          }
   
         ($status,$accessmsg,$slot_name,$slot) =          ($status,$accessmsg,$slot_name,$slot,$ipused) =
             &Apache::lonhomework::check_slot_access('0','problem');              &Apache::lonhomework::check_slot_access('0','problem');
         push (@Apache::inputtags::status,$status);          push (@Apache::inputtags::status,$status);
     }      }
Line 1608  sub start_problem { Line 1621  sub start_problem {
             ( $status eq 'NOTRESERVABLE') ||              ( $status eq 'NOTRESERVABLE') ||
             ( $status eq 'RESERVABLE') ||              ( $status eq 'RESERVABLE') ||
             ( $status eq 'RESERVABLE_LATER') ||              ( $status eq 'RESERVABLE_LATER') ||
     ( $status eq 'INVALID_ACCESS')) {      ( $status eq 'INVALID_ACCESS') ||
               ( $status eq 'NEED_DIFFERENT_IP')) {
     my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser,      my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser,
        $style);         $style);
     if ( $target eq "web" ) {      if ( $target eq "web" ) {
Line 1641  sub start_problem { Line 1655  sub start_problem {
                               &Apache::lonnavmaps::timeToHumanString($accessmsg,'start'));                                &Apache::lonnavmaps::timeToHumanString($accessmsg,'start'));
                 } elsif ($status eq 'NOTRESERVABLE') {                  } elsif ($status eq 'NOTRESERVABLE') {
                     $msg.=&mt('Not available to make a reservation.');                        $msg.=&mt('Not available to make a reservation.');  
  }   } elsif ($status eq 'NEED_DIFFERENT_IP') {
                       if ($ipused) {
                           $msg.=&mt('You must use the same computer ([_1]) you used when you first accessed this resource using your time/place-based reservation.',"IP: $ipused");
                       } else {
                           $msg.=&mt('Each student must use a different computer to access this resource at this time and/or place.').'<br />'.
                                 &mt('Somebody else has already used this particular computer for that purpose.');
                       }
                   }
  $result.=$msg.'<br />';   $result.=$msg.'<br />';
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $startminipage = ($env{'form.problem_split'}=~/yes/i)? ''   my $startminipage = ($env{'form.problem_split'}=~/yes/i)? ''
Line 1661  sub start_problem { Line 1682  sub start_problem {
  $result .=    $result .= 
     &Apache::bridgetask::proctor_validation_screen($slot);      &Apache::bridgetask::proctor_validation_screen($slot);
     } elsif ($target eq 'grade') {      } elsif ($target eq 'grade') {
  &Apache::bridgetask::proctor_check_auth($slot_name,$slot,   my $checkinresult = &Apache::bridgetask::proctor_check_auth($slot_name,$slot,
  'problem');                      'problem');
                   if ($checkinresult = /^error:/) {
                       $result .= 'error';
                   }
     }      }
  } elsif ($target eq 'web') {   } elsif ($target eq 'web') {
     if ($status eq 'CAN_ANSWER') {      if ($status eq 'CAN_ANSWER') {
Line 1672  sub start_problem { Line 1696  sub start_problem {
                         $Apache::lonhomework::history{'resource.0.checkedin'};                          $Apache::lonhomework::history{'resource.0.checkedin'};
                     if ($checked_in eq '') {                      if ($checked_in eq '') {
                         # unproctored slot access, self checkin                          # unproctored slot access, self checkin
                         &Apache::bridgetask::check_in('problem',undef,undef,                          my $needsiptied;
                                                       $slot_name);                          if (ref($slot)) {
                         $checked_in =                              $needsiptied = $slot->{'iptied'};
                             $Apache::lonhomework::results{"resource.0.checkedin"};                          }
                           my $check = &Apache::bridgetask::check_in('problem',undef,undef,
                                                                     $slot_name,$needsiptied);
                           if ($check =~ /^error: /) {
                               &Apache::lonnet::logthis("Error during self-checkin of problem (symb: $env{'request.symb'}) using slot: $slot_name");
                           } else {
                               $checked_in =
                                   $Apache::lonhomework::results{"resource.0.checkedin"};
                           }
                     }                      }
                     if ((ref($slot) eq 'HASH') && ($checked_in ne '')) {                      if ((ref($slot) eq 'HASH') && ($checked_in ne '')) {
                         if ($slot->{'starttime'} < time()) {                          if ($slot->{'starttime'} < time()) {
Line 2606  sub start_part { Line 2638  sub start_part {
     my $id= &Apache::lonxml::get_id($parstack,$safeeval);      my $id= &Apache::lonxml::get_id($parstack,$safeeval);
     $Apache::inputtags::part=$id;      $Apache::inputtags::part=$id;
     push(@Apache::inputtags::partlist,$id);      push(@Apache::inputtags::partlist,$id);
       $Apache::inputtags::leniency='';
     @Apache::inputtags::response=();      @Apache::inputtags::response=();
     @Apache::inputtags::previous=();      @Apache::inputtags::previous=();
     @Apache::inputtags::previous_version=();      @Apache::inputtags::previous_version=();
Line 2771  sub end_part { Line 2804  sub end_part {
     }      }
     pop @Apache::inputtags::status;      pop @Apache::inputtags::status;
     $Apache::inputtags::part='';      $Apache::inputtags::part='';
       $Apache::inputtags::leniency='';
     $Apache::lonhomework::type = $Apache::lonhomework::default_type;      $Apache::lonhomework::type = $Apache::lonhomework::default_type;
     return $result;      return $result;
 }  }

Removed from v.1.535  
changed lines
  Added in v.1.541


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