Diff for /loncom/interface/lonhtmlcommon.pm between versions 1.1 and 1.4

version 1.1, 2002/07/22 20:35:05 version 1.4, 2002/07/25 21:23:51
Line 1 Line 1
   # The LearningOnline Network with CAPA
   # a pile of common html routines
   #
   # $Id$
   #
   # 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;  package Apache::lonhtmlcommon;
   
 use strict;  use strict;
Line 29  sub MapOptions { Line 57  sub MapOptions {
 }  }
   
 sub StudentOptions {  sub StudentOptions {
     my ($cache, $students, $selectedName, $page)=@_;      my ($cache, $students, $selectedName, $page, $formName)=@_;
   
     my $Str = '';      my $Str = '';
     $Str = '<select name="'.(($page)?$page:'').'Student">'."\n";      $Str .= '<select name="'.(($page)?$page:'').'Student"';
       if($formName) {
           $Str .= ' onchange="document.'.$formName.'.submit()"';
       }
       $Str .= '>'."\n";
   
     my $selected=0;      my $selected=0;
     $Str .= '<option';  
     if($selectedName eq 'All Students') {  
         $Str .= ' selected';  
         $selected = 1;  
     }  
     $Str .= '>All Students</option>'."\n";  
   
     foreach (@$students) {      foreach (@$students) {
  $Str .= '<option';   $Str .= '<option';
Line 54  sub StudentOptions { Line 80  sub StudentOptions {
     }      }
   
     $Str .= '<option';      $Str .= '<option';
     if(!$selected) {      if($selectedName eq 'No Student Selected') {
         $Str .= ' selected';          $Str .= ' selected';
           $selected = 1;
     }      }
     $Str .= '>No Student Selected</option>'."\n";      $Str .= '>No Student Selected</option>'."\n";
   
       $Str .= '<option';
       if(!$selected) {
           $Str .= ' selected';
       }
       $Str .= '>All Students</option>'."\n";
   
     $Str .= '</select>'."\n";      $Str .= '</select>'."\n";
   
     return $Str;      return $Str;
Line 153  This function generates the column headi Line 186  This function generates the column headi
   
 =over 4  =over 4
   
 Inputs: $CacheData, $studentInformation, $headings, $spacePadding  Inputs: $CacheData, $keyID, $headings, $spacePadding
   
 $CacheData: pointer to a hash tied to the cached data database  $CacheData: pointer to a hash tied to the cached data database
   
 $studentInformation: a pointer to an array containing the names of the data   $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  held in a column and is used as part of a key into $CacheData
   
 $headings: The names of the headings for the student information  $headings: The names of the headings for the student information
Line 172  $Str: A formatted string of the table co Line 205  $Str: A formatted string of the table co
   
 =cut  =cut
   
 sub CreateStudentInformationHeadings {  sub CreateHeadings {
     my ($data,$studentInformation,$headings,$displayString)=@_;      my ($data,$keyID,$headings,$displayString,$format)=@_;
     my $Str='';      my $Str='';
       my $formatting = '';
   
     for(my $index=0; $index<(scalar @$headings); $index++) {      for(my $index=0; $index<(scalar @$headings); $index++) {
 #        if(!&ShouldShowColumn($data, 'ChartHeading'.$index)) {    my $currentHeading=$headings->[$index];
 #            next;          if($format eq 'preformatted') {
 #        }              my @dataLength=split(//,$currentHeading);
   my $data=$headings->[$index];              my $length=scalar @dataLength;
         my $linkdata=$studentInformation->[$index];              $formatting = (' 'x
                         ($data->{$keyID->[$index].':columnWidth'}-$length));
           }
           my $linkdata=$keyID->[$index];
   
         my $tempString = $displayString;          my $tempString = $displayString;
         $tempString =~ s/LINKDATA/$linkdata/;          $tempString =~ s/LINKDATA/$linkdata/;
         $tempString =~ s/DISPLAYDATA/$data/;          $tempString =~ s/DISPLAYDATA/$currentHeading/;
           $tempString =~ s/FORMATTING/$formatting/;
   
         $Str .= $tempString;          $Str .= $tempString;
     }      }
   
Line 200  username, domain, section, full name, an Line 240  username, domain, section, full name, an
   
 =over 4  =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  $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  $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.  remove data from the hash.  They represent the name of the data to be removed.
   
Line 221  $Str: Formatted string. Line 261  $Str: Formatted string.
 =cut  =cut
   
 sub FormatStudentInformation {  sub FormatStudentInformation {
     my ($cache,$name,$studentInformation,$spacePadding)=@_;      my ($data,$name,$keyID,$displayString,$format)=@_;
     my $Str='';      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($format eq 'preformatted') {
         if(!&ShouldShowColumn($cache, 'ChartHeading'.$index)) {              my @dataLength=split(//,$currentColumn);
             next;              my $length=scalar @dataLength;
               $currentColumn.= (' 'x
                        ($data->{$keyID->[$index].':columnWidth'}-$length));
         }          }
         $data=$cache->{$name.':'.$studentInformation->[$index]};  
  $Str .= $data;  
   
  my @dataLength=split(//,$data);          my $tempString = $displayString;
  my $length=scalar @dataLength;          $tempString =~ s/DISPLAYDATA/$currentColumn/;
  $Str .= (' 'x($cache->{$studentInformation->[$index].'Length'}-  
                       $length));          $Str .= $tempString;
  $Str .= $spacePadding;  
     }      }
   
     return $Str;      return $Str;

Removed from v.1.1  
changed lines
  Added in v.1.4


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>