--- loncom/interface/Attic/lonchart.pm 2002/02/28 23:14:57 1.33
+++ loncom/interface/Attic/lonchart.pm 2002/03/02 02:03:47 1.37
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# (Publication Handler
#
-# $Id: lonchart.pm,v 1.33 2002/02/28 23:14:57 minaeibi Exp $
+# $Id: lonchart.pm,v 1.37 2002/03/02 02:03:47 minaeibi Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -25,7 +25,6 @@
#
# http://www.lon-capa.org/
#
-#
# Homework Performance Chart
#
# (Navigate Maps Handler
@@ -224,54 +223,38 @@ sub tracetable {
}
}
-
-sub usection2 {
- my ($udom,$unam,$courseid,$ActiveFlag)=@_;
- $courseid=~s/\_/\//g;
- $courseid=~s/^(\w)/\/$1/;
- foreach my $elem(split(/\&/,&Apache::lonnet::reply('dump:'.$udom.':'.$unam.':roles',
- &Apache::lonnet::homeserver($unam,$udom)))) {
- my ($key,$value)=split(/\=/,$elem);
- $key=&Apache::lonnet::unescape($key);
- if ($key=~/^$courseid(?:\/)*(\w+)*\_st$/) {
- my $section=$1;
- if ($key eq $courseid.'_st') { $section=''; }
- my ($dummy,$end,$start)=split(/\_/,&Apache::lonnet::unescape($value));
- my $now=time;
- my $notactive=0;
- if ($start) {
- if ($now<$start) { $notactive=1; }
- }
- if ($end) {
- if ($now>$end) { $notactive=1; }
- }
- if ($ActiveFlag == 1) { $notactive=0; }
- unless ($notactive) { return $section; }
- }
- }
- return '-1';
-}
-
-
sub usection {
- my ($udom,$unam,$courseid)=@_;
+ my ($udom,$unam,$courseid,$ActiveFlag)=@_;
$courseid=~s/\_/\//g;
$courseid=~s/^(\w)/\/$1/;
- map {
+ foreach (split(/\&/,&Apache::lonnet::reply('dump:'.
+ $udom.':'.$unam.':roles',
+ &Apache::lonnet::homeserver($unam,$udom)))){
my ($key,$value)=split(/\=/,$_);
$key=&Apache::lonnet::unescape($key);
if ($key=~/^$courseid(?:\/)*(\w+)*\_st$/) {
my $section=$1;
if ($key eq $courseid.'_st') { $section=''; }
my ($dummy,$end,$start)=split(/\_/,&Apache::lonnet::unescape($value));
-# $section=($section) ? $section : '(none)';
-# $section=(int($section)) ? int($section) : $section;
-# $r->print($unam.'...'.$section.'
');
+ if ( $ActiveFlag ne 'Any' ) {
+ my $now=time;
+ my $notactive=0;
+ if ($start) {
+ if ($now<$start) { $notactive=1; }
+ }
+ if ($end) {
+ if ($now>$end) { $notactive=1; }
+ }
+ if ((($ActiveFlag eq 'Expired') && $notactive == 1) ||
+ (($ActiveFlag eq 'Active') && $notactive == 0 ) ) {
+ return $section;
+ }
+ else { return '-1'; }
+ }
return $section;
}
- } split(/\&/,&Apache::lonnet::reply('dump:'.$udom.':'.$unam.':roles',
- &Apache::lonnet::homeserver($unam,$udom)));
- return '';
+ }
+ return '-1';
}
sub BuildChart {
@@ -292,9 +275,13 @@ sub BuildChart {
my ($name,$value)=split(/\=/,$KeyPoint);
my ($end,$start)=split(/\:/,&Apache::lonnet::unescape($value));
my $active=1;
- if (($end) && ($now>$end)) { $active=0; }
-
- if ($ENV{'form.active'} eq 'All Students') { $active=1; }
+ my $Status=$ENV{'form.status'};
+ $Status = ($Status) ? $Status : 'Active';
+ if ( ( ($end) && $now > $end ) &&
+ ( ($Status eq 'Active') ) ) { $active=0; }
+
+ if ( ($Status eq 'Expired') &&
+ ($end == 0 || $now < $end) ) { $active=0; }
if ($active) {
my $thisindex=$#students+1;
@@ -302,13 +289,12 @@ sub BuildChart {
$students[$thisindex]=$name;
my ($sname,$sdom)=split(/\:/,$name);
$PreCol[$thisindex]=$sname.':';
-
- my $ssec=&usection($sdom,$sname,$cid);#,$active);
-
+ my $ssec=&usection($sdom,$sname,$cid,$Status);
if ($ssec==-1) {
$rowlabels[$thisindex]=
'Data not available: '.$name;
- } else {
+ }
+ else {
my %reply=&Apache::lonnet::idrget($sdom,$sname);
my $reply=&Apache::lonnet::reply('get:'.$sdom.':'.$sname.
':environment:lastname&generation&firstname&middlename',
@@ -362,7 +348,10 @@ sub BuildChart {
sub CreateForm {
my $OpSel1='';
my $OpSel2='';
- if ( $ENV{'form.active'} eq 'All Students' ) { $OpSel2='selected'; }
+ my $OpSel3='';
+ my $Status = $ENV{'form.status'};
+ if ( $Status eq 'Any' ) { $OpSel3='selected'; }
+ elsif ($Status eq 'Expired' ) { $OpSel2 = 'selected'; }
else { $OpSel1 = 'selected'; }
my $Ptr = '
'); for ( my $n; $n < $count; $n++) { - my ($dummy, $Line) = split(/\*/,$list[$n]); - $r->print($Line.''); } @@ -522,10 +512,3 @@ sub handler { } 1; __END__ - - - - - - -
'); + $r->print($CachData{$list{$order[$n]}}.'
'); } $r->print('