--- loncom/interface/loncommon.pm 2003/10/13 22:35:05 1.128 +++ loncom/interface/loncommon.pm 2003/10/24 13:35:37 1.134 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.128 2003/10/13 22:35:05 albertel Exp $ +# $Id: loncommon.pm,v 1.134 2003/10/24 13:35:37 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2663,7 +2663,7 @@ $uname, optional the username of the use sub check_if_partid_hidden { my ($id,$symb,$udom,$uname) = @_; - my $hiddenparts=&Apache::lonnet::EXT('resource.0.parameter_hiddenparts', + my $hiddenparts=&Apache::lonnet::EXT('resource.0.hiddenparts', $symb,$udom,$uname); my @hiddenlist=split(/,/,$hiddenparts); foreach my $checkid (@hiddenlist) { @@ -2677,21 +2677,35 @@ sub check_if_partid_hidden { =pod -=item DrawGraph +=item DrawBarGraph -Returns a link to cgi-bin/graph =cut ############################################################ ############################################################ -sub DrawGraph { - my ($Title,$xlabel,$ylabel,$Max,$values1,$values2)=@_; +sub DrawBarGraph { + my ($Title,$xlabel,$ylabel,$Max,$colors,@Values)=@_; + # + if (! defined($colors)) { + $colors = ['#33ff00', + '#0033cc', '#990000', '#aaaa66', '#663399', '#ff9933', + '#66ccff', '#ff9999', '#cccc33', '#660000', '#33cc66', + ]; + } # my $identifier = time.'_'.int(rand(1000)); - if (! defined($values1) || ref($values1) ne 'ARRAY') { + if (! @Values || ref($Values[0]) ne 'ARRAY') { return ''; } + my $NumBars = scalar(@{$Values[0]}); + my %ValuesHash; + my $NumSets=1; + foreach my $array (@Values) { + next if (! ref($array)); + $ValuesHash{'cgi.'.$identifier.'.data.'.$NumSets++} = + join(',',@$array); + } # $Title = '' if (! defined($Title)); $xlabel = '' if (! defined($xlabel)); @@ -2700,27 +2714,21 @@ sub DrawGraph { $xlabel = &Apache::lonnet::escape($xlabel); $ylabel = &Apache::lonnet::escape($ylabel); # - my $data1 = join(',', @$values1); - my $data2; - if (defined($values2)) { - $data2 = join(',', @$values2); - } - # - my $NumBars = scalar(@$values1); $Max = 1 if ($Max < 1); if ( int($Max) < $Max ) { $Max++; $Max = int($Max); } # - &Apache::lonnet::appenv($identifier.'.title' => $Title, - $identifier.'.xlabel' => $xlabel, - $identifier.'.ylabel' => $ylabel, - $identifier.'.Max' => $Max, - $identifier.'.NumBars' => $NumBars, - $identifier.'.data1' => $data1, - $identifier.'.data2' => $data2); - return ''; + &Apache::lonnet::appenv('cgi.'.$identifier.'.title' => $Title, + 'cgi.'.$identifier.'.xlabel' => $xlabel, + 'cgi.'.$identifier.'.ylabel' => $ylabel, + 'cgi.'.$identifier.'.Max' => $Max, + 'cgi.'.$identifier.'.NumBars' => $NumBars, + 'cgi.'.$identifier.'.NumSets' => $NumSets, + 'cgi.'.$identifier.'.Colors' => join(',',@{$colors}), + %ValuesHash); + return ''; } ############################################################