# The LearningOnline Network with CAPA # a pile of common html routines # # $Id: lonhtmlcommon.pm,v 1.8 2002/08/21 17:18:08 www 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 AscendOrderOptions { my ($order, $page, $formName)=@_; my $OpSel1 = ''; my $OpSel2 = ''; if($order eq 'Ascending') { $OpSel1 = ' selected'; } else { $OpSel2 = ' selected'; } my $Str = ''; $Str .= ''."\n"; return $Str; } sub MapOptions { my ($data, $page, $formName)=@_; 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 .= &Apache::loncommon::bodytag($pageName)."\n"; $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; } # Create progress sub Create_PrgWin { my ($r, $title, $heading)=@_; $r->print('"); $r->rflush(); } # update progress sub Update_PrgWin { my ($displayString,$r)=@_; $r->print(''); $r->rflush(); } # close Progress Line sub Close_PrgWin { my ($r)=@_; $r->print(''."\n"); $r->rflush(); } 1; __END__