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

version 1.26, 2017/01/18 21:24:39 version 1.30, 2023/07/10 01:55:15
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 85  sub recurse_list { Line 69  sub recurse_list {
                     push @{$$idarrays{$$codetitles[2]}{$$codes{$cid}{$$codetitles[0]}}{$$codes{$cid}{$$codetitles[1]}}}, $$codes{$cid}{$$codetitles[2]};                      push @{$$idarrays{$$codetitles[2]}{$$codes{$cid}{$$codetitles[0]}}{$$codes{$cid}{$$codetitles[1]}}}, $$codes{$cid}{$$codetitles[2]};
                 }                  }
             } else {              } else {
                 @{$$idarrays{$$codetitles[2]}{$$codes{$cid}{$$codetitles[0]}}{$$codes{$cid}{$$codetitles[1]}}} = ("$$codes{$cid}{$$codetitles[2]}");            }                  @{$$idarrays{$$codetitles[2]}{$$codes{$cid}{$$codetitles[0]}}{$$codes{$cid}{$$codetitles[1]}}} = ("$$codes{$cid}{$$codetitles[2]}");
               }
         } else {          } else {
             %{$$idarrays{$$codetitles[2]}{$$codes{$cid}{$$codetitles[0]}}} = ();              %{$$idarrays{$$codetitles[2]}{$$codes{$cid}{$$codetitles[0]}}} = ();
             @{$$idarrays{$$codetitles[2]}{$$codes{$cid}{$$codetitles[0]}}{$$codes{$cid}{$$codetitles[1]}}} = ("$$codes{$cid}{$$codetitles[2]}");              @{$$idarrays{$$codetitles[2]}{$$codes{$cid}{$$codetitles[0]}}{$$codes{$cid}{$$codetitles[1]}}} = ("$$codes{$cid}{$$codetitles[2]}");
Line 418  function toggleSecVis() { Line 403  function toggleSecVis() {
         showlist = 'inline';          showlist = 'inline';
         showbox = 'none';          showbox = 'none';
     }      }
     alert("crscode is ||"+crscode+"|| and currcode is ||"+currcode+"|| and showlist is ||"+showlist+"|| and showbox is ||"+showbox+"||");  
     if (document.getElementById('LC_helpdesk_sectionlist')) {      if (document.getElementById('LC_helpdesk_sectionlist')) {
         document.getElementById('LC_helpdesk_sectionlist').style.display = showlist;          document.getElementById('LC_helpdesk_sectionlist').style.display = showlist;
     }      }
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}));
               if ((!$totcodes) && (exists($instcats->{'totcodes'}))) {
                   $totcodes = $instcats->{'totcodes'};
               }
               &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,
                                         \%idnums,$cat_titles);                                          \%idnums,$cat_titles);
             my $longtitles_str = join('","',@{$longtitles});              my $longtitles_str = join('","',@{$longtitles});
Line 1061  sub instcode_search_str { Line 1051  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.30


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