Diff for /loncom/interface/lonhtmlcommon.pm between versions 1.2 and 1.9

version 1.2, 2002/07/22 21:21:32 version 1.9, 2002/08/30 15:35:08
Line 30  package Apache::lonhtmlcommon; Line 30  package Apache::lonhtmlcommon;
   
 use strict;  use strict;
   
   sub AscendOrderOptions {
       my ($order, $page, $formName)=@_;
   
       my $OpSel1 = '';
       my $OpSel2 = '';
   
       if($order eq 'Ascending') {
           $OpSel1 = ' selected';
       } else {
           $OpSel2 = ' selected';
       }
   
       my $Str = '';
       $Str .= '<select name="'.(($page)?$page:'').'Ascend"';
       if($formName) {
           $Str .= ' onchange="document.'.$formName.'.submit()"';
       }
       $Str .= '>'."\n";
       $Str .= '<option'.$OpSel1.'>Ascending</option>'."\n".
       '<option'.$OpSel2.'>Descending</option>'."\n";
       $Str .= '</select>'."\n";
   
       return $Str;
   }
   
 sub MapOptions {  sub MapOptions {
     my ($data, $page)=@_;      my ($data, $page, $formName)=@_;
     my $Str = '';      my $Str = '';
     $Str .= '<select name="';      $Str .= '<select name="';
     $Str .= (($page)?$page:'').'Map">'."\n";      $Str .= (($page)?$page:'').'Maps"';
       if($formName) {
           $Str .= ' onchange="document.'.$formName.'.submit()"';
       }
       $Str .= '>'."\n";
   
     my $selected = 0;      my $selected = 0;
     foreach my $sequence (split(':',$data->{'orderedSequences'})) {      foreach my $sequence (split(':',$data->{'orderedSequences'})) {
  $Str .= '<option';   $Str .= '<option';
         if($data->{$page.'Map'} eq $data->{$sequence.':title'}) {          if($data->{$page.'Maps'} eq $data->{$sequence.':title'}) {
             $Str .= ' selected';              $Str .= ' selected';
             $selected = 1;              $selected = 1;
         }          }
Line 56  sub MapOptions { Line 85  sub MapOptions {
     return $Str;      return $Str;
 }  }
   
 sub StudentOptions {  sub ProblemOptions {
     my ($cache, $students, $selectedName, $page)=@_;      my ($data, $page, $map, $formName)=@_;
       my $Str = '';
       $Str .= '<select name="';
       $Str .= (($page)?$page:'').'ProblemSelect"';
       if($formName) {
           $Str .= ' onchange="document.'.$formName.'.submit()"';
       }
       $Str .= '>'."\n";
   
       my $selected = 0;
       foreach my $sequence (split(':',$data->{'orderedSequences'})) {
    if($data->{$sequence.':title'} eq $map || $map eq 'All Maps') {
       foreach my $problem (split(':', $data->{$sequence.':problems'})) {
    $Str .= '<option';
    if($data->{$page.'ProblemSelect'} eq 
      $data->{$problem.':title'}) {
       $Str .= ' selected';
       $selected = 1;
    }
    $Str .= '>'.$data->{$problem.':title'}.'</option>'."\n";
       }
    }
       }
       $Str .= '<option';
       if(!$selected) {
           $Str .= ' selected';
       }
       $Str .= '>All Problems</option>'."\n";
   
       $Str .= '</select>'."\n";
   
       return $Str;
   }
   
   sub PartOptions {
       my ($data, $page, $parts, $formName)=@_;
     my $Str = '';      my $Str = '';
     $Str = '<select name="'.(($page)?$page:'').'Student">'."\n";  
   
     my $selected=0;      if(!defined($parts)) {
    return '';
       }
   
       $Str .= '<select name="';
       $Str .= (($page)?$page:'').'PartSelect"';
       if($formName) {
           $Str .= ' onchange="document.'.$formName.'.submit()"';
       }
       $Str .= '>'."\n";
   
       my $selected = 0;
       foreach my $part (@$parts) {
    $Str .= '<option';
    if($data->{$page.'PartSelect'} eq $part) {
       $Str .= ' selected';
       $selected = 1;
    }
    $Str .= '>'.$part.'</option>'."\n";     
       }
     $Str .= '<option';      $Str .= '<option';
     if($selectedName eq 'All Students') {      if(!$selected) {
         $Str .= ' selected';          $Str .= ' selected';
         $selected = 1;  
     }      }
     $Str .= '>All Students</option>'."\n";      $Str .= '>All Parts</option>'."\n";
   
       $Str .= '</select>'."\n";
   
       return $Str;
   }
   
   sub StudentOptions {
       my ($cache, $students, $selectedName, $page, $formName)=@_;
   
       my $Str = '';
       $Str .= '<select name="'.(($page)?$page:'').'Student"';
       if($formName) {
           $Str .= ' onchange="document.'.$formName.'.submit()"';
       }
       $Str .= '>'."\n";
   
       my $selected=0;
   
     foreach (@$students) {      foreach (@$students) {
  $Str .= '<option';   $Str .= '<option';
Line 82  sub StudentOptions { Line 179  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 115  sub StatusOptions { Line 219  sub StatusOptions {
     $Str .= '</select>'."\n";      $Str .= '</select>'."\n";
 }  }
   
 sub Title {  sub MultipleSectionSelect {
     my ($pageName)=@_;      my ($sections,$selectedSections)=@_;
   
     my $Str = '';      my $Str = '';
       $Str .= '<select name="Section" multiple="true" size="4">'."\n";
   
     $Str .= '<html><head><title>'.$pageName.'</title></head>'."\n";      foreach (@$sections) {
     $Str .= '<body bgcolor="#FFFFFF">'."\n";          $Str .= '<option';
     $Str .= '<script>window.focus(); window.width=500;window.height=500;';          foreach my $selected (@$selectedSections) {
     $Str .= '</script>'."\n";              if($_ eq $selected) {
     $Str .= '<table width="100%"><tr><td valign="top">';                  $Str .= ' selected=""';
     $Str .= '<h1> Course: ';              }
     $Str .= $ENV{'course.'.$ENV{'request.course.id'}.'.description'};          }
     $Str .= '</h1></td><td align="right">'."\n";          $Str .= '>'.$_.'</option>'."\n";
     $Str .= '<img align="right" src=/adm/lonIcons/lonlogos.gif>';      }
     $Str .= '</td></tr></table>'."\n";      $Str .= '</select>'."\n";
 #    $Str .= '<h3>Current Time: '.localtime(time).'</h3><br><br><br>'."\n";  
   
     return $Str;      return $Str;
 }  }
   
 sub CreateStatisticsMainMenu {  sub Title {
     my ($status, $reports)=@_;      my ($pageName)=@_;
   
     my $Str = '';      my $Str = '';
   
     $Str .= '<table border="0"><tbody><tr>'."\n";      $Str .= '<html><head><title>'.$pageName.'</title></head>'."\n";
     $Str .= '<td></td><td></td>'."\n";      $Str .= &Apache::loncommon::bodytag($pageName)."\n";
     $Str .= '<td align="center"><b>Analysis Reports:</b></td>'."\n";      $Str .= '<script>window.focus(); window.width=500;window.height=500;';
     $Str .= '<td align="center"><b>Student Status:</b></td></tr>'."\n";      $Str .= '</script>'."\n";
     $Str .= '<tr>'."\n";  
     $Str .= '<td align="center"><input type="submit" name="Refresh" ';  
     $Str .= 'value="Refresh" /></td>'."\n";  
     $Str .= '<td align="center"><input type="submit" name="DownloadAll" ';  
     $Str .= 'value="Update All Student Data" /></td>'."\n";  
     $Str .= '<td align="center">';  
     $Str .= '<select name="reportSelected" onchange="document.';  
     $Str .= 'Statistics.submit()">'."\n";  
   
     foreach (sort(keys(%$reports))) {  
         next if($_ eq 'reportSelected');  
         $Str .= '<option name="'.$_.'"';  
         if($reports->{'reportSelected'} eq $reports->{$_}) {  
             $Str .= ' selected=""';  
         }  
         $Str .= '>'.$reports->{$_}.'</option>'."\n";  
     }  
     $Str .= '</select></td>'."\n";  
   
     $Str .= '<td align="center">';  
     $Str .= &StatusOptions($status, 'Statistics');  
     $Str .= '</td>'."\n";  
   
     $Str .= '</tr></tbody></table>'."\n";  
     $Str .= '<hr>'."\n";  
   
     return $Str;      return $Str;
 }  }
Line 181  This function generates the column headi Line 260  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 200  $Str: A formatted string of the table co Line 279  $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 228  username, domain, section, full name, an Line 314  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 249  $Str: Formatted string. Line 335  $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 @$studentInformation); $index++) {      for(my $index=0; $index<(scalar @$keyID); $index++) {
         if(!&ShouldShowColumn($cache, 'ChartHeading'.$index)) {          $currentColumn=$data->{$name.':'.$keyID->[$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 $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;
 }  }
   
   # Create progress
   sub Create_PrgWin {
       my ($r, $title, $heading)=@_;
       $r->print('<script>'.
       "popwin=open(\'\',\'popwin\',\'width=400,height=100\');".
       "popwin.document.writeln(\'<html><body bgcolor=\"#88DDFF\">".
                 "<title>$title</title>".
                 "<h4>$heading</h4>".
                 "<form name=popremain>".
                 "<input type=text size=35 name=remaining value=Starting></form>".
                 "</body></html>\');".
       "popwin.document.close();".
       "</script>");
   
       $r->rflush();
   }
   
   # update progress
   sub Update_PrgWin {
       my ($displayString,$r)=@_;
       $r->print('<script>popwin.document.popremain.remaining.value="'.
                 $displayString.'";</script>');
       $r->rflush();
   }
   
   # close Progress Line
   sub Close_PrgWin {
       my ($r)=@_;
       $r->print('<script>popwin.close()</script>'."\n");
       $r->rflush(); 
   }
   
 1;  1;
 __END__  __END__

Removed from v.1.2  
changed lines
  Added in v.1.9


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