version 1.13, 2003/02/20 14:34:59
|
version 1.15, 2003/03/03 22:00:03
|
Line 640 sub FormatStudentInformation {
|
Line 640 sub FormatStudentInformation {
|
|
|
# Create progress |
# Create progress |
sub Create_PrgWin { |
sub Create_PrgWin { |
my ($r, $title, $heading)=@_; |
my ($r, $title, $heading, $number_to_do)=@_; |
$r->print('<script>'. |
$r->print('<script>'. |
"popwin=open(\'\',\'popwin\',\'width=400,height=100\');". |
"popwin=open(\'\',\'popwin\',\'width=400,height=100\');". |
"popwin.document.writeln(\'<html><body bgcolor=\"#88DDFF\">". |
"popwin.document.writeln(\'<html><head><title>$title</title></head>". |
"<title>$title</title>". |
"<body bgcolor=\"#88DDFF\">". |
"<h4>$heading</h4>". |
"<h4>$heading</h4>". |
"<form name=popremain>". |
"<form name=popremain>". |
"<input type=text size=35 name=remaining value=Starting></form>". |
"<input type=text size=55 name=remaining value=Starting></form>". |
"</body></html>\');". |
"</body></html>\');". |
"popwin.document.close();". |
"popwin.document.close();". |
"</script>"); |
"</script>"); |
|
|
|
my %prog_state; |
|
$prog_state{'now'}=0; |
|
$prog_state{'since'}=time; |
|
$prog_state{'started'}=time; |
|
$prog_state{'total'}=$number_to_do; |
|
|
$r->rflush(); |
$r->rflush(); |
|
return %prog_state; |
} |
} |
|
|
# update progress |
# update progress |
sub Update_PrgWin { |
sub Update_PrgWin { |
my ($displayString,$r)=@_; |
my ($r,$prog_state,$displayString)=@_; |
$r->print('<script>popwin.document.popremain.remaining.value="'. |
$r->print('<script>popwin.document.popremain.remaining.value="'. |
$displayString.'";</script>'); |
$displayString.'";</script>'); |
|
$$prog_state{'started'}=time; |
|
$r->rflush(); |
|
} |
|
|
|
# increment progress state |
|
sub Increment_PrgWin { |
|
my ($r,$prog_state,$extraInfo)=@_; |
|
$$prog_state{'now'}++; |
|
$r->print('<script>popwin.document.popremain.remaining.value="'. |
|
$$prog_state{'now'}.'/'.$$prog_state{'total'}. |
|
': '.int((time-$$prog_state{'since'})/ |
|
$$prog_state{'now'}*($$prog_state{'total'}-$$prog_state{'now'})). |
|
' secs remaining ('.(time-$$prog_state{'started'}). |
|
' seconds for '.$extraInfo.')";'.'</script>'); |
|
$$prog_state{'started'}=time; |
$r->rflush(); |
$r->rflush(); |
} |
} |
|
|
# close Progress Line |
# close Progress Line |
sub Close_PrgWin { |
sub Close_PrgWin { |
my ($r)=@_; |
my ($r,$prog_state)=@_; |
$r->print('<script>popwin.close()</script>'."\n"); |
$r->print('<script>popwin.close()</script>'."\n"); |
|
undef(%$prog_state); |
$r->rflush(); |
$r->rflush(); |
} |
} |
|
|