# The LearningOnline Network with CAPA # a pile of common html routines # # $Id: lonhtmlcommon.pm,v 1.5 2002/07/26 16:22:09 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; sub MapOptions { my ($data, $page)=@_; my $Str = ''; $Str .= ''."\n"; } sub MultipleSectionSelect { my ($sections,$selectedSections)=@_; my $Str = ''; $Str .= ''."\n"; return $Str; } sub Title { my ($pageName)=@_; my $Str = ''; $Str .= ''.$pageName.''."\n"; $Str .= ''."\n"; $Str .= ''."\n"; $Str .= '
'; $Str .= '

Course: '; $Str .= $ENV{'course.'.$ENV{'request.course.id'}.'.description'}; $Str .= '

'."\n"; $Str .= ''; $Str .= '
'."\n"; return $Str; } =pod =item &CreateTableHeadings() This function generates the column headings for the chart. =over 4 Inputs: $CacheData, $keyID, $headings, $spacePadding $CacheData: pointer to a hash tied to the cached data database $keyID: a pointer to an array containing the names of the data held in a column and is used as part of a key into $CacheData $headings: The names of the headings for the student information $spacePadding: The spaces to go between columns Output: $Str $Str: A formatted string of the table column headings. =back =cut sub CreateHeadings { my ($data,$keyID,$headings,$displayString,$format)=@_; my $Str=''; my $formatting = ''; for(my $index=0; $index<(scalar @$headings); $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/$currentHeading/; $tempString =~ s/FORMATTING/$formatting/; $Str .= $tempString; } return $Str; } =pod =item &FormatStudentInformation() This function produces a formatted string of the student's information: username, domain, section, full name, and PID. =over 4 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 $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. $spacePadding: Extra spaces that represent the space between columns Output: $Str $Str: Formatted string. =back =cut sub FormatStudentInformation { my ($data,$name,$keyID,$displayString,$format)=@_; my $Str=''; my $currentColumn; for(my $index=0; $index<(scalar @$keyID); $index++) { $currentColumn=$data->{$name.':'.$keyID->[$index]}; if($format eq 'preformatted') { my @dataLength=split(//,$currentColumn); my $length=scalar @dataLength; $currentColumn.= (' 'x ($data->{$keyID->[$index].':columnWidth'}-$length)); } my $tempString = $displayString; $tempString =~ s/DISPLAYDATA/$currentColumn/; $Str .= $tempString; } return $Str; } 1; __END__