version 1.61, 2003/09/19 16:12:50
|
version 1.62, 2003/10/15 20:01:48
|
Line 51 use Apache::Constants qw(:common);
|
Line 51 use Apache::Constants qw(:common);
|
use Apache::lonmsg(); |
use Apache::lonmsg(); |
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lontexconvert(); |
use Apache::lontexconvert(); |
|
use Apache::lonlocal; |
|
|
sub list_discussion { |
sub list_discussion { |
my ($mode,$status,$symb)=@_; |
my ($mode,$status,$symb)=@_; |
Line 88 sub list_discussion {
|
Line 89 sub list_discussion {
|
if ($contrib{$idx.':attachmenturl'}) { |
if ($contrib{$idx.':attachmenturl'}) { |
my ($fname,$ft) |
my ($fname,$ft) |
=($contrib{$idx.':attachmenturl'}=~/\/(\w+)\.(\w+)$/); |
=($contrib{$idx.':attachmenturl'}=~/\/(\w+)\.(\w+)$/); |
$message.='<p>Attachment: <a href="'. |
$message.='<p>'.&mt('Attachment').': <a href="'. |
&Apache::lonnet::tokenwrapper( |
&Apache::lonnet::tokenwrapper( |
$contrib{$idx.':attachmenturl'}). |
$contrib{$idx.':attachmenturl'}). |
'"><tt>'.$fname.'.'.$ft.'</tt></a>'; |
'"><tt>'.$fname.'.'.$ft.'</tt></a>'; |
Line 104 sub list_discussion {
|
Line 105 sub list_discussion {
|
$contrib{$idx.':sendername'}, |
$contrib{$idx.':sendername'}, |
$contrib{$idx.':senderdomain'}); |
$contrib{$idx.':senderdomain'}); |
|
|
my $sender='Anonymous'; |
my $sender=&mt('Anonymous'); |
if ((!$contrib{$idx.':anonymous'}) || ($seeid)) { |
if ((!$contrib{$idx.':anonymous'}) || ($seeid)) { |
$sender=&Apache::loncommon::aboutmewrapper( |
$sender=&Apache::loncommon::aboutmewrapper( |
$plainname, |
$plainname, |
Line 113 sub list_discussion {
|
Line 114 sub list_discussion {
|
$contrib{$idx.':sendername'}.' at '. |
$contrib{$idx.':sendername'}.' at '. |
$contrib{$idx.':senderdomain'}.')'; |
$contrib{$idx.':senderdomain'}.')'; |
if ($contrib{$idx.':anonymous'}) { |
if ($contrib{$idx.':anonymous'}) { |
$sender.=' [anonymous] '. |
$sender.=' ['.&mt('anonymous').'] '. |
$screenname; |
$screenname; |
} |
} |
if ($seeid) { |
if ($seeid) { |
if ($hidden) { |
if ($hidden) { |
$sender.=' <a href="/adm/feedback?unhide='. |
$sender.=' <a href="/adm/feedback?unhide='. |
$symb.':::'.$idx.'">Make Visible</a>'; |
$symb.':::'.$idx.'">'.&mt('Make Visible').'</a>'; |
} else { |
} else { |
$sender.=' <a href="/adm/feedback?hide='. |
$sender.=' <a href="/adm/feedback?hide='. |
$symb.':::'.$idx.'">Hide</a>'; |
$symb.':::'.$idx.'">'.&mt('Hide').'</a>'; |
} |
} |
$sender.=' <a href="/adm/feedback?deldisc='. |
$sender.=' <a href="/adm/feedback?deldisc='. |
$symb.':::'.$idx.'">Delete</a>'; |
$symb.':::'.$idx.'">'.&mt('Delete').'</a>'; |
} |
} |
} else { |
} else { |
if ($screenname) { |
if ($screenname) { |
Line 310 sub screen_header {
|
Line 311 sub screen_header {
|
my $discussoptions=''; |
my $discussoptions=''; |
if (($feedurl=~/^\/res\//) && ($feedurl!~/^\/res\/adm/)) { |
if (($feedurl=~/^\/res\//) && ($feedurl!~/^\/res\/adm/)) { |
$msgoptions= |
$msgoptions= |
'<p><input type=checkbox name=author> Feedback to resource author'; |
'<p><input type=checkbox name=author> '. |
|
&mt('Feedback to resource author'); |
} |
} |
if (&feedback_available(1)) { |
if (&feedback_available(1)) { |
$msgoptions.= |
$msgoptions.= |
'<br><input type=checkbox name=question> Question about resource content'; |
'<br><input type=checkbox name=question> '. |
|
&mt('Question about resource content'); |
} |
} |
if (&feedback_available(0,1)) { |
if (&feedback_available(0,1)) { |
$msgoptions.= |
$msgoptions.= |
'<br><input type=checkbox name=course> '. |
'<br><input type=checkbox name=course> '. |
'Question/Comment/Feedback about course content'; |
&mt('Question/Comment/Feedback about course content'); |
} |
} |
if (&feedback_available(0,0,1)) { |
if (&feedback_available(0,0,1)) { |
$msgoptions.= |
$msgoptions.= |
'<br><input type=checkbox name=policy> '. |
'<br><input type=checkbox name=policy> '. |
'Question/Comment/Feedback about course policy'; |
&mt('Question/Comment/Feedback about course policy'); |
} |
} |
|
|
if ($ENV{'request.course.id'}) { |
if ($ENV{'request.course.id'}) { |
Line 332 sub screen_header {
|
Line 335 sub screen_header {
|
$ENV{'request.course.id'}. |
$ENV{'request.course.id'}. |
($ENV{'request.course.sec'}?'/'.$ENV{'request.course.sec'}:''))) { |
($ENV{'request.course.sec'}?'/'.$ENV{'request.course.sec'}:''))) { |
$discussoptions='<input type="checkbox" name="discuss" onClick="this.form.anondiscuss.checked=false;"> '. |
$discussoptions='<input type="checkbox" name="discuss" onClick="this.form.anondiscuss.checked=false;"> '. |
'Contribution to course discussion of resource'; |
&mt('Contribution to course discussion of resource'); |
$discussoptions.='<br><input type="checkbox" name="anondiscuss" onClick="this.form.discuss.checked=false;"> '. |
$discussoptions.='<br><input type="checkbox" name="anondiscuss" onClick="this.form.discuss.checked=false;"> '. |
'Anonymous contribution to course discussion of resource'. |
&mt('Anonymous contribution to course discussion of resource'). |
' <i>(name only visible to course faculty)</i>'; |
' <i>('.&mt('name only visible to course faculty').')</i>'; |
} |
} |
} |
} |
if ($msgoptions) { $msgoptions='<h2>Sending Messages</h2>'.$msgoptions; } |
if ($msgoptions) { $msgoptions='<h2>'.&mt('Sending Messages').'</h2>'.$msgoptions; } |
if ($discussoptions) { |
if ($discussoptions) { |
$discussoptions='<h2>Discussion Contributions</h2>'.$discussoptions; } |
$discussoptions='<h2>'.&mt('Discussion Contributions').'</h2>'.$discussoptions; } |
return $msgoptions.$discussoptions; |
return $msgoptions.$discussoptions; |
} |
} |
|
|
Line 476 sub send_msg {
|
Line 479 sub send_msg {
|
unless (&Apache::lonmsg::user_normal_msg(split(/\:/,$_), |
unless (&Apache::lonmsg::user_normal_msg(split(/\:/,$_), |
'Feedback ['.$declutter.']',$email,$citations,$feedurl, |
'Feedback ['.$declutter.']',$email,$citations,$feedurl, |
$attachmenturl)=~/ok/) { |
$attachmenturl)=~/ok/) { |
$status.='<br>Error sending message to '.$_.'<br>'; |
$status.='<br>'.&mt('Error sending message to').' '.$_.'<br>'; |
} else { |
} else { |
$sendsomething++; |
$sendsomething++; |
} |
} |
Line 490 sub send_msg {
|
Line 493 sub send_msg {
|
$newrecord{'resource'}=$feedurl; |
$newrecord{'resource'}=$feedurl; |
$newrecord{'subnumber'}=$record{'subnumber'}+1; |
$newrecord{'subnumber'}=$record{'subnumber'}+1; |
unless (&Apache::lonnet::cstore(\%newrecord,'_feedback') eq 'ok') { |
unless (&Apache::lonnet::cstore(\%newrecord,'_feedback') eq 'ok') { |
$status.='<br>Not registered<br>'; |
$status.='<br>'.&mt('Not registered').'<br>'; |
} |
} |
} |
} |
|
|
Line 521 sub adddiscuss {
|
Line 524 sub adddiscuss {
|
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, |
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
my %storenewentry=($symb => time); |
my %storenewentry=($symb => time); |
$status.='<br>Updating discussion time: '. |
$status.='<br>'.&mt('Updating discussion time').': '. |
&Apache::lonnet::put('discussiontimes',\%storenewentry, |
&Apache::lonnet::put('discussiontimes',\%storenewentry, |
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, |
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
Line 532 sub adddiscuss {
|
Line 535 sub adddiscuss {
|
my %newrecord=(); |
my %newrecord=(); |
$newrecord{'resource'}=$symb; |
$newrecord{'resource'}=$symb; |
$newrecord{'subnumber'}=$record{'subnumber'}+1; |
$newrecord{'subnumber'}=$record{'subnumber'}+1; |
$status.='<br>Registering: '. |
$status.='<br>'.&mt('Registering').': '. |
&Apache::lonnet::cstore(\%newrecord,'_discussion'); |
&Apache::lonnet::cstore(\%newrecord,'_discussion'); |
} |
} |
} else { |
} else { |
Line 603 sub handler {
|
Line 606 sub handler {
|
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
|
|
&redirect_back($r,&Apache::lonnet::clutter($url), |
&redirect_back($r,&Apache::lonnet::clutter($url), |
'Changed discussion status<p>','0','0'); |
&mt('Changed discussion status').'<p>','0','0'); |
} elsif ($ENV{'form.deldisc'}) { |
} elsif ($ENV{'form.deldisc'}) { |
# --------------------------------------------------------------- Hide for good |
# --------------------------------------------------------------- Hide for good |
$r->content_type('text/html'); |
$r->content_type('text/html'); |
Line 630 sub handler {
|
Line 633 sub handler {
|
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
|
|
&redirect_back($r,&Apache::lonnet::clutter($url), |
&redirect_back($r,&Apache::lonnet::clutter($url), |
'Changed discussion status<p>','0','0'); |
&mt('Changed discussion status').'<p>','0','0'); |
} elsif ($ENV{'form.preview'}) { |
} elsif ($ENV{'form.preview'}) { |
# -------------------------------------------------------- User wants a preview |
# -------------------------------------------------------- User wants a preview |
&show_preview($r); |
&show_preview($r); |
Line 640 sub handler {
|
Line 643 sub handler {
|
$feedurl=~s/^http\:\/\///; |
$feedurl=~s/^http\:\/\///; |
$feedurl=~s/^$ENV{'SERVER_NAME'}//; |
$feedurl=~s/^$ENV{'SERVER_NAME'}//; |
$feedurl=~s/^$ENV{'HTTP_HOST'}//; |
$feedurl=~s/^$ENV{'HTTP_HOST'}//; |
|
$feedurl=~s/\?.+$//; |
|
|
my $symb=&Apache::lonnet::symbread($feedurl); |
my $symb=&Apache::lonnet::symbread($feedurl); |
unless ($symb) { |
unless ($symb) { |