--- loncom/interface/lonhtmlcommon.pm 2002/07/22 20:35:05 1.1 +++ loncom/interface/lonhtmlcommon.pm 2002/07/25 21:23:51 1.4 @@ -1,3 +1,31 @@ +# The LearningOnline Network with CAPA +# a pile of common html routines +# +# $Id: lonhtmlcommon.pm,v 1.4 2002/07/25 21:23:51 stredwic Exp $ +# +# Copyright Michigan State University Board of Trustees +# +# This file is part of the LearningOnline Network with CAPA (LON-CAPA). +# +# LON-CAPA is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# LON-CAPA is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LON-CAPA; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# /home/httpd/html/adm/gpl.txt +# +# http://www.lon-capa.org/ +# + package Apache::lonhtmlcommon; use strict; @@ -29,18 +57,16 @@ sub MapOptions { } sub StudentOptions { - my ($cache, $students, $selectedName, $page)=@_; + my ($cache, $students, $selectedName, $page, $formName)=@_; my $Str = ''; - $Str = '[$index]; - my $linkdata=$studentInformation->[$index]; + my $currentHeading=$headings->[$index]; + if($format eq 'preformatted') { + my @dataLength=split(//,$currentHeading); + my $length=scalar @dataLength; + $formatting = (' 'x + ($data->{$keyID->[$index].':columnWidth'}-$length)); + } + my $linkdata=$keyID->[$index]; + my $tempString = $displayString; $tempString =~ s/LINKDATA/$linkdata/; - $tempString =~ s/DISPLAYDATA/$data/; + $tempString =~ s/DISPLAYDATA/$currentHeading/; + $tempString =~ s/FORMATTING/$formatting/; + $Str .= $tempString; } @@ -200,13 +240,13 @@ username, domain, section, full name, an =over 4 -Input: $cache, $name, $studentInformation, $spacePadding +Input: $cache, $name, $keyID, $spacePadding $cache: This is a pointer to a hash that is tied to the cached data $name: The name and domain of the current student in name:domain format -$studentInformation: A pointer to an array holding the names used to +$keyID: A pointer to an array holding the names used to remove data from the hash. They represent the name of the data to be removed. @@ -221,22 +261,24 @@ $Str: Formatted string. =cut sub FormatStudentInformation { - my ($cache,$name,$studentInformation,$spacePadding)=@_; + my ($data,$name,$keyID,$displayString,$format)=@_; my $Str=''; - my $data; + my $currentColumn; + + for(my $index=0; $index<(scalar @$keyID); $index++) { + $currentColumn=$data->{$name.':'.$keyID->[$index]}; - for(my $index=0; $index<(scalar @$studentInformation); $index++) { - if(!&ShouldShowColumn($cache, 'ChartHeading'.$index)) { - next; + if($format eq 'preformatted') { + my @dataLength=split(//,$currentColumn); + my $length=scalar @dataLength; + $currentColumn.= (' 'x + ($data->{$keyID->[$index].':columnWidth'}-$length)); } - $data=$cache->{$name.':'.$studentInformation->[$index]}; - $Str .= $data; - my @dataLength=split(//,$data); - my $length=scalar @dataLength; - $Str .= (' 'x($cache->{$studentInformation->[$index].'Length'}- - $length)); - $Str .= $spacePadding; + my $tempString = $displayString; + $tempString =~ s/DISPLAYDATA/$currentColumn/; + + $Str .= $tempString; } return $Str;