--- loncom/interface/Attic/lonchart.pm 2002/05/30 13:08:34 1.40 +++ loncom/interface/Attic/lonchart.pm 2002/06/03 19:28:17 1.41 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # (Publication Handler # -# $Id: lonchart.pm,v 1.40 2002/05/30 13:08:34 stredwic Exp $ +# $Id: lonchart.pm,v 1.41 2002/06/03 19:28:17 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -242,31 +242,31 @@ sub usection { if($checkForError =~ /^(con_lost|error|no_such_host)/i) { return -1; } - + my $cursection='-1'; + my $oldsection='-1'; + my $status='Expired'; foreach my $key (keys (%result)) { my $value = $result{$key}; if ($key=~/^$courseid(?:\/)*(\w+)*\_st$/) { my $section=$1; if ($key eq $courseid.'_st') { $section=''; } my ($dummy,$end,$start)=split(/\_/,$value); - 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; + my $now=time; + my $notactive=0; + if ($start) { if ($now<$start) { $notactive=1; } } + if ($end) { if ($now>$end) { $notactive=1; } } + if ($notactive == 0) { $status='Active';$cursection=$section;} + if ($notactive == 1) { $oldsection=$section;} } } + if ($status eq $ActiveFlag) { + if ($cursection eq '-1') { return $oldsection; } + return $cursection; + } + if ($ActiveFlag eq 'Any') { + if ($cursection eq '-1') { return $oldsection; } + return $cursection; + } return '-1'; } @@ -287,7 +287,7 @@ sub BuildChart { $r->print('

Could not access course data

'); } else { my $now=time; - foreach my $name (keys (%classlist)) { + foreach my $name (sort(keys(%classlist))) { my $value=$classlist{$name}; my ($end,$start)=split(/\:/,$value); my $active=1; @@ -308,26 +308,22 @@ sub BuildChart { 'Data not available: '.$name; } else { my %reply=&Apache::lonnet::idrget($sdom,$sname); - my $reply=&Apache::lonnet::get('environment', + my %name=&Apache::lonnet::get('environment', ['lastname','generation' ,'firstname' ,'middlename'], $sdom,$sname); + my $name=$name{lastname}; + if ($name{generation}) {$name.=" $name{generation}";} + $name.=','; + if ($name{firstname}) {$name.=" $name{firstname}";} + if ($name{middlename}) {$name.=" $name{middlename}";} + if ($name eq ',') {$name='';} #$ssec=(int($ssec)) ? int($ssec) : $ssec; my $sec=sprintf('%3s',$ssec); $rowlabels[$thisindex]=$sec.' '.$reply{$sname}.' '; - $PreCol[$thisindex] .= $reply.':'.$sec; - my $i=0; - foreach (split(/\&/,$reply)) { - $i++; - if ( $_ ne '') { - $rowlabels[$thisindex].=&Apache::lonnet::unescape($_).' '; - } - if ($i == 2) { - chop($rowlabels[$thisindex]); - $rowlabels[$thisindex].=', '; - } - } + $PreCol[$thisindex] .= $name.':'.$sec; + $rowlabels[$thisindex].=$name.' '; } } }