--- 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 '';
}
############################################################