Diff for /loncom/homework/inputtags.pm between versions 1.333.2.4.4.1 and 1.348

version 1.333.2.4.4.1, 2017/06/21 19:55:00 version 1.348, 2019/08/11 16:19:52
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;
                   # NOTE: the input id should match the one given by defaut_homework input_id().
                 my $input_tag_id = $itemid.'_'.$input_id;                  my $input_tag_id = $itemid.'_'.$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 647  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 667  sub file_selector { Line 668  sub file_selector {
         $result .= $constraints.'<br />';          $result .= $constraints.'<br />';
     }      }
     if ($which eq 'uploadonly' || $which eq 'both') {       if ($which eq 'uploadonly' || $which eq 'both') { 
  $result.=&mt('Submit a file: (only one file per submission)').          my $free_space = $maxfilesize * 1048576;
     ' <br /><input type="file" size="50" name="HWFILE'.          $result .= &mt('Submit a file: (only one file per submission)').
     $jspart.'_'.$id.'" id="HWFILE'.$jspart.'_'.$id.'" /><br />';              ' <br /><input type="file" size="50" name="HWFILE'.$jspart.'_'.$id.
     }              '" id="HWFILE'.$jspart.'_'.$id.'" class="LC_flUpload LC_hwkfile" />'.
               '<input type="hidden" id="LC_free_space_'.$jspart.'_'.$id.'"'.
               ' 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 704  sub current_file_submissions { Line 708  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 714  sub current_file_submissions { Line 727  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 733  sub current_file_submissions { Line 746  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 1318  sub decideoutput { Line 1331  sub decideoutput {
  && &hide_award($award)) {   && &hide_award($award)) {
         $message = &mt("Answer Submitted: Your final submission will be graded after the due date.");          $message = &mt("Answer Submitted: Your final submission will be graded after the due date.");
         my @interval= &Apache::lonnet::EXT("resource.$part.interval");          my @interval= &Apache::lonnet::EXT("resource.$part.interval");
         if ($interval[0]) {          if ($interval[0] =~ /\d+/) {
             my $first_access=&Apache::lonnet::get_first_access($interval[1]);              my $first_access=&Apache::lonnet::get_first_access($interval[1]);
             if (defined($first_access)) {              if (defined($first_access)) {
                 my $due_date= &Apache::lonnet::EXT("resource.$part.duedate");                  my $due_date= &Apache::lonnet::EXT("resource.$part.duedate");
                 my ($timelimit) = ($interval[0] =~ /^(\d+)/);                  my ($timelimit) = ($interval[0] =~ /^(\d+)/);
                 unless (($due_date) && ($due_date < $first_access + $timelimit)) {                  unless (($due_date) && ($due_date < $first_access + $timelimit)) { 
                     $message = &mt("Answer Submitted: Your final submission will be graded when the time limit is reached.");                      $message = &mt("Answer Submitted: Your final submission will be graded when the time limit is reached.");
                 }                  }
             }              }
         }          }
  $css_class=$possible_class{'no_grade'};   $css_class=$possible_class{'no_grade'};
  $button=1;   $button=1;
           if ($env{'course.'.$env{'request.course.id'}.'.type'} eq 'Placement') {
               if ($Apache::inputtags::status[-1] eq 'CANNOT_ANSWER') {
                   $message = 'Answer Submitted';
               } else {
                   undef($message); 
               }
           }
     }      }
     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') {
Line 1632  sub get_grade_messages { Line 1652  sub get_grade_messages {
  if ($target eq 'tex') {   if ($target eq 'tex') {
     $message='\vskip 2 mm '.$message.' ';      $message='\vskip 2 mm '.$message.' ';
  } else {   } else {
     $message="<td class=\"$tdclass $css_class\">$message</td>";              if ($message) {
           $message="<td class=\"$tdclass $css_class\">$message</td>";
               } else {
                   $message="<td class=\"$tdclass\"></td>";  
               }
     if ($previousmsg) {      if ($previousmsg) {
  $previousmsg="<td class=\"$tdclass LC_answer_previous\">$previousmsg</td>";   $previousmsg="<td class=\"$tdclass LC_answer_previous\">$previousmsg</td>";
     }      }
Line 1669  sub get_grade_messages { Line 1693  sub get_grade_messages {
     $trial.="/".$Apache::inputtags::params{'maxtries'};      $trial.="/".$Apache::inputtags::params{'maxtries'};
  }   }
     }      }
     $trystr = '<td class="'.$tdclass.'"><span class="LC_nobreak">'.&mt($tries_text.' [_1]',$trial).'</span></td>';              
               unless (($env{'request.state'} ne "construct") && 
                       ($env{'course.'.$env{'request.course.id'}.'.type'} eq 'Placement') && 
                       (!$env{'request.role.adv'})) {
                   $trystr = '<span class="LC_nobreak">'.&mt($tries_text.' [_1]',$trial).'</span>';
               }
       $trystr = '<td class="'.$tdclass.'">'.$trystr.'</td>';
  }   }
     }      }
   
Line 1702  sub gradestatus { Line 1732  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 1744  sub gradestatus { Line 1775  sub gradestatus {
  } else {   } else {
     $output =      $output =
  '<table><tr><td>'.$button.'</td>'.$output;   '<table><tr><td>'.$button.'</td>'.$output;
     if (!$no_previous) {      if ((!$no_previous) &&
                   (($env{'course.'.$env{'request.course.id'}.'.type'} ne 'Placement') ||
                    ($env{'request.role.adv'}))) {
  $output.='<td class="'.$tdclass.'">'.&previous_tries($id,$target).'</td>';   $output.='<td class="'.$tdclass.'">'.&previous_tries($id,$target).'</td>';
     }      }
     $output.= '</tr></table>';      $output.= '</tr></table>';
Line 1872  sub previous_tries { Line 1905  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;
  $Apache::lonxml::curdepth.'_'.$env{'form.counter'};      if (($env{'request.state'} eq 'construct') || ($id =~ /[._]|[^\w\s\-]/)) {
           $function_name .= $Apache::lonxml::curdepth;
       } else {
           $function_name .= &js_escape($id);
       }
       $function_name .= '_'.$Apache::lonxml::counter;
     my $result = &Apache::loncommon::modal_adhoc_window($function_name,420,410,$output,&mt($tries_text))."<br />";      my $result = &Apache::loncommon::modal_adhoc_window($function_name,420,410,$output,&mt($tries_text))."<br />";
     return $result;      return $result;
 }  }

Removed from v.1.333.2.4.4.1  
changed lines
  Added in v.1.348


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