--- loncom/interface/courseclassifier.pm 2006/10/12 22:47:31 1.1 +++ loncom/interface/courseclassifier.pm 2008/03/21 18:00:18 1.5 @@ -1,3 +1,7 @@ +# The LearningOnline Network with CAPA +# Utilities for classifying courses based on institutional code +# +# $Id: courseclassifier.pm,v 1.5 2008/03/21 18:00:18 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -29,11 +33,12 @@ use Apache::lonnet; use LONCAPA; sub retrieve_instcodes { - my ($coursecodes,$codedom,$totcodes) = @_; + my ($coursecodes,$codedom) = @_; + my $totcodes; my %courses = &Apache::lonnet::courseiddump($codedom,'.',1,'.','.','.', undef,undef,'Course'); - foreach my $course (keys %courses) { - if ($courses{$course} =~ m/^[^:]*:([^:]+)/) { - $$coursecodes{$course} = &unescape($1); + foreach my $course (keys(%courses)) { + if (ref($courses{$course}) eq 'HASH') { + $$coursecodes{$course} = $courses{$course}{'inst_code'}; $totcodes ++; } } @@ -116,7 +121,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]}}} = (); @@ -213,7 +219,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); } } } @@ -237,6 +243,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); + } } } }