[LON-CAPA-cvs] cvs: loncom /interface lonfeedback.pm /xml lonxml.pm

www lon-capa-cvs@mail.lon-capa.org
Sun, 14 Sep 2003 23:57:18 -0000


This is a MIME encoded message

--www1063583838
Content-Type: text/plain

www		Sun Sep 14 19:57:18 2003 EDT

  Modified files:              
    /loncom/interface	lonfeedback.pm 
    /loncom/xml	lonxml.pm 
  Log:
  In preparation for implementing threaded discussion and disentangling COM
  from FDBK, disentagle the subroutines - there is really no reason for the
  discussion display to be embedded into lonxml.
  
  
--www1063583838
Content-Type: text/plain
Content-Disposition: attachment; filename="www-20030914195718.txt"

Index: loncom/interface/lonfeedback.pm
diff -u loncom/interface/lonfeedback.pm:1.53 loncom/interface/lonfeedback.pm:1.54
--- loncom/interface/lonfeedback.pm:1.53	Thu Sep 11 16:03:28 2003
+++ loncom/interface/lonfeedback.pm	Sun Sep 14 19:57:18 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Feedback
 #
-# $Id: lonfeedback.pm,v 1.53 2003/09/11 20:03:28 albertel Exp $
+# $Id: lonfeedback.pm,v 1.54 2003/09/14 23:57:18 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -51,6 +51,115 @@
 use Apache::lonmsg();
 use Apache::loncommon();
 use Apache::lontexconvert();
+
+sub list_discussion {
+    my ($crs,$symb,$discussiononly)=@_;
+    unless ($symb) {
+	$symb=&Apache::lonnet::symbread();
+    }
+    unless ($symb) { return ''; }
+    my $seeid=&Apache::lonnet::allowed('rin',$crs);
+    my $viewgrades=&Apache::lonnet::allowed('vgr',$crs);
+    my $discussion='';
+    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'}) {
+	unless ($discussiononly) {
+	    $discussion.=
+		'<address><hr />';
+	}
+	my $idx;
+	for ($idx=1;$idx<=$contrib{'version'};$idx++) {
+	    my $hidden=($contrib{'hidden'}=~/\.$idx\./);
+	    my $deleted=($contrib{'deleted'}=~/\.$idx\./);
+	    unless ((($hidden) && (!$seeid)) || ($deleted)) {
+		my $message=$contrib{$idx.':message'};
+		$message=~s/\n/\<br \/\>/g;
+		$message=&Apache::lontexconvert::msgtexconverted($message);
+		if ($contrib{$idx.':attachmenturl'}) {
+		    my ($fname,$ft)
+                        =($contrib{$idx.':attachmenturl'}=~/\/(\w+)\.(\w+)$/);
+		    $message.='<p>Attachment: <a href="'.
+			&Apache::lonnet::tokenwrapper(
+                                             $contrib{$idx.':attachmenturl'}).
+			'"><tt>'.$fname.'.'.$ft.'</tt></a>';
+		}
+		if ($message) {
+		    if ($hidden) {
+			$message='<font color="#888888">'.$message.'</font>';
+		    }
+		    my $screenname=&Apache::loncommon::screenname(
+					    $contrib{$idx.':sendername'},
+					    $contrib{$idx.':senderdomain'});
+		    my $plainname=&Apache::loncommon::nickname(
+					    $contrib{$idx.':sendername'},
+					    $contrib{$idx.':senderdomain'});
+		    
+		    my $sender='Anonymous';
+		    if ((!$contrib{$idx.':anonymous'}) || ($seeid)) {
+			$sender=&Apache::loncommon::aboutmewrapper(
+					 $plainname,
+					 $contrib{$idx.':sendername'},
+					 $contrib{$idx.':senderdomain'}).' ('.
+					 $contrib{$idx.':sendername'}.' at '.
+					 $contrib{$idx.':senderdomain'}.')';
+			if ($contrib{$idx.':anonymous'}) {
+			    $sender.=' [anonymous] '.
+				$screenname;
+			}
+			if ($seeid) {
+			    if ($hidden) {
+				$sender.=' <a href="/adm/feedback?unhide='.
+				    $symb.':::'.$idx.'">Make Visible</a>';
+			    } else {
+				$sender.=' <a href="/adm/feedback?hide='.
+				    $symb.':::'.$idx.'">Hide</a>';
+			    }                     
+			    $sender.=' <a href="/adm/feedback?deldisc='.
+				$symb.':::'.$idx.'">Delete</a>';
+			}
+		    } else {
+			if ($screenname) {
+			    $sender='<i>'.$screenname.'</i>';
+			}
+		    }
+		    my $vgrlink;
+		    if ($viewgrades) {
+			$vgrlink=&Apache::loncommon::submlink('Submissions',
+            $contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'},$symb);
+		    }
+		    $discussion.='<p><b>'.$sender.'</b> '.$vgrlink.' ('.
+			localtime($contrib{$idx.':timestamp'}).
+			'):<blockquote>'.$message.
+			'</blockquote></p>';
+	        }
+	    } 
+	}
+	unless ($discussiononly) {
+	    $discussion.='</address>';
+	}
+    }
+    if ($discussiononly) {
+	$discussion.=(<<ENDDISCUSS);
+<form action="/adm/feedback" method="post" name="mailform" enctype="multipart/form-data">
+<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>
+<p>
+Attachment (128 KB max size): <input type="file" name="attachment" />
+</p>
+</form>
+ENDDISCUSS
+      $discussion.=&generate_preview_button();
+   }
+   return $discussion;
+}
 
 sub mail_screen {
   my ($r,$feedurl,$options) = @_;
Index: loncom/xml/lonxml.pm
diff -u loncom/xml/lonxml.pm:1.275 loncom/xml/lonxml.pm:1.276
--- loncom/xml/lonxml.pm:1.275	Thu Sep 11 18:37:54 2003
+++ loncom/xml/lonxml.pm	Sun Sep 14 19:57:18 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # XML Parser Module 
 #
-# $Id: lonxml.pm,v 1.275 2003/09/11 22:37:54 albertel Exp $
+# $Id: lonxml.pm,v 1.276 2003/09/14 23:57:18 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -183,108 +183,8 @@
           $crs.='_'.$ENV{'request.course.sec'};
        }                 
        $crs=~s/\_/\//g;
-       my $seeid=&Apache::lonnet::allowed('rin',$crs);
-       my $viewgrades=&Apache::lonnet::allowed('vgr',$crs);
-       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'}) {
-              unless ($discussiononly) {
-                 $discussion.=
-                  '<address><hr />';
-	     }
-              my $idx;
-              for ($idx=1;$idx<=$contrib{'version'};$idx++) {
-		my $hidden=($contrib{'hidden'}=~/\.$idx\./);
-		my $deleted=($contrib{'deleted'}=~/\.$idx\./);
-		unless ((($hidden) && (!$seeid)) || ($deleted)) {
-                 my $message=$contrib{$idx.':message'};
-                 $message=~s/\n/\<br \/\>/g;
-		 $message=&Apache::lontexconvert::msgtexconverted($message);
-                 if ($contrib{$idx.':attachmenturl'}) {
-                     my ($fname,$ft)
-                        =($contrib{$idx.':attachmenturl'}=~/\/(\w+)\.(\w+)$/);
-		     $message.='<p>Attachment: <a href="'.
-	       &Apache::lonnet::tokenwrapper($contrib{$idx.':attachmenturl'}).
-                     '"><tt>'.$fname.'.'.$ft.'</tt></a>';
-                 }
-                 if ($message) {
-                  if ($hidden) {
-		      $message='<font color="#888888">'.$message.'</font>';
-                  }
-                  my $screenname=&Apache::loncommon::screenname(
-                               $contrib{$idx.':sendername'},
-			       $contrib{$idx.':senderdomain'});
-                  my $plainname=&Apache::loncommon::nickname(
-                               $contrib{$idx.':sendername'},
-			       $contrib{$idx.':senderdomain'});
-
-                  my $sender='Anonymous';
-                  if ((!$contrib{$idx.':anonymous'}) || ($seeid)) {
-                      $sender=&Apache::loncommon::aboutmewrapper(
-                               $plainname,
-                               $contrib{$idx.':sendername'},
-                               $contrib{$idx.':senderdomain'}).' ('.
-                              $contrib{$idx.':sendername'}.' at '.
-		      $contrib{$idx.':senderdomain'}.')';
-                      if ($contrib{$idx.':anonymous'}) {
-			  $sender.=' [anonymous] '.
-                                     $screenname;
-                      }
-                      if ($seeid) {
-			  if ($hidden) {
-                             $sender.=' <a href="/adm/feedback?unhide='.
-				 $symb.':::'.$idx.'">Make Visible</a>';
-                          } else {
-                             $sender.=' <a href="/adm/feedback?hide='.
-				 $symb.':::'.$idx.'">Hide</a>';
-			  }                     
-                          $sender.=' <a href="/adm/feedback?deldisc='.
-				 $symb.':::'.$idx.'">Delete</a>';
-                      }
-                  } else {
-                      if ($screenname) {
-			  $sender='<i>'.$screenname.'</i>';
-                      }
-                  }
-		  my $vgrlink;
-		  if ($viewgrades) {
-		      $vgrlink=&Apache::loncommon::submlink('Submissions',$contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'},$symb);
-		  }
-		  $discussion.='<p><b>'.$sender.'</b> '.$vgrlink.' ('.
-                      localtime($contrib{$idx.':timestamp'}).
-                      '):<blockquote>'.$message.
-                      '</blockquote></p>';
-	        }
-               } 
-              }
-              unless ($discussiononly) {
-                 $discussion.='</address>';
-	      }
-          }
-          if ($discussiononly) {
-	      $discussion.=(<<ENDDISCUSS);
-<form action="/adm/feedback" method="post" name="mailform" enctype="multipart/form-data">
-<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>
-<p>
-Attachment (128 KB max size): <input type="file" name="attachment" />
-</p>
-</form>
-ENDDISCUSS
-             $discussion.=&Apache::lonfeedback::generate_preview_button();
-          }
-       }
+       $discussion=&Apache::lonfeedback::list_discussion
+	   ($crs,$symb,$discussiononly);
     }
     return $discussion.($discussiononly?'':'</html>');
 }

--www1063583838--