Diff for /loncom/homework/inputtags.pm between versions 1.333.2.11 and 1.338

version 1.333.2.11, 2021/09/11 16:12:25 version 1.338, 2015/10/30 03:49:47
Line 460  sub start_textline { Line 460  sub start_textline {
  }   }
  my $name = 'HWVAL_'.$id;   my $name = 'HWVAL_'.$id;
                 my $itemid = 'HWVAL_'.$partid.'_'.$id;                  my $itemid = 'HWVAL_'.$partid.'_'.$id;
                 my $input_tag_id = $itemid.'_'.$input_id;                  my $input_tag_id = 'HWVAL_'.$input_id;
  if ($Apache::inputtags::status[-1] eq 'CANNOT_ANSWER') {   if ($Apache::inputtags::status[-1] eq 'CANNOT_ANSWER') {
     $name = "none";      $name = "none";
  }   }
Line 646  sub file_selector { Line 646  sub file_selector {
     my $current_files_display = &current_file_submissions($part,$id);      my $current_files_display = &current_file_submissions($part,$id);
     my $addfiles;      my $addfiles;
     if ($current_files_display) {      if ($current_files_display) {
         $result .= &Apache::lonhtmlcommon::row_title(&mt('Currently submitted files')).          $result .= &Apache::lonhtmlcommon::row_title(&mt('Files currently selected for submission')).
                    $current_files_display.                     $current_files_display.
                    &Apache::lonhtmlcommon::row_closure();                     &Apache::lonhtmlcommon::row_closure();
         $addfiles = &mt('Submit other file(s)');          $addfiles = &mt('Submit other file(s)');
Line 666  sub file_selector { Line 666  sub file_selector {
     if ($constraints) {      if ($constraints) {
         $result .= $constraints.'<br />';          $result .= $constraints.'<br />';
     }      }
     if ($which eq 'uploadonly' || $which eq 'both') {      if ($which eq 'uploadonly' || $which eq 'both') { 
         my $free_space = $maxfilesize * 1048576;          my $free_space = $maxfilesize * 1048576;
         $result .= &mt('Submit a file: (only one file per submission)').          $result .= &mt('Submit a file: (only one file per submission)').
             ' <br /><input type="file" size="50" name="HWFILE'.$jspart.'_'.$id.              ' <br /><input type="file" size="50" name="HWFILE'.$jspart.'_'.$id.
             '" id="HWFILE'.$jspart.'_'.$id.'" class="LC_flUpload LC_hwkfile" />'.              '" id="HWFILE'.$jspart.'_'.$id.'" class="flUpload" /><br />'.
             '<input type="hidden" id="LC_free_space_'.$jspart.'_'.$id.'"'.              '<input type="hidden" id="free_space" value="'.$free_space.'" /><br />'
             ' value="'.$free_space.'" /><br />';          }
     }  
     if ( $which eq 'both') {      if ( $which eq 'both') {
  $result.='<br />'.'<strong>'.&mt('OR:').'</strong><br />';   $result.='<br />'.'<strong>'.&mt('OR:').'</strong><br />';
     }      }
Line 694  sub file_selector { Line 693  sub file_selector {
     &mt('Select Portfolio Files: (one or more files per submission)').'</a><br />'.      &mt('Select Portfolio Files: (one or more files per submission)').'</a><br />'.
     '<input type="text" size="50" name="HWPORT'.$jspart.'_'.$id.'" value="" />'.      '<input type="text" size="50" name="HWPORT'.$jspart.'_'.$id.'" value="" />'.
     '<br />';      '<br />';
   
     }      }
     $result.=&Apache::lonhtmlcommon::row_closure(1);      $result.=&Apache::lonhtmlcommon::row_closure(1);
     return $result;      return $result;
Line 706  sub current_file_submissions { Line 706  sub current_file_submissions {
     my $uploadedfile=$Apache::lonhomework::history{"resource.$part.$id.uploadedfile"};      my $uploadedfile=$Apache::lonhomework::history{"resource.$part.$id.uploadedfile"};
     my $portfiles=$Apache::lonhomework::history{"resource.$part.$id.portfiles"};      my $portfiles=$Apache::lonhomework::history{"resource.$part.$id.portfiles"};
     return if (($uploadedfile eq '') && ($portfiles !~/[^\s]/));      return if (($uploadedfile eq '') && ($portfiles !~/[^\s]/));
       my @unversioned;
       foreach my $file (split(/\s*,\s*/,&unescape($portfiles))) {
           my ($path,$name) = ($file =~ m{^(.*/)([^/]+)$});
           my ($origname,$version,$ext) = &Apache::lonnet::file_name_version_ext($name);
           unless ($version) {
               push(@unversioned,$file);
           }    
       }
       return if (!@unversioned);
     my $header = &portpath_popup_js().      my $header = &portpath_popup_js().
                  &Apache::loncommon::start_data_table().                   &Apache::loncommon::start_data_table().
                  &Apache::loncommon::start_data_table_header_row();                   &Apache::loncommon::start_data_table_header_row();
Line 716  sub current_file_submissions { Line 725  sub current_file_submissions {
                  '<th>'.&mt('Size (MB)').'</th>'.                   '<th>'.&mt('Size (MB)').'</th>'.
                  '<th>'.&mt('Last Modified').'</th>'.                   '<th>'.&mt('Last Modified').'</th>'.
                  &Apache::loncommon::end_data_table_header_row();                   &Apache::loncommon::end_data_table_header_row();
     my (undef,$crsid,$udom,$uname)=&Apache::lonnet::whichuser();      my ($symb,$crsid,$udom,$uname)=&Apache::lonnet::whichuser();
     my ($cdom,$cnum) = ($crsid =~ /^($LONCAPA::match_domain)_($LONCAPA::match_courseid)$/);      my ($cdom,$cnum) = ($crsid =~ /^($LONCAPA::match_domain)_($LONCAPA::match_courseid)$/);
     my ($result,$header_shown,%okfiles,%rows,%legacy,@bad_file_list);      my ($result,$header_shown,%okfiles,%rows,%legacy,@bad_file_list);
     if ($uploadedfile) {      if ($uploadedfile) {
Line 735  sub current_file_submissions { Line 744  sub current_file_submissions {
             push(@bad_file_list,$error);              push(@bad_file_list,$error);
         }          }
     }      }
     if ($portfiles =~ /[^\s]/) {      if (@unversioned > 0) {
         my $prefix = "/uploaded/$udom/$uname/portfolio";          my $prefix = "/uploaded/$udom/$uname/portfolio";
         foreach my $file (split(/\s*,\s*/,&unescape($portfiles))) {          foreach my $file (@unversioned) {
             my ($path,$name) = ($file =~ m{^(.*/)([^/]+)$});              my ($path,$name) = ($file =~ m{^(.*/)([^/]+)$});
             my $url = $prefix.$path.$name;              my $url = $prefix.$path.$name;
             my $uploadedfile = &HTML::Entities::encode($url,'<>&"');              my $uploadedfile = &HTML::Entities::encode($url,'<>&"');
Line 1037  sub decideoutput { Line 1046  sub decideoutput {
   'not_charged_try' => 'LC_answer_not_charged_try',    'not_charged_try' => 'LC_answer_not_charged_try',
   'no_grade'        => 'LC_answer_no_grade',    'no_grade'        => 'LC_answer_no_grade',
   'no_message'      => 'LC_no_message',    'no_message'      => 'LC_no_message',
           'no_charge_warn'  => 'LC_answer_warning',  
   );    );
   
     my $part = $Apache::inputtags::part;      my $part = $Apache::inputtags::part;
Line 1051  sub decideoutput { Line 1059  sub decideoutput {
 #  #
           
     my $computer = ($handgrade || $nocorrect)? ''      my $computer = ($handgrade || $nocorrect)? ''
                        : &mt("Computer's answer now shown above.");                         : " ".&mt("Computer's answer now shown above.");
     &Apache::lonxml::debug("handgrade has :$handgrade:");      &Apache::lonxml::debug("handgrade has :$handgrade:");
   
     if ($previous) { $previousmsg=&mt('You have entered that answer before'); }      if ($previous) { $previousmsg=&mt('You have entered that answer before'); }
Line 1075  sub decideoutput { Line 1083  sub decideoutput {
  $message = '\textbf{'.$message.'}';   $message = '\textbf{'.$message.'}';
     } else {      } else {
  $message = "<b>".$message."</b>";   $message = "<b>".$message."</b>";
                 if ($computer) {   $message.= $computer;
                     $message = "$computer $message";  
                 }  
     }      }
     $added_computer_text=1;      $added_computer_text=1;
     if ($awarded > 0) {      if ($awarded > 0) {
Line 1121  sub decideoutput { Line 1127  sub decideoutput {
  $message = '\textbf{'.&mt('You are correct.').'}';   $message = '\textbf{'.&mt('You are correct.').'}';
     } else {      } else {
  $message = "<b>".&mt('You are correct.')."</b>";   $message = "<b>".&mt('You are correct.')."</b>";
                 if ($computer) {   $message.= $computer;
                     $message = "$computer $message";  
                 }  
     }      }
     $added_computer_text=1;      $added_computer_text=1;
     if  ($awarded > 0       if  ($awarded > 0 
Line 1201  sub decideoutput { Line 1205  sub decideoutput {
     } elsif ($award eq 'SIG_FAIL') {      } elsif ($award eq 'SIG_FAIL') {
  my ($used,$min,$max)=split(':',$awardmsg);   my ($used,$min,$max)=split(':',$awardmsg);
  my $word = ($used < $min) ? 'more' : 'fewer';   my $word = ($used < $min) ? 'more' : 'fewer';
  $message = &mt("Submission not graded. Use $word significant figures.",$used);   $message = &mt("Submission not graded. Use $word digits.",$used);
         if (&Apache::lonhomework::show_some_problem_status()) {   $css_class=$possible_class{'not_charged_try'};
             $css_class=$possible_class{'no_charge_warn'};  
         } else {  
             $css_class=$possible_class{'not_charged_try'};  
         }  
  $button=1;   $button=1;
     } elsif ($award eq 'UNIT_INVALID_INSTRUCTOR') {      } elsif ($award eq 'UNIT_INVALID_INSTRUCTOR') {
  $message = &mt('Error in instructor specifed unit. This error has been reported to the instructor.', $awardmsg);   $message = &mt('Error in instructor specifed unit. This error has been reported to the instructor.', $awardmsg);
Line 1339  sub decideoutput { Line 1339  sub decideoutput {
     }      }
     if ($Apache::inputtags::status[-1] eq 'SHOW_ANSWER' &&       if ($Apache::inputtags::status[-1] eq 'SHOW_ANSWER' && 
  !$added_computer_text && $target ne 'tex') {   !$added_computer_text && $target ne 'tex') {
         if ($computer) {   $message.= $computer;
             $message = "$computer $message";  
         }  
  $added_computer_text=1;   $added_computer_text=1;
     }      }
     if ($Apache::lonhomework::type eq 'practice') {      if ($Apache::lonhomework::type eq 'practice') {
Line 1708  sub gradestatus { Line 1706  sub gradestatus {
  && $status ne 'NOT_IN_A_SLOT'   && $status ne 'NOT_IN_A_SLOT'
          && $status ne 'RESERVABLE'           && $status ne 'RESERVABLE'
          && $status ne 'RESERVABLE_LATER'           && $status ne 'RESERVABLE_LATER'
          && $status ne 'NOTRESERVABLE') {           && $status ne 'NOTRESERVABLE'
            && $status ne 'NEED_DIFFERENT_IP') {
   
  if ($status eq 'SHOW_ANSWER') {   if ($status eq 'SHOW_ANSWER') {
             $showbutton = 0;              $showbutton = 0;
Line 1878  sub previous_tries { Line 1877  sub previous_tries {
     my $tries_text = &get_tries_text('link');      my $tries_text = &get_tries_text('link');
     my $prefix = $env{'form.request.prefix'};      my $prefix = $env{'form.request.prefix'};
     $prefix =~ tr{.}{_};      $prefix =~ tr{.}{_};
     my $function_name = 'LONCAPA_previous_tries_'.$prefix;      my $function_name = "LONCAPA_previous_tries_".$prefix.
     if (($env{'request.state'} eq 'construct') || ($id =~ /\W/)) {   $Apache::lonxml::curdepth.'_'.$env{'form.counter'};
         $function_name .= $Apache::lonxml::curdepth;      my $result = &Apache::loncommon::modal_adhoc_window($function_name,420,410,$output,&mt($tries_text))."<br />";
     } else {  
         $function_name .= $id;  
     }  
     $function_name .= '_'.$Apache::lonxml::counter;  
     my $possmathjax = 1;  
     my $result = &Apache::loncommon::modal_adhoc_window($function_name,420,410,$output,  
                                                         &mt($tries_text),$possmathjax)."<br />";  
     return $result;      return $result;
 }  }
   

Removed from v.1.333.2.11  
changed lines
  Added in v.1.338


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