--- loncom/homework/structuretags.pm 2005/09/23 20:39:35 1.303
+++ loncom/homework/structuretags.pm 2005/11/01 21:52:47 1.307
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: structuretags.pm,v 1.303 2005/09/23 20:39:35 albertel Exp $
+# $Id: structuretags.pm,v 1.307 2005/11/01 21:52:47 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -74,8 +74,7 @@ sub body_tag_start {
'onunload="'.&Apache::lonmenu::unloadevents().'" ';
if ($env{'browser.imagesuppress'} eq 'on') { $background=''; }
if ($background) {
- $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=
- $background;
+ &Apache::lonxml::extlink($background);
$body_tag_start.='background="'.$background.'" ';
} else {
if (($bgcolor) && ($env{'browser.blackwhite'} ne 'on')) {
@@ -193,7 +192,7 @@ sub setup_rndseed {
delete($env{'form.newrandomization'});
}
if (defined($rndseed) && $rndseed ne int($rndseed)) {
- $rndseed=join(',',&Math::Random::random_seed_from_phrase($rndseed));
+ $rndseed=join(':',&Apache::lonnet::digest($rndseed));
}
if ($Apache::lonhomework::history{'resource.CODE'}) {
$rndseed=&Apache::lonnet::rndseed();
@@ -436,6 +435,11 @@ sub init_problem_globals {
@Apache::inputtags::partlist=();
$Apache::lonhomework::problemstatus='';
$Apache::lonhomework::ignore_response_errors=1;
+ } elsif ($type eq 'Task') {
+ $Apache::inputtags::part='0';
+ @Apache::inputtags::partlist=('0');
+ $Apache::lonhomework::problemstatus='';
+ $Apache::lonhomework::ignore_response_errors=1;
}
@Apache::inputtags::responselist = ();
@Apache::inputtags::importlist = ();
@@ -662,14 +666,18 @@ sub start_problem {
my $due_file_content = $due_file_content[$#due_file_content];
chomp $due_file_content;
my $name_of_resourse= &Apache::lonxml::latex_special_symbols(&get_resource_name($parstack,$safeeval),'header');
+ my $begin_doc='\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource
"'.$name_of_resourse.'"
located in
'.$env{'request.uri'}.'
STAMPOFPASSEDRESOURCEEND} \noindent ';
+ my $toc_line='\vskip 1 mm\noindent '.$startminipage.
+ '\addcontentsline{toc}{subsection}{'.$name_of_resourse.'}';
if ($due_file_content ne $duedate) {
$temp_file = Apache::File->new('>'.$filename);
print $temp_file "$duedate\n";
if (not $env{'request.symb'} =~ m/\.page_/) {
if(not $duedate=~m/1969/ and $Apache::lonhomework::type ne 'exam') {
- $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource "'.$name_of_resourse.'"
located in
'.$env{'request.uri'}.'
STAMPOFPASSEDRESOURCEEND} \noindent\textit{Due date: '.$duedate.'} \vskip 1 mm\noindent '.$startminipage.'\addcontentsline{toc}{subsection}{'.$name_of_resourse.'}';
+ $result .= $begin_doc.
+ '\textit{Due date: '.$duedate.'} '.$toc_line;
} else {
- $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource "'.$name_of_resourse.'"
located in
'.$env{'request.uri'}.'
STAMPOFPASSEDRESOURCEEND} \noindent \vskip 1 mm \noindent'.$startminipage.'\addcontentsline{toc}{subsection}{'.$name_of_resourse.'}';
+ $result .= $begin_doc.$toc_line;
if ($Apache::lonhomework::type eq 'exam' and $allow_print_points==1) { $result .= '\fbox{\textit{'.$weight.' pt}}';}
}
} else {
@@ -677,7 +685,7 @@ sub start_problem {
}
} else {
if (not $env{'request.symb'} =~ m/\.page_/) {
- $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource "'.$name_of_resourse.'"
located in
'.$env{'request.uri'}.'
STAMPOFPASSEDRESOURCEEND} \noindent \vskip 1 mm\noindent'.$startminipage.'\addcontentsline{toc}{subsection}{'.$name_of_resourse.'}';
+ $result .= $begin_doc.$toc_line;
if (($Apache::lonhomework::type eq 'exam') and ($allow_print_points==1)) { $result .= '\fbox{\textit{'.$weight.' pt}}';}
} else {
$result .= '\vskip 1mm \\\\\\\\';
@@ -1054,7 +1062,9 @@ sub start_randomlist {
if ($target eq 'answer' || $target eq 'grade' || $target eq 'web' ||
$target eq 'tex' || $target eq 'analyze') {
my $body= &Apache::lonxml::get_all_text("/randomlist",$parser);
- my $b_parser= HTML::TokeParser->new(\$body);
+ my $b_parser= HTML::LCParser->new(\$body);
+ $b_parser->xml_mode(1);
+ $b_parser->marked_sections(1);
my $b_tok;
my @randomlist;
my $list_item;