Diff for /loncom/interface/courseclassifier.pm between versions 1.26 and 1.27

version 1.26, 2017/01/18 21:24:39 version 1.27, 2019/07/23 13:58:53
Line 34  use Apache::loncommon; Line 34  use Apache::loncommon;
 use Apache::lonlocal;  use Apache::lonlocal;
 use LONCAPA;  use LONCAPA;
   
 sub retrieve_instcodes {  
     my ($coursecodes,$codedom) = @_;  
     my $totcodes;  
     my %courses = &Apache::lonnet::courseiddump($codedom,'.',1,'.','.','.',  
                                                 undef,undef,'Course');  
     foreach my $course (keys(%courses)) {  
         if (ref($courses{$course}) eq 'HASH') {  
             if ($courses{$course}{'inst_code'} ne '') {  
                 $$coursecodes{$course} = $courses{$course}{'inst_code'};  
                 $totcodes ++;  
             }  
         }  
     }  
     return $totcodes;  
 }  
   
 sub sort_cats {  sub sort_cats {
     my ($num,$cat_order,$codetitles,$idsarrayref,$sorted) = @_;      my ($num,$cat_order,$codetitles,$idsarrayref,$sorted) = @_;
     my @unsorted = @{$idsarrayref};      my @unsorted = @{$idsarrayref};
Line 533  END Line 517  END
   
 sub instcode_selectors_data {  sub instcode_selectors_data {
     my ($codedom,$formname,$cat_items,$codetitles,$cat_titles,$cat_order,$officialjs) = @_;      my ($codedom,$formname,$cat_items,$codetitles,$cat_titles,$cat_order,$officialjs) = @_;
     my ($jscript,%coursecodes,%codes,%idlist,%idnums,%idlist_titles,      my ($jscript,$codes,%idlist,%idnums,%idlist_titles,%by_year,%by_sem,%by_dept);
         %by_year,%by_sem,%by_dept);      my ($numtitles,$lasttitle,$totcodes);
     my ($numtitles,$lasttitle);      my $instcats = &Apache::lonnet::get_dom_instcats($codedom);
     my $caller = 'global';      if (ref($instcats) eq 'HASH') {
     my $totcodes = &retrieve_instcodes(\%coursecodes,$codedom);          if ((ref($instcats->{'codetitles'}) eq 'ARRAY') && (ref($instcats->{'codes'}) eq 'HASH') &&
     if ($totcodes > 0) {              (ref($instcats->{'cat_titles'}) eq 'HASH') && (ref($instcats->{'cat_order'}) eq 'HASH')) {
         if (&Apache::lonnet::auto_instcode_format($caller,$codedom,\%coursecodes,              %{$codes} = %{$instcats->{'codes'}};
                            \%codes,$codetitles,$cat_titles,$cat_order) eq 'ok') {              @{$codetitles} = @{$instcats->{'codetitles'}};
             &build_code_selections(\%codes,$codetitles,$cat_titles,$cat_order,              %{$cat_titles} = %{$instcats->{'cat_titles'}};
               %{$cat_order} = %{$instcats->{'cat_order'}};
               $totcodes = scalar(keys(%{$codes}));
               &build_code_selections($codes,$codetitles,$cat_titles,$cat_order,
                                    \%idlist,\%idnums,\%idlist_titles);                                     \%idlist,\%idnums,\%idlist_titles);
             my ($scripttext,$longtitles) =               my ($scripttext,$longtitles) = 
                 &javascript_definitions($codetitles,\%idlist,\%idlist_titles,                  &javascript_definitions($codetitles,\%idlist,\%idlist_titles,
Line 1061  sub instcode_search_str { Line 1048  sub instcode_search_str {
 sub instcode_from_selectors {  sub instcode_from_selectors {
     my ($cdom,$noregexps) = @_;      my ($cdom,$noregexps) = @_;
     my $instcode;      my $instcode;
     my $caller = 'global';      my (@codetitles,%codedefaults,@code_order);
     my (%coursecodes,%codes,@codetitles,%cat_titles,%cat_order,      my $instcats = &Apache::lonnet::get_dom_instcats($cdom);
         %codedefaults,@code_order);      if (ref($instcats) eq 'HASH') {
     my $format_reply =          if (ref($instcats->{'codetitles'}) eq 'ARRAY') {
         &Apache::lonnet::auto_instcode_format($caller,$cdom,\%coursecodes,              @codetitles = @{$instcats->{'codetitles'}};
                             \%codes,\@codetitles,\%cat_titles,\%cat_order);          }
       }
     my $defaults_result =      my $defaults_result =
         &Apache::lonnet::auto_instcode_defaults($cdom,\%codedefaults,          &Apache::lonnet::auto_instcode_defaults($cdom,\%codedefaults,
                                                 \@code_order);                                                  \@code_order);
     if (($defaults_result eq 'ok') && ($format_reply eq 'ok')) {      if (($defaults_result eq 'ok') && (@codetitles > 0)) {
         my @standardnames = &Apache::loncommon::get_standard_codeitems();          my @standardnames = &Apache::loncommon::get_standard_codeitems();
         my %local_to_standard;          my %local_to_standard;
         for (my $i=0; $i<@codetitles; $i++) {          for (my $i=0; $i<@codetitles; $i++) {

Removed from v.1.26  
changed lines
  Added in v.1.27


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