--- loncom/interface/loncommon.pm 2003/10/13 22:35:05 1.128
+++ loncom/interface/loncommon.pm 2003/10/17 15:13:49 1.132
@@ -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.132 2003/10/17 15:13:49 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2686,12 +2686,20 @@ Returns a link to cgi-bin/graph
############################################################
############################################################
sub DrawGraph {
- my ($Title,$xlabel,$ylabel,$Max,$values1,$values2)=@_;
+ my ($Title,$xlabel,$ylabel,$Max,$colors,@Values)=@_;
#
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 +2708,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 '';
}
############################################################