--- loncom/homework/structuretags.pm 2006/01/27 23:36:48 1.332
+++ loncom/homework/structuretags.pm 2006/06/24 01:33:40 1.332.2.4
@@ -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 2006/01/27 23:36:48 albertel Exp $
+# $Id: structuretags.pm,v 1.332.2.4 2006/06/24 01:33:40 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') {
+ if ($target eq 'web' || $target eq 'webgrade') {
return $bodytext;
}
return '';
@@ -113,6 +113,12 @@ 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();
}
@@ -423,13 +429,14 @@ 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'}
-
@@ -441,9 +448,10 @@ 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".
-
@@ -484,7 +492,9 @@ 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 {
@@ -496,6 +506,11 @@ 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 {
@@ -974,8 +989,8 @@ sub start_block {
my $result;
- if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
- $target eq 'tex' || $target eq 'analyze') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
+ $target eq 'tex' || $target eq 'analyze' || $target eq 'webgrade') {
my $code = $token->[2]->{'condition'};
if (defined($code)) {
if (!$Apache::lonxml::default_homework_loaded) {
@@ -1018,8 +1033,8 @@ sub start_languageblock {
my $result;
- if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
- $target eq 'tex' || $target eq 'analyze') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
+ $target eq 'tex' || $target eq 'analyze' || $target eq 'webgrade') {
my $include = $token->[2]->{'include'};
my $exclude = $token->[2]->{'exclude'};
my %languages=&Apache::loncommon::display_languages();
@@ -1071,8 +1086,8 @@ sub start_instructorcomment {
my $result;
- if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
- $target eq 'tex' || $target eq 'analyze') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
+ $target eq 'tex' || $target eq 'analyze' || $target eq 'webgrade') {
$result=($env{'request.role'}=~/^(in|cc|au|ca|li)/);
if ( (! $result) or ($env{'form.instructor_comments'} eq 'hide')) {
my $skip=&Apache::lonxml::get_all_text("/instructorcomment",
@@ -1100,8 +1115,8 @@ sub start_while {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
- if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
- $target eq 'tex' || $target eq 'analyze') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
+ $target eq 'tex' || $target eq 'analyze' || $target eq 'webgrade') {
my $code = $token->[2]->{'condition'};
push( @Apache::structuretags::whileconds, $code);
@@ -1133,8 +1148,8 @@ sub end_while {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
my $result;
- if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
- $target eq 'tex' || $target eq 'analyze') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
+ $target eq 'tex' || $target eq 'analyze' || $target eq 'webgrade') {
my $code = pop(@Apache::structuretags::whileconds);
my $bodytext = pop(@Apache::structuretags::whilebody);
my $line = pop(@Apache::structuretags::whileline);
@@ -1167,8 +1182,8 @@ sub end_while {
sub start_randomlist {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
- if ($target eq 'answer' || $target eq 'grade' || $target eq 'web' ||
- $target eq 'tex' || $target eq 'analyze') {
+ if ($target eq 'answer' || $target eq 'grade' || $target eq 'web' ||
+ $target eq 'tex' || $target eq 'analyze' || $target eq 'webgrade') {
my $body= &Apache::lonxml::get_all_text("/randomlist",$parser);
my $b_parser= HTML::LCParser->new(\$body);
$b_parser->xml_mode(1);
@@ -1408,7 +1423,8 @@ sub end_part {
sub start_preduedate {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
- if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
+ $target eq 'tex' || $target eq 'webgrade') {
&Apache::lonxml::debug("State in preduedate is ". $Apache::inputtags::status['-1']);
if (!$Apache::lonhomework::scantronmode &&
$Apache::inputtags::status['-1'] ne 'CAN_ANSWER' &&
@@ -1426,7 +1442,7 @@ sub end_preduedate {
sub start_postanswerdate {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
- if ($target eq 'web' || $target eq 'grade') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'webgrade') {
if ($Apache::lonhomework::scantronmode ||
$Apache::inputtags::status['-1'] ne 'SHOW_ANSWER') {
&Apache::lonxml::get_all_text("/postanswerdate",$parser,$style);
@@ -1444,7 +1460,7 @@ sub end_postanswerdate {
sub start_notsolved {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
- $target eq 'tex') {
+ $target eq 'tex' || $target eq 'webgrade') {
my $gradestatus=$Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"};
&Apache::lonxml::debug("not solved has :$gradestatus:");
if ($gradestatus =~ /^correct/ &&
@@ -1480,8 +1496,8 @@ sub end_solved {
sub start_problemtype {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
- if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
- $target eq 'tex' || $target eq 'analyze') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
+ $target eq 'tex' || $target eq 'analyze' || $target eq 'webgrade') {
my $mode=lc(&Apache::lonxml::get_param('mode',$parstack,$safeeval));
if (!defined($mode)) { $mode='show'; }
my $for=&Apache::lonxml::get_param('for',$parstack,$safeeval);