version 1.333, 2004/07/27 23:35:34
|
version 1.337, 2004/08/23 19:53:13
|
Line 165 sub xmlbegin {
|
Line 165 sub xmlbegin {
|
} |
} |
|
|
sub xmlend { |
sub xmlend { |
|
my ($target,$parser)=@_; |
my $mode='xml'; |
my $mode='xml'; |
my $status='OPEN'; |
my $status='OPEN'; |
if ($Apache::lonhomework::parsing_a_problem) { |
if ($Apache::lonhomework::parsing_a_problem) { |
$mode='problem'; |
$mode='problem'; |
$status=$Apache::inputtags::status[-1]; |
$status=$Apache::inputtags::status[-1]; |
} |
} |
return &Apache::lonfeedback::list_discussion($mode,$status).'</html>'; |
my $discussion=&Apache::lonfeedback::list_discussion($mode,$status); |
|
if ($target eq 'tex') { |
|
$discussion.='<tex>\keephidden{ENDOFPROBLEM}\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}\end{document}</tex>'; |
|
&Apache::lonxml::newparser($parser,\$discussion,''); |
|
return ''; |
|
} else { |
|
return $discussion.'</html>'; |
|
} |
} |
} |
|
|
sub tokeninputfield { |
sub tokeninputfield { |
Line 312 sub xmlparse {
|
Line 320 sub xmlparse {
|
my $bodytext= |
my $bodytext= |
$ENV{'course.'.$ENV{'request.course.id'}.'.default_xml_style'}; |
$ENV{'course.'.$ENV{'request.course.id'}.'.default_xml_style'}; |
if ($bodytext) { |
if ($bodytext) { |
my $location=&Apache::lonnet::filelocation('',$bodytext); |
foreach my $file (split(',',$bodytext)) { |
my $styletext=&Apache::lonnet::getfile($location); |
my $location=&Apache::lonnet::filelocation('',$file); |
if ($styletext ne '-1') { |
my $styletext=&Apache::lonnet::getfile($location); |
%style_for_target = (%style_for_target, |
if ($styletext ne '-1') { |
&Apache::style::styleparser($target,$styletext)); |
%style_for_target = (%style_for_target, |
} |
&Apache::style::styleparser($target,$styletext)); |
} |
} |
|
} |
|
} |
} elsif ($ENV{'construct.style'} && ($ENV{'request.state'} eq 'construct')) { |
} elsif ($ENV{'construct.style'} && ($ENV{'request.state'} eq 'construct')) { |
my $location=&Apache::lonnet::filelocation('',$ENV{'construct.style'}); |
my $location=&Apache::lonnet::filelocation('',$ENV{'construct.style'}); |
my $styletext=&Apache::lonnet::getfile($location); |
my $styletext=&Apache::lonnet::getfile($location); |
Line 1332 sub debug {
|
Line 1342 sub debug {
|
} |
} |
|
|
sub error { |
sub error { |
$errorcount++; |
$errorcount++; |
my $request=$Apache::lonxml::request; |
if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) { |
if (!$request) { $request=Apache->request; } |
# If printing in construction space, put the error inside <pre></pre> |
if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) { |
push(@Apache::lonxml::error_messages, |
# If printing in construction space, put the error inside <pre></pre> |
$Apache::lonxml::warnings_error_header. |
push(@Apache::lonxml::error_messages, |
"<b>ERROR:</b>".join("<br />\n",@_)."<br />\n"); |
$Apache::lonxml::warnings_error_header. |
$Apache::lonxml::warnings_error_header=''; |
"<b>ERROR:</b>".join("<br />\n",@_)."<br />\n"); |
} else { |
$Apache::lonxml::warnings_error_header=''; |
my $errormsg; |
} else { |
my ($symb)=&Apache::lonnet::symbread(); |
push(@Apache::lonxml::error_messages, |
if ( !$symb ) { |
"<b>An Error occured while processing this resource. The instructor has been notified.</b> <br />"); |
#public or browsers |
#notify author |
$errormsg=&mt("An error occured while processing this resource. The author has been notified."); |
&Apache::lonmsg::author_res_msg($ENV{'request.filename'},join('<br />',@_)); |
} |
#notify course |
#notify author |
if ( $ENV{'request.course.id'} ) { |
&Apache::lonmsg::author_res_msg($ENV{'request.filename'},join('<br />',@_)); |
my (undef,%users)=&Apache::lonfeedback::decide_receiver(undef,0,1,1,1); |
#notify course |
my $declutter=&Apache::lonnet::declutter($ENV{'request.filename'}); |
if ( $symb && $ENV{'request.course.id'} ) { |
foreach (keys %users) { |
my (undef,%users)=&Apache::lonfeedback::decide_receiver(undef,0,1,1,1); |
my ($user,$domain) = split(/:/, $_); |
my $declutter=&Apache::lonnet::declutter($ENV{'request.filename'}); |
&Apache::lonmsg::user_normal_msg($user,$domain, |
my @userlist; |
"Error [$declutter]",join('<br />',@_)); |
foreach (keys %users) { |
} |
my ($user,$domain) = split(/:/, $_); |
|
push(@userlist,"$user\@$domain"); |
|
&Apache::lonmsg::user_normal_msg($user,$domain, |
|
"Error [$declutter]",join('<br />',@_)); |
|
} |
|
if ($ENV{'request.role.adv'}) { |
|
$errormsg=&mt("An error occured while processing this resource. The course personnel ([_1]) and the author have been notified.",join(', ',@userlist)); |
|
} else { |
|
$errormsg=&mt("An error occured while processing this resource. The instructor has been notified."); |
|
} |
|
} |
|
push(@Apache::lonxml::error_messages,"<b>$errormsg</b> <br />"); |
} |
} |
} |
|
} |
} |
|
|
sub warning { |
sub warning { |