[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--