version 1.350, 2006/04/20 03:28:52
|
version 1.356, 2006/05/30 12:45:37
|
Line 38 use Apache::lonlocal;
|
Line 38 use Apache::lonlocal;
|
use Apache::lonxml; |
use Apache::lonxml; |
use Apache::lonenc(); |
use Apache::lonenc(); |
use Time::HiRes qw( gettimeofday tv_interval ); |
use Time::HiRes qw( gettimeofday tv_interval ); |
|
use lib '/home/httpd/lib/perl/'; |
|
use LONCAPA; |
|
|
BEGIN { |
BEGIN { |
&Apache::lonxml::register('Apache::structuretags',('block','languageblock','instructorcomment','while','randomlist','problem','library','web','tex','part','preduedate','postanswerdate','solved','notsolved','problemtype','startouttext','endouttext','simpleeditbutton','definetag')); |
&Apache::lonxml::register('Apache::structuretags',('block','languageblock','instructorcomment','while','randomlist','problem','library','web','tex','part','preduedate','postanswerdate','solved','notsolved','problemtype','startouttext','endouttext','simpleeditbutton','definetag')); |
} |
} |
Line 160 sub page_start {
|
Line 163 sub page_start {
|
$form_tag_start.=&Apache::edit::form_change_detection(); |
$form_tag_start.=&Apache::edit::form_change_detection(); |
} |
} |
$form_tag_start.='>'; |
$form_tag_start.='>'; |
|
|
|
my $symb=&Apache::lonnet::symbread(); |
|
if ($symb =~ /\S/) { |
|
$symb= |
|
&HTML::Entities::encode(&Apache::lonenc::check_encrypt($symb)); |
|
$form_tag_start.= |
|
'<input type="hidden" name="symb" value="'.$symb.'" />'; |
|
} |
} |
} |
&Apache::lonnet::logthis("page_start -- ".length($page_start)); |
|
return ($page_start,$form_tag_start); |
return ($page_start,$form_tag_start); |
} |
} |
|
|
Line 332 Feedback Mode:
|
Line 342 Feedback Mode:
|
} |
} |
|
|
sub initialize_storage { |
sub initialize_storage { |
%Apache::lonhomework::results=(); |
undef(%Apache::lonhomework::results); |
%Apache::lonhomework::history=(); |
undef(%Apache::lonhomework::history); |
my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser(); |
my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser(); |
|
|
|
# anonymous users (CODEd exams) have no data |
|
if ($name eq 'anonymous' |
|
&& !defined($domain)) { |
|
return; |
|
} |
|
|
if ($env{'request.state'} eq 'construct' |
if ($env{'request.state'} eq 'construct' |
|| $symb eq '' |
|| $symb eq '' |
|| $Apache::lonhomework::type eq 'practice') { |
|| $Apache::lonhomework::type eq 'practice') { |
Line 354 sub initialize_storage {
|
Line 371 sub initialize_storage {
|
%Apache::lonhomework::history= |
%Apache::lonhomework::history= |
&Apache::lonnet::restore($symb,$courseid,$domain,$name); |
&Apache::lonnet::restore($symb,$courseid,$domain,$name); |
} |
} |
|
|
#ignore error conditions |
#ignore error conditions |
my ($temp)=keys %Apache::lonhomework::history ; |
my ($temp)=keys %Apache::lonhomework::history ; |
if ($temp =~ m/^error:.*/) { %Apache::lonhomework::history=(); } |
if ($temp =~ m/^error:.*/) { %Apache::lonhomework::history=(); } |
Line 441 sub checkout_msg {
|
Line 459 sub checkout_msg {
|
'warning'=>'Checking out resources is subject to course policies, and may exclude future credit even if done erroneously.', |
'warning'=>'Checking out resources is subject to course policies, and may exclude future credit even if done erroneously.', |
'checkout'=>'Check out Exam for Viewing', |
'checkout'=>'Check out Exam for Viewing', |
'checkout?'=>'Check out Exam?'); |
'checkout?'=>'Check out Exam?'); |
|
my $uri = &Apache::lonenc::check_encrypt($env{'request.uri'}); |
return (<<ENDCHECKOUT); |
return (<<ENDCHECKOUT); |
<h2>$lt{'resource'}</h2> |
<h2>$lt{'resource'}</h2> |
<p>$lt{'id_expln'}</p> |
<p>$lt{'id_expln'}</p> |
<font color="red"> |
<font color="red"> |
<p>$lt{'warning'}</p> |
<p>$lt{'warning'}</p> |
</font> |
</font> |
<form name="checkout" method="POST" action="$env{'request.uri'}"> |
<form name="checkout" method="POST" action="$uri"> |
<input type="hidden" name="doescheckout" value="yes" /> |
<input type="hidden" name="doescheckout" value="yes" /> |
<input type="button" name="checkoutbutton" value="$lt{'checkout'}" onClick="javascript:if (confirm('$lt{'checkout?'}')) { document.checkout.submit(); }" /> |
<input type="button" name="checkoutbutton" value="$lt{'checkout'}" onClick="javascript:if (confirm('$lt{'checkout?'}')) { document.checkout.submit(); }" /> |
</form> |
</form> |
Line 459 sub firstaccess_msg {
|
Line 478 sub firstaccess_msg {
|
my ($map)=&Apache::lonnet::decode_symb($symb); |
my ($map)=&Apache::lonnet::decode_symb($symb); |
my $foldertitle=&Apache::lonnet::gettitle($map); |
my $foldertitle=&Apache::lonnet::gettitle($map); |
&Apache::lonxml::debug("map is $map title is $foldertitle"); |
&Apache::lonxml::debug("map is $map title is $foldertitle"); |
|
my $uri = &Apache::lonenc::check_encrypt($env{'request.uri'}); |
return (<<ENDCHECKOUT); |
return (<<ENDCHECKOUT); |
<h2>The resources in "$foldertitle" are open for a limited time. Once you click the 'Show Resource' button below you have $time to complete all resources "$foldertitle".</h2> |
<h2>The resources in "$foldertitle" are open for a limited time. Once you click the 'Show Resource' button below you have $time to complete all resources "$foldertitle".</h2> |
<form name="markaccess" method="POST" action="$env{'request.uri'}"> |
<form name="markaccess" method="POST" action="$uri"> |
<input type="hidden" name="markaccess" value="yes" /> |
<input type="hidden" name="markaccess" value="yes" /> |
<input type="button" name="accessbutton" value="Show Resource" onClick="javascript:if (confirm('Start Timer?')) { document.markaccess.submit(); }" /> |
<input type="button" name="accessbutton" value="Show Resource" onClick="javascript:if (confirm('Start Timer?')) { document.markaccess.submit(); }" /> |
</form> |
</form> |
Line 597 sub start_problem {
|
Line 617 sub start_problem {
|
|
|
my $name= &get_resource_name($parstack,$safeeval); |
my $name= &get_resource_name($parstack,$safeeval); |
my ($result,$form_tag_start); |
my ($result,$form_tag_start); |
if ($target eq 'web' || $target eq 'webgrade' || $target eq 'tex') { |
if ($target eq 'web' || $target eq 'webgrade' || $target eq 'tex' |
|
|| $target eq 'edit') { |
($result,$form_tag_start) = |
($result,$form_tag_start) = |
&page_start($target,$token,$tagstack,$parstack,$parser,$safeeval, |
&page_start($target,$token,$tagstack,$parstack,$parser,$safeeval, |
$name); |
$name); |
Line 1362 sub start_part {
|
Line 1383 sub start_part {
|
} |
} |
if (($Apache::lonhomework::type eq 'exam') && ($allow_print_points)) { $result .= '\fbox{\textit{'.$weight.' pt}}';} |
if (($Apache::lonhomework::type eq 'exam') && ($allow_print_points)) { $result .= '\fbox{\textit{'.$weight.' pt}}';} |
} elsif ($target eq 'web') { |
} elsif ($target eq 'web') { |
$result.='<a name="'.&Apache::lonnet::escape($Apache::inputtags::part).'" />'; |
$result.='<a name="'.&escape($Apache::inputtags::part).'" />'; |
} |
} |
} |
} |
} |
} |
Line 1615 sub start_simpleeditbutton {
|
Line 1636 sub start_simpleeditbutton {
|
$url=~s/\?.*$//; |
$url=~s/\?.*$//; |
my ($symb) = &Apache::lonxml::whichuser(); |
my ($symb) = &Apache::lonxml::whichuser(); |
$result='<table width="100%" bgcolor="#FFFFAA" border="2"><tr><td>'. |
$result='<table width="100%" bgcolor="#FFFFAA" border="2"><tr><td>'. |
'<a href="'.$url.'/smpedit?symb='.&Apache::lonnet::escape($symb).'">'.&mt('Edit').'</a> - '.&mt('Note: it can take up to 10 minutes for changes to take effect for all users.'). |
'<a href="'.$url.'/smpedit?symb='.&escape($symb).'">'.&mt('Edit').'</a> - '.&mt('Note: it can take up to 10 minutes for changes to take effect for all users.'). |
&Apache::loncommon::help_open_topic('Caching').'</td></tr></table><br />'; |
&Apache::loncommon::help_open_topic('Caching').'</td></tr></table><br />'; |
} |
} |
return $result; |
return $result; |