--- loncom/homework/structuretags.pm 2006/06/24 01:33:40 1.332.2.4
+++ loncom/homework/structuretags.pm 2006/02/10 23:44:53 1.333
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: structuretags.pm,v 1.332.2.4 2006/06/24 01:33:40 albertel Exp $
+# $Id: structuretags.pm,v 1.333 2006/02/10 23:44:53 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -44,7 +44,7 @@ BEGIN {
sub start_web {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $bodytext=&Apache::lonxml::get_all_text("/web",$parser,$style);
- if ($target eq 'web' || $target eq 'webgrade') {
+ if ($target eq 'web') {
return $bodytext;
}
return '';
@@ -113,12 +113,6 @@ sub page_start {
&Apache::lonhtmlcommon::htmlareaheaders().
&Apache::lonhtmlcommon::spellheader().
&Apache::lonxml::fontsettings();
- my $css_href = &Apache::lonnet::EXT('resource.0.cssfile');
- if ($css_href =~ /\S/) {
- &Apache::lonxml::extlink($css_href);
- $head_tag_start =
- '';
- }
if ($target eq 'edit') {
$head_tag_start.=&Apache::edit::js_change_detection();
}
@@ -192,8 +186,10 @@ sub setup_rndseed {
my ($safeeval)=@_;
my $rndseed;
my ($symb)=&Apache::lonxml::whichuser();
- if ($env{'request.state'} eq "construct" || $symb eq '' ||
- $Apache::lonhomework::history{'resource.CODE'}) {
+ if ($env{'request.state'} eq "construct"
+ || $symb eq ''
+ || $Apache::lonhomework::type eq 'practice'
+ || $Apache::lonhomework::history{'resource.CODE'}) {
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
['rndseed']);
$rndseed=$env{'form.rndseed'};
@@ -336,9 +332,19 @@ sub initialize_storage {
%Apache::lonhomework::results=();
%Apache::lonhomework::history=();
my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser();
- if ($env{'request.state'} eq 'construct' || $symb eq '') {
+ if ($env{'request.state'} eq 'construct'
+ || $symb eq ''
+ || $Apache::lonhomework::type eq 'practice') {
+
+ my $namespace = $symb || $env{'request.uri'};
+ if ($env{'form.resetdata'} eq &mt('Reset Submissions') ||
+ $env{'form.resetdata'} eq &mt('New Problem Variation') ||
+ $env{'form.newrandomization'} eq &mt('New Randomization')) {
+ &Apache::lonnet::tmpreset($namespace,'',$domain,$name);
+ &Apache::lonxml::debug("Attempt reset");
+ }
%Apache::lonhomework::history=
- &Apache::lonnet::tmprestore($env{'request.uri'},'',$domain,$name);
+ &Apache::lonnet::tmprestore($namespace,'',$domain,$name);
my ($temp)=keys %Apache::lonhomework::history ;
&Apache::lonxml::debug("Return message of $temp");
} else {
@@ -362,10 +368,13 @@ sub finalize_storage {
my @remove = grep(/^INTERNAL_/,keys(%Apache::lonhomework::results));
delete(@Apache::lonhomework::results{@remove});
my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser();
- if ($env{'request.state'} eq 'construct' || $symb eq '') {
+ if ($env{'request.state'} eq 'construct'
+ || $symb eq ''
+ || $Apache::lonhomework::type eq 'practice') {
+ my $namespace = $symb || $env{'request.uri'};
$Apache::lonhomework::results{'rndseed'}=$env{'form.rndseed'};
$result=&Apache::lonnet::tmpstore(\%Apache::lonhomework::results,
- $env{'request.uri'},'',$domain,$name);
+ $namespace,'',$domain,$name);
&Apache::lonxml::debug('Construct Store return message:'.$result);
} else {
$result=&Apache::lonnet::cstore(\%Apache::lonhomework::results,
@@ -429,14 +438,13 @@ sub checkout_msg {
'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?');
- my $uri = &Apache::lonenc::check_encrypt($env{'request.uri'});
return (<$lt{'resource'}
$lt{'id_expln'}
$lt{'warning'}
-
@@ -448,10 +456,9 @@ sub firstaccess_msg {
my ($map)=&Apache::lonnet::decode_symb($symb);
my $foldertitle=&Apache::lonnet::gettitle($map);
&Apache::lonxml::debug("map is $map title is $foldertitle");
- my $uri = &Apache::lonenc::check_encrypt($env{'request.uri'});
return (<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".
-
@@ -492,9 +499,7 @@ sub init_problem_globals {
@Apache::structuretags::whileline=();
$Apache::lonhomework::scantronmode=0;
undef($Apache::lonhomework::name);
- undef($Apache::lonhomework::default_type);
- undef($Apache::lonhomework::type);
- undef($Apache::lonhomework::problemstatus);
+
}
sub reset_problem_globals {
@@ -506,11 +511,6 @@ sub reset_problem_globals {
#detect if we try to do 2 problems in one file
# undef($Apache::lonhomework::parsing_a_problem);
undef($Apache::lonhomework::name);
- undef($Apache::lonhomework::default_type);
- undef($Apache::lonhomework::type);
- undef($Apache::lonhomework::scantronmode);
- undef($Apache::lonhomework::problemstatus);
- undef($Apache::lonhomework::ignore_response_errors);
}
sub set_problem_state {
@@ -617,14 +617,15 @@ sub start_problem {
#handle rand seed in construction space
my $rndseed=&setup_rndseed($safeeval);
my ($symb)=&Apache::lonxml::whichuser();
- if ($env{'request.state'} ne "construct" && $symb eq '') {
+ if ($env{'request.state'} ne "construct" &&
+ ($symb eq '' || $Apache::lonhomework::type eq 'practice')) {
$form_tag_start.=''.
''.
'';
- if ($env{'user.adv'}) {
+ if ($env{'request.role.adv'}) {
$form_tag_start.=
'