Diff for /loncom/interface/courseclassifier.pm between versions 1.8 and 1.9

version 1.8, 2009/07/29 22:32:44 version 1.9, 2010/07/08 23:19:19
Line 545  function setElements() { Line 545  function setElements() {
 sub build_instcode_selectors {  sub build_instcode_selectors {
     my ($numtitles,$lasttitle,$cat_items,$codetitles,$cat_titles,$cat_order) = @_;      my ($numtitles,$lasttitle,$cat_items,$codetitles,$cat_titles,$cat_order) = @_;
     my $output;      my $output;
       my @standardnames = &get_standard_codeitems();
     if ($numtitles > 0) {      if ($numtitles > 0) {
         $output .= '<table><tr>';          $output .= '<table><tr>';
         for (my $k=0; $k<$lasttitle-1; $k++) {          for (my $k=0; $k<$lasttitle-1; $k++) {
Line 562  sub build_instcode_selectors { Line 563  sub build_instcode_selectors {
                 @longitems = @items;                  @longitems = @items;
             }              }
             $output .= '<td align="center">'.$codetitles->[$k].'<br />'."\n".              $output .= '<td align="center">'.$codetitles->[$k].'<br />'."\n".
                        '<select name="'.$codetitles->[$k].'" onChange="courseSet(this)"'.                         '<select name="'.$standardnames[$k].'" onChange="courseSet(this)"'.
                        '>'."\n".'<option value="0" />All'."\n";                         '>'."\n".'<option value="0">'.&mt('All').'</option>'."\n";
             for (my $i=0; $i<@items; $i++) {              for (my $i=0; $i<@items; $i++) {
                 if ($longitems[$i] eq '') {                  if ($longitems[$i] eq '') {
                     $longitems[$i] = $items[$i];                      $longitems[$i] = $items[$i];
Line 573  sub build_instcode_selectors { Line 574  sub build_instcode_selectors {
             $output .= '</select></td>';              $output .= '</select></td>';
         }          }
         $output .= '<td align="center">'.$codetitles->[$lasttitle-1].'<br />'."\n".          $output .= '<td align="center">'.$codetitles->[$lasttitle-1].'<br />'."\n".
                    '<select name="'.$codetitles->[$lasttitle-1].'">'."\n".                     '<select name="'.$standardnames[$lasttitle-1].'">'."\n".
                    '<option value="0">'.&mt('All')."\n".                     '<option value="0">'.&mt('All')."\n".
                    '</option>'."\n".'</select>'."\n".                     '</option>'."\n".'</select>'."\n".
                    '</td></tr></table>'."\n";                     '</td></tr></table>'."\n";
         if ($numtitles > 4) {          if ($numtitles > 4) {
             $output .= '<br /><br />'.$codetitles->[$numtitles-1].'<br />'."\n".              $output .= '<br /><br />'.$codetitles->[$numtitles-1].'<br />'."\n".
                        '<input type="text" name="'.$codetitles->[$numtitles-1].                         '<input type="text" name="'.$standardnames[$numtitles-1].
                        '" /><br />'."\n";                         '" /><br />'."\n";
         }          }
         $output .= '<br />';          $output .= '<br />';
Line 811  END Line 812  END
 }  }
   
 sub instcode_search_str {  sub instcode_search_str {
     my ($domain,$numtitles) = @_;      my ($domain,$numtitles,$codetitles) = @_;
     my $instcode;      my $instcode;
     if (defined($numtitles) && $numtitles == 0) {      if (defined($numtitles) && $numtitles == 0) {
         $instcode = '.+';          $instcode = '.+';
Line 820  sub instcode_search_str { Line 821  sub instcode_search_str {
         my $defaults_result =          my $defaults_result =
             &Apache::lonnet::auto_instcode_defaults($domain,\%codedefaults,              &Apache::lonnet::auto_instcode_defaults($domain,\%codedefaults,
                                                     \@code_order);                                                      \@code_order);
           my @standardnames = &get_standard_codeitems();
           my %local_to_standard;
           if (ref($codetitles) eq 'ARRAY') {
               for (my $i=0; $i<@{$codetitles}; $i++) {
                   $local_to_standard{$codetitles->[$i]} = $standardnames[$i];
               }
           }
         if ($defaults_result eq 'ok') {          if ($defaults_result eq 'ok') {
             $instcode ='^';              $instcode ='^';
             foreach my $item (@code_order) {              foreach my $loctitle (@code_order) {
                 if ($env{'form.'.$item} eq '0' ) {                  my $item = $local_to_standard{$loctitle};
                     $instcode .= $codedefaults{$item};                  if ($item ne '') {
                       if ($env{'form.'.$item} eq '0' ) {
                           $instcode .= $codedefaults{$item};
                       } else {
                           $instcode .= $env{'form.'.$item};
                       }
                 } else {                  } else {
                     $instcode .= $env{'form.'.$item};                      $instcode .= '.+';
                 }                  }
             }              }
             $instcode .= '$';              $instcode .= '$';
Line 837  sub instcode_search_str { Line 850  sub instcode_search_str {
     return $instcode;      return $instcode;
 }  }
   
   sub get_standard_codeitems {
       return ('Year','Semester','Department','Number');
   }
   
 1;  1;
   

Removed from v.1.8  
changed lines
  Added in v.1.9


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