version 1.3, 2002/07/24 14:52:32
|
version 1.8, 2002/08/21 17:18: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 57 sub MapOptions {
|
Line 86 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; |
|
|
Line 116 sub StatusOptions {
|
Line 149 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 182 This function generates the column headi
|
Line 190 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 201 $Str: A formatted string of the table co
|
Line 209 $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 229 username, domain, section, full name, an
|
Line 244 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 250 $Str: Formatted string.
|
Line 265 $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__ |