version 1.124, 2003/11/25 23:04:58
|
version 1.133, 2004/02/27 17:18:32
|
Line 24
|
Line 24
|
# /home/httpd/html/adm/gpl.txt |
# /home/httpd/html/adm/gpl.txt |
# |
# |
# http://www.lon-capa.org/ |
# http://www.lon-capa.org/ |
# |
|
# 2/19 Guy |
|
|
|
package Apache::inputtags; |
package Apache::inputtags; |
use HTML::Entities(); |
use HTML::Entities(); |
Line 64 sub initialize_inputtags {
|
Line 62 sub initialize_inputtags {
|
@Apache::inputtags::import=(); |
@Apache::inputtags::import=(); |
# list of all import ids seen |
# list of all import ids seen |
@Apache::inputtags::importlist=(); |
@Apache::inputtags::importlist=(); |
|
# just used to note whether we have seen a response that isn't in a part |
|
$Apache::inputtags::response_with_no_part=0; |
} |
} |
|
|
sub check_for_duplicate_ids { |
sub check_for_duplicate_ids { |
Line 371 sub decideoutput {
|
Line 371 sub decideoutput {
|
$ENV{'request.course.id'}. |
$ENV{'request.course.id'}. |
'.disable_receipt_display'} eq 'yes') { |
'.disable_receipt_display'} eq 'yes') { |
$message.=(($target eq 'web')?'<br />':' '). |
$message.=(($target eq 'web')?'<br />':' '). |
&mt('Your receipt is').' '.&Apache::lonnet::receipt(). |
&mt('Your receipt is').' '.&Apache::lonnet::receipt($Apache::inputtags::part). |
(($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):''); |
(($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):''); |
} |
} |
} |
} |
Line 398 sub decideoutput {
|
Line 398 sub decideoutput {
|
$ENV{'request.course.id'}. |
$ENV{'request.course.id'}. |
'.disable_receipt_display'} eq 'yes') { |
'.disable_receipt_display'} eq 'yes') { |
$message.=(($target eq 'web')?'<br />':' '). |
$message.=(($target eq 'web')?'<br />':' '). |
'Your receipt is '.&Apache::lonnet::receipt(). |
'Your receipt is '.&Apache::lonnet::receipt($Apache::inputtags::part). |
(($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):''); |
(($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):''); |
} |
} |
$bgcolor=$possiblecolors{'correct'}; |
$bgcolor=$possiblecolors{'correct'}; |
Line 480 sub decideoutput {
|
Line 480 sub decideoutput {
|
} |
} |
if (lc($Apache::lonhomework::problemstatus) eq 'no' && |
if (lc($Apache::lonhomework::problemstatus) eq 'no' && |
$Apache::inputtags::status[-1] ne 'SHOW_ANSWER') { |
$Apache::inputtags::status[-1] ne 'SHOW_ANSWER') { |
$message = &mt("Answer Submitted"); |
$message = &mt("Answer Submitted: Your final submission will be graded after the due date."); |
$bgcolor=$possiblecolors{'correct'}; |
$bgcolor=$possiblecolors{'correct'}; |
$button=1; |
$button=1; |
} |
} |
Line 500 sub removealldata {
|
Line 500 sub removealldata {
|
sub setgradedata { |
sub setgradedata { |
my ($award,$id,$previously_used) = @_; |
my ($award,$id,$previously_used) = @_; |
# if the student already has it correct, don't modify the status |
# if the student already has it correct, don't modify the status |
if ($Apache::inputtags::status['-1'] ne 'CAN_ANSWER' && |
if (!$Apache::lonhomework::scantronmode && |
|
$Apache::inputtags::status['-1'] ne 'CAN_ANSWER' && |
$Apache::inputtags::status['-1'] ne 'CANNOT_ANSWER') { |
$Apache::inputtags::status['-1'] ne 'CANNOT_ANSWER') { |
$Apache::lonhomework::results{"resource.$id.afterduedate"}=$award; |
$Apache::lonhomework::results{"resource.$id.afterduedate"}=$award; |
return ''; |
return ''; |
Line 567 sub setgradedata {
|
Line 568 sub setgradedata {
|
} |
} |
} |
} |
|
|
# check if this was a previous submission if it was delete the |
# did either of the overall awards chage? If so ignore the |
# unneeded data and update the previously_used attribute |
# previous check |
if ( $previously_used eq 'PREVIOUSLY_USED') { |
if (($Apache::lonhomework::results{"resource.$id.awarded"} eq |
if (lc($Apache::lonhomework::problemstatus) ne 'no') { |
$Apache::lonhomework::history{"resource.$id.awarded"}) && |
delete($Apache::lonhomework::results{"resource.$id.tries"}); |
($Apache::lonhomework::results{"resource.$id.solved"} eq |
$Apache::lonhomework::results{"resource.$id.previous"} = '1'; |
$Apache::lonhomework::history{"resource.$id.solved"})) { |
} |
# check if this was a previous submission if it was delete the |
} elsif ( $previously_used eq 'PREVIOUSLY_LAST') { |
# unneeded data and update the previously_used attribute |
#delete all data as they student didn't do anything, but save |
if ( $previously_used eq 'PREVIOUSLY_USED') { |
#the list of collaborators. |
if (lc($Apache::lonhomework::problemstatus) ne 'no') { |
&removealldata($id); |
delete($Apache::lonhomework::results{"resource.$id.tries"}); |
#and since they didn't do anything we were never here |
$Apache::lonhomework::results{"resource.$id.previous"} = '1'; |
return ''; |
} |
} else { |
} elsif ( $previously_used eq 'PREVIOUSLY_LAST') { |
$Apache::lonhomework::results{"resource.$id.previous"} = '0'; |
#delete all data as they student didn't do anything, but save |
|
#the list of collaborators. |
|
&removealldata($id); |
|
#and since they didn't do anything we were never here |
|
return ''; |
|
} else { |
|
$Apache::lonhomework::results{"resource.$id.previous"} = '0'; |
|
} |
} |
} |
} elsif ( $Apache::lonhomework::history{"resource.$id.solved"} =~ |
} elsif ( $Apache::lonhomework::history{"resource.$id.solved"} =~ |
/^correct/ ) { |
/^correct/ ) { |
Line 655 sub gradestatus {
|
Line 663 sub gradestatus {
|
($showbutton,$bgcolor,$message,$previousmsg) = |
($showbutton,$bgcolor,$message,$previousmsg) = |
&decideoutput($award,$solved,$previous,$target); |
&decideoutput($award,$solved,$previous,$target); |
if ($target eq 'tex') { |
if ($target eq 'tex') { |
$message=' '.$message.' '; |
$message='\vskip 2 mm '.$message.' '; |
} else { |
} else { |
$message="<td bgcolor=\"$bgcolor\">$message</td>"; |
$message="<td bgcolor=\"$bgcolor\">$message</td>"; |
if ($previousmsg) { |
if ($previousmsg) { |
Line 671 sub gradestatus {
|
Line 679 sub gradestatus {
|
if ( $tries eq '' ) { $tries = '0'; } |
if ( $tries eq '' ) { $tries = '0'; } |
if ( $maxtries eq '' ) { $maxtries = '2'; } |
if ( $maxtries eq '' ) { $maxtries = '2'; } |
if ( $maxtries eq 'con_lost' ) { $maxtries = '0'; } |
if ( $maxtries eq 'con_lost' ) { $maxtries = '0'; } |
|
my $tries_text=&mt('Tries'); |
|
if ( $Apache::lonhomework::type eq 'survey') { $tries_text=&mt('Submissions'); } |
if ( $showbutton ) { |
if ( $showbutton ) { |
if ($target eq 'tex') { |
if ($target eq 'tex') { |
if ($ENV{'request.state'} ne "construct" && $Apache::lonhomework::type ne 'exam') { |
if ($ENV{'request.state'} ne "construct" && $Apache::lonhomework::type ne 'exam') { |
$trystr = ' {\vskip 1 mm \small \textit{'.&mt('Tries').'} '.$tries.'/'.$maxtries.'} \vskip 2 mm '; |
$trystr = ' {\vskip 1 mm \small \textit{'.$tries_text.'} '.$tries.'/'.$maxtries.'} \vskip 2 mm '; |
} else { |
} else { |
$trystr = '\vskip 0 mm '; |
$trystr = '\vskip 0 mm '; |
} |
} |
} else { |
} else { |
$trystr = "<td>".&mt('Tries')." $tries/$maxtries</td>"; |
$trystr = "<td>".$tries_text." $tries"; |
|
if($ENV{'request.state'} ne 'construct') { |
|
$trystr.="/$maxtries"; |
|
} else { |
|
if (defined($Apache::inputtags::params{'maxtries'})) { |
|
$trystr.="/".$Apache::inputtags::params{'maxtries'}; |
|
} |
|
} |
|
$trystr.="</td>"; |
} |
} |
} |
} |
if ( $status eq 'SHOW_ANSWER' || $status eq 'CANNOT_ANSWER') {$showbutton = 0;} |
if ( $status eq 'SHOW_ANSWER' || $status eq 'CANNOT_ANSWER') {$showbutton = 0;} |
if ( $showbutton ) { |
if ( $showbutton ) { |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
$button = '<br /><input type="submit" name="submit" value="'.&mt('Submit Answer').'" />'; |
$button = '<input type="submit" name="submit" value="'.&mt('Submit Answer').'" />'; |
} |
} |
} |
} |
if ($Apache::lonhomework::history{"resource.$id.afterduedate"}) { |
if ($Apache::lonhomework::history{"resource.$id.afterduedate"}) { |
Line 704 sub gradestatus {
|
Line 722 sub gradestatus {
|
if ($target eq 'tex') { |
if ($target eq 'tex') { |
return $button.' \vskip 0 mm '.$output.' '; |
return $button.' \vskip 0 mm '.$output.' '; |
} else { |
} else { |
return $button.'<table><tr>'.$output.'</tr></table>'; |
return '<table><tr><td>'.$button.'</td>'.$output.'</tr></table>'; |
} |
} |
} |
} |
} |
} |