--- loncom/interface/courseclassifier.pm 2007/10/03 19:57:29 1.2 +++ loncom/interface/courseclassifier.pm 2008/02/15 02:30:14 1.4 @@ -34,10 +34,7 @@ sub retrieve_instcodes { my %courses = &Apache::lonnet::courseiddump($codedom,'.',1,'.','.','.', undef,undef,'Course'); foreach my $course (keys(%courses)) { if (ref($courses{$course}) eq 'HASH') { - $$coursecodes{$course} = $courses{$course}{'instcode'}; - $totcodes ++; - } elsif ($courses{$course} =~ m/^[^:]*:([^:]+)/) { - $$coursecodes{$course} = &unescape($1); + $$coursecodes{$course} = $courses{$course}{'inst_code'}; $totcodes ++; } } @@ -120,7 +117,8 @@ sub recurse_list { } } else { %{$$idarrays{$$codetitles[4]}{$$codes{$cid}{$$codetitles[0]}}{$$codes{$cid}{$$codetitles[1]}}} = (); - %{$$idarrays{$$codetitles[4]}{$$codes{$cid}{$$codetitles[0]}}{$$codes{$cid}{$$codetitles[1]}}{$$codes{$cid}{$$codetitles[2]}}} = (); @{$$idarrays{$$codetitles[4]}{$$codes{$cid}{$$codetitles[0]}}{$$codes{$cid}{$$codetitles[1]}}{$$codes{$cid}{$$codetitles[2]}}{$$codes{$cid}{$$codetitles[3]}}} = ("$$codes{$cid}{$$codetitles[4]}"); + %{$$idarrays{$$codetitles[4]}{$$codes{$cid}{$$codetitles[0]}}{$$codes{$cid}{$$codetitles[1]}}{$$codes{$cid}{$$codetitles[2]}}} = (); + @{$$idarrays{$$codetitles[4]}{$$codes{$cid}{$$codetitles[0]}}{$$codes{$cid}{$$codetitles[1]}}{$$codes{$cid}{$$codetitles[2]}}{$$codes{$cid}{$$codetitles[3]}}} = ("$$codes{$cid}{$$codetitles[4]}"); } } else { %{$$idarrays{$$codetitles[4]}{$$codes{$cid}{$$codetitles[0]}}} = (); @@ -217,7 +215,7 @@ sub build_code_selections { $$idlist{$$codetitles[3]}{$key_a}{$key_b}{$key_c} = join('","',@sorted_c); $$idnums{$$codetitles[3]}{$key_a}{$key_b}{$key_c} = scalar(@sorted_c); if (defined($$cat_titles{$$codetitles[3]})) { - $$idlist_titles{$$codetitles[2]}{$key_a}{$key_b} = join('","',@sorted_c_titles); + $$idlist_titles{$$codetitles[3]}{$key_a}{$key_b}{$key_c} = join('","',@sorted_c_titles); } } } @@ -241,6 +239,9 @@ sub build_code_selections { } $$idlist{$$codetitles[4]}{$key_a}{$key_b}{$key_c}{$key_d} = join('","',@sorted_d); $$idnums{$$codetitles[4]}{$key_a}{$key_b}{$key_c}{$key_d} = scalar(@sorted_d); + if (defined($$cat_titles{$$codetitles[4]})) { + $$idlist_titles{$$codetitles[3]}{$key_a}{$key_b}{$key_c}{$key_d} = join('","',@sorted_d_titles); + } } } }