--- loncom/xml/lonxml.pm 2001/07/12 15:26:03 1.101 +++ loncom/xml/lonxml.pm 2001/08/06 19:44:54 1.105 @@ -12,6 +12,7 @@ # 6/2,6/3,6/8,6/9 Gerd Kortemeyer # 6/12,6/13 H. K. Ng # 6/16 Gerd Kortemeyer +# 7/27 H. K. Ng package Apache::lonxml; use vars @@ -92,7 +93,31 @@ sub xmlbegin { } sub xmlend { - return '</html>'; + my $discussion=''; + if ($ENV{'request.course.id'}) { + my $symb=&Apache::lonnet::symbread(); + if ($symb) { + my %contrib=&Apache::lonnet::restore($symb,$ENV{'request.course.id'}, + $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, + $ENV{'course.'.$ENV{'request.course.id'}.'.num'}); + if ($contrib{'version'}) { + $discussion.= + '<address><hr /><h2>Course Discussion of Resource</h2>'; + my $idx; + for ($idx=1;$idx<=$contrib{'version'};$idx++) { + my $message=$contrib{$idx.':message'}; + $message=~s/\n/\<br \/\>/g; + $discussion.='<p><b>'.$contrib{$idx.':sendername'}.' at '. + $contrib{$idx.':senderdomain'}.'</b> ('. + localtime($contrib{$idx.':timestamp'}). + '):<blockquote>'.$message. + '</blockquote></p>'; + } + $discussion.='</address>'; + } + } + } + return $discussion.'</html>'; } sub fontsettings() { @@ -107,6 +132,7 @@ sub fontsettings() { sub registerurl { my $forcereg=shift; if ($Apache::lonxml::registered) { return ''; } + $Apache::lonxml::registered=1; if (($ENV{'REQUEST_URI'}!~/^\/(res\/)*adm\//) || ($forcereg)) { my $hwkadd=''; if ($ENV{'REQUEST_URI'}=~/\.(problem|exam|quiz|assess|survey|form)$/) { @@ -513,6 +539,7 @@ sub init_safespace { $safeeval->permit(":base_math"); $safeeval->permit("sort"); $safeeval->deny(":base_io"); + $safehole->wrap(\&Apache::scripttag::xmlparse,$safeeval,'&xmlparse'); $safehole->wrap(\&Apache::lonnet::EXT,$safeeval,'&EXT'); $safehole->wrap(\&Math::Cephes::asin,$safeeval,'&asin');