--- loncom/xml/lonxml.pm	2002/09/04 06:55:27	1.192
+++ loncom/xml/lonxml.pm	2002/09/11 13:36:50	1.195
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # XML Parser Module 
 #
-# $Id: lonxml.pm,v 1.192 2002/09/04 06:55:27 albertel Exp $
+# $Id: lonxml.pm,v 1.195 2002/09/11 13:36:50 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -154,6 +154,7 @@ sub xmlbegin {
 }
 
 sub xmlend {
+    my ($discussiononly,$symb)=@_;
     my $discussion='';
     if ($ENV{'request.course.id'}) {
        my $crs='/'.$ENV{'request.course.id'};
@@ -162,14 +163,18 @@ sub xmlend {
        }                 
        $crs=~s/\_/\//g;
        my $seeid=&Apache::lonnet::allowed('rin',$crs);
-       my $symb=&Apache::lonnet::symbread();
+       unless ($symb) {
+           $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>';
+              unless ($discussiononly) {
+                 $discussion.=
+                  '<address><hr />';
+	     }
               my $idx;
               for ($idx=1;$idx<=$contrib{'version'};$idx++) {
 		my $hidden=($contrib{'hidden'}=~/\.$idx\./);
@@ -183,7 +188,10 @@ sub xmlend {
                   }
                   my $sender='Anonymous';
                   if ((!$contrib{$idx.':anonymous'}) || ($seeid)) {
-                      $sender=$contrib{$idx.':plainname'}.' ('.
+                      $sender=&Apache::loncommon::aboutmewrapper(
+                               $contrib{$idx.':plainname'},
+                               $contrib{$idx.':sendername'},
+                               $contrib{$idx.':senderdomain'}).' ('.
                               $contrib{$idx.':sendername'}.' at '.
 		      $contrib{$idx.':senderdomain'}.')';
                       if ($contrib{$idx.':anonymous'}) {
@@ -211,11 +219,27 @@ sub xmlend {
 	        }
                } 
               }
-              $discussion.='</address>';
+              unless ($discussiononly) {
+                 $discussion.='</address>';
+	      }
+          }
+          if ($discussiononly) {
+	      $discussion.=(<<ENDDISCUSS);
+<form action="/adm/feedback" method="post">
+<input type="submit" name="discuss" value="Post Discussion" />
+<input type="submit" name="anondiscuss" value="Post Anonymous Discussion" />
+<input type="hidden" name="symb" value="$symb" />
+<input type="hidden" name="sendit" value="true" />
+<br />
+<font size="1">Note: in anonymous discussion, your name is visible only to
+course faculty</font><br />
+<textarea name=comment cols=60 rows=10 wrap=hard></textarea>
+</form>
+ENDDISCUSS
           }
        }
     }
-    return $discussion.'</html>';
+    return $discussion.($discussiononly?'':'</html>');
 }
 
 sub tokeninputfield {
@@ -565,7 +589,7 @@ sub inner_xmlparse {
       if (($token->[0] eq 'T') || ($token->[0] eq 'C') || ($token->[0] eq 'D') ) {
 	if ($metamode<1) {
 	    my $text=$token->[1];
-	    if ($token->[0] eq 'C') {
+	    if ($token->[0] eq 'C' && $target eq 'tex') {
 		$text = '%'.$text;
 		$text =~ s/[\n\r]//g;
 	    }