version 1.97, 2004/07/04 23:56:58
|
version 1.99.2.9, 2004/09/16 19:42:09
|
Line 92 sub list_discussion {
|
Line 92 sub list_discussion {
|
# Get discussion display settings for this discussion |
# Get discussion display settings for this discussion |
my $lastkey = $ressymb.'_lastread'; |
my $lastkey = $ressymb.'_lastread'; |
my $showkey = $ressymb.'_showonlyunread'; |
my $showkey = $ressymb.'_showonlyunread'; |
my $visitkey = $ressymb.'_visit'; |
|
my $ondispkey = $ressymb.'_markondisp'; |
my $ondispkey = $ressymb.'_markondisp'; |
my %dischash = &Apache::lonnet::get('nohist_'.$ENV{'request.course.id'}.'_discuss',[$lastkey,$showkey,$visitkey,$ondispkey],$ENV{'user.domain'},$ENV{'user.name'}); |
my %dischash = &Apache::lonnet::get('nohist_'.$ENV{'request.course.id'}.'_discuss',[$lastkey,$showkey,$ondispkey],$ENV{'user.domain'},$ENV{'user.name'}); |
my %discinfo = (); |
my %discinfo = (); |
my $showonlyunread = 0; |
my $showonlyunread = 0; |
my $markondisp = 0; |
my $markondisp = 0; |
my $prevread = 0; |
my $prevread = 0; |
my $previous = 0; |
my $previous = 0; |
my $visit = 0; |
|
my $newpostsflag = 0; |
my $newpostsflag = 0; |
|
|
# Retain identification of "NEW" posts identified in last display, if continuing 'previous' browsing of posts. |
# Retain identification of "NEW" posts identified in last display, if continuing 'previous' browsing of posts. |
Line 115 sub list_discussion {
|
Line 113 sub list_discussion {
|
} |
} |
|
|
# Get discussion display default settings for user |
# Get discussion display default settings for user |
my %userenv = &Apache::lonnet::get('environment',['discdisplay','discmarkread'],$ENV{'user.domain'},$ENV{'user.name'}); |
if ($ENV{'environment.discdisplay'} eq 'unread') { |
my $discdisplay=$userenv{'discdisplay'}; |
|
if ($discdisplay eq 'unread') { |
|
$showonlyunread = 1; |
$showonlyunread = 1; |
} |
} |
my $discmarkread=$userenv{'discmarkread'}; |
if ($ENV{'environment.discmarkread'} eq 'ondisp') { |
if ($discmarkread eq 'ondisp') { |
|
$markondisp = 1; |
$markondisp = 1; |
} |
} |
|
|
# Override user's default if user specified display setting for this discussion |
# Override user's default if user specified display setting for this discussion |
if (defined($dischash{$ondispkey})) { |
if (defined($dischash{$ondispkey})) { |
$markondisp = $dischash{$ondispkey}; |
unless ($dischash{$showkey} eq '') { |
|
$markondisp = $dischash{$ondispkey}; |
|
} |
} |
} |
if ($markondisp) { |
if ($markondisp) { |
$discinfo{$lastkey} = time; |
$discinfo{$lastkey} = time; |
} |
} |
|
|
if (defined($dischash{$showkey})) { |
if (defined($dischash{$showkey})) { |
$showonlyunread = $dischash{$showkey}; |
unless ($dischash{$showkey} eq '') { |
} |
$showonlyunread = $dischash{$showkey}; |
|
} |
if (defined($dischash{$visitkey})) { |
|
$visit = $dischash{$visitkey}; |
|
} |
} |
$visit ++; |
|
|
|
my $seeid=&Apache::lonnet::allowed('rin',$crs); |
my $seeid=&Apache::lonnet::allowed('rin',$crs); |
my $viewgrades=(&Apache::lonnet::allowed('vgr',$crs) |
my $viewgrades=(&Apache::lonnet::allowed('vgr',$crs) |
Line 166 sub list_discussion {
|
Line 160 sub list_discussion {
|
} |
} |
|
|
my $now = time; |
my $now = time; |
$discinfo{$visitkey} = $visit; |
if (%discinfo) { |
|
&Apache::lonnet::put('nohist_'.$ENV{'request.course.id'}.'_discuss',\%discinfo,$ENV{'user.domain'},$ENV{'user.name'}); |
&Apache::lonnet::put('nohist_'.$ENV{'request.course.id'}.'_discuss',\%discinfo,$ENV{'user.domain'},$ENV{'user.name'}); |
} |
|
|
if ($contrib{'version'}) { |
if ($contrib{'version'}) { |
my $oldest = $contrib{'1:timestamp'}; |
my $oldest = $contrib{'1:timestamp'}; |
Line 223 sub list_discussion {
|
Line 217 sub list_discussion {
|
if ($hidden) { |
if ($hidden) { |
$message='<font color="#888888">'.$message.'</font>'; |
$message='<font color="#888888">'.$message.'</font>'; |
} |
} |
my $screenname=&Apache::loncommon::screenname( |
# my $screenname=&Apache::loncommon::screenname( |
$contrib{$idx.':sendername'}, |
# $contrib{$idx.':sendername'}, |
$contrib{$idx.':senderdomain'}); |
# $contrib{$idx.':senderdomain'}); |
my $plainname=&Apache::loncommon::nickname( |
# my $plainname=&Apache::loncommon::nickname( |
$contrib{$idx.':sendername'}, |
# $contrib{$idx.':sendername'}, |
$contrib{$idx.':senderdomain'}); |
# $contrib{$idx.':senderdomain'}); |
|
my ($screenname,$plainname)=($contrib{$idx.':screenname'}, |
|
$contrib{$idx.':plainname'}); |
my $sender=&mt('Anonymous'); |
my $sender=&mt('Anonymous'); |
if ((!$contrib{$idx.':anonymous'}) || ($seeid)) { |
if ((!$contrib{$idx.':anonymous'}) || ($seeid)) { |
$sender=&Apache::loncommon::aboutmewrapper( |
$sender=&Apache::loncommon::aboutmewrapper( |
Line 382 sub list_discussion {
|
Line 377 sub list_discussion {
|
$discussion .= '&previous='.$prevread; |
$discussion .= '&previous='.$prevread; |
} |
} |
$discussion .='">'.&mt('Chronological View').'</a> </td>'; |
$discussion .='">'.&mt('Chronological View').'</a> </td>'; |
} |
} |
if ($newpostsflag) { |
if ($newpostsflag) { |
if (!$markondisp) { |
if (!$markondisp) { |
$discussion .='<td align="right"><a href="/adm/feedback?markread='.$ressymb.'">'.&mt('Mark new posts as read').'</a> '; |
$discussion .='<td align="right"><a href="/adm/feedback?markread='.$ressymb.'">'.&mt('Mark new posts as read').'</a> '; |
Line 455 sub list_discussion {
|
Line 450 sub list_discussion {
|
my $colspan=$maxdepth+1; |
my $colspan=$maxdepth+1; |
$discussion .= <<END; |
$discussion .= <<END; |
<tr bgcolor="#FFFFFF"> |
<tr bgcolor="#FFFFFF"> |
<td colspan="'.$colspan.'" valign="top"> |
<td colspan="$colspan" valign="top"> |
<table border="0" bgcolor="#FFFFFF" width="100%" cellspacing="2" cellpadding="2"> |
<table border="0" bgcolor="#FFFFFF" width="100%" cellspacing="2" cellpadding="2"> |
<tr> |
<tr> |
<td align="left"> |
<td align="left"> |
Line 552 sub mail_screen {
|
Line 547 sub mail_screen {
|
} |
} |
my $latexHelp=&Apache::loncommon::helpLatexCheatsheet(); |
my $latexHelp=&Apache::loncommon::helpLatexCheatsheet(); |
my $htmlheader=&Apache::lonhtmlcommon::htmlareaheaders(); |
my $htmlheader=&Apache::lonhtmlcommon::htmlareaheaders(); |
my $onsubmit=''; |
|
if ((&Apache::lonhtmlcommon::htmlareabrowser()) && |
|
(!&Apache::lonhtmlcommon::htmlareablocked())) { |
|
$onsubmit='document.mailform.onsubmit();'; |
|
} |
|
my $send=&mt('Send'); |
my $send=&mt('Send'); |
$r->print(<<ENDDOCUMENT); |
$r->print(<<ENDDOCUMENT); |
<html> |
<html> |
Line 600 $htmlheader
|
Line 590 $htmlheader
|
} |
} |
|
|
if (rec) { |
if (rec) { |
$onsubmit |
if (typeof(document.mailform.onsubmit)=='function') { |
|
document.mailform.onsubmit(); |
|
} |
document.mailform.submit(); |
document.mailform.submit(); |
} else { |
} else { |
alert('Please check a feedback type.'); |
alert('Please check a feedback type.'); |
Line 642 $r->print(&generate_preview_button().
|
Line 634 $r->print(&generate_preview_button().
|
|
|
sub print_display_options { |
sub print_display_options { |
my ($r,$symb,$previous,$dispchg,$markchg,$feedurl) = @_; |
my ($r,$symb,$previous,$dispchg,$markchg,$feedurl) = @_; |
|
# backward compatibility (bulletin boards used to be 'wrapped') |
|
if ($feedurl=~m|^/adm/wrapper/adm/.*/bulletinboard$|) { |
|
$feedurl=~s|^/adm/wrapper||; |
|
} |
|
|
my $function = &Apache::loncommon::get_users_function(); |
my $function = &Apache::loncommon::get_users_function(); |
my $tabcolor = &Apache::loncommon::designparm($function.'.tabbg', |
my $tabcolor = &Apache::loncommon::designparm($function.'.tabbg', |
$ENV{'user.domain'}); |
$ENV{'user.domain'}); |
Line 777 sub fail_redirect {
|
Line 774 sub fail_redirect {
|
<body bgcolor="#FFFFFF"> |
<body bgcolor="#FFFFFF"> |
<img align="right" src="/adm/lonIcons/lonlogos.gif" /> |
<img align="right" src="/adm/lonIcons/lonlogos.gif" /> |
<b>Sorry, no recipients ...</b> |
<b>Sorry, no recipients ...</b> |
|
<br /><a href="$feedurl">Continue</a> |
</body> |
</body> |
</html> |
</html> |
ENDFAILREDIR |
ENDFAILREDIR |
Line 786 sub redirect_back {
|
Line 784 sub redirect_back {
|
my ($r,$feedurl,$typestyle,$sendsomething,$sendposts,$status,$previous) = @_; |
my ($r,$feedurl,$typestyle,$sendsomething,$sendposts,$status,$previous) = @_; |
my $prevtag = ''; |
my $prevtag = ''; |
my $qrystr = ''; |
my $qrystr = ''; |
|
# backward compatibility (bulletin boards used to be 'wrapped') |
|
if ($feedurl=~m|^/adm/wrapper/adm/.*/bulletinboard$|) { |
|
$feedurl=~s|^/adm/wrapper||; |
|
} |
|
|
if ($feedurl=~/^\/adm\//) { $feedurl.='?register=1' }; |
if ($feedurl=~/^\/adm\//) { $feedurl.='?register=1' }; |
if ($previous > 0) { |
if ($previous > 0) { |
$qrystr = 'previous='.$previous; |
$qrystr = 'previous='.$previous; |
Line 811 $typestyle
|
Line 814 $typestyle
|
<form name="reldt" action="$feedurl" target="loncapaclient"> |
<form name="reldt" action="$feedurl" target="loncapaclient"> |
$prevtag |
$prevtag |
</form> |
</form> |
|
<br /><a href="$feedurl">Continue</a> |
</body> |
</body> |
</html> |
</html> |
ENDREDIR |
ENDREDIR |
Line 833 ENDNOREDIR
|
Line 837 ENDNOREDIR
|
<body bgcolor="#FFFFFF" onLoad='if (window.name!="loncapaclient") { self.close(); }'> |
<body bgcolor="#FFFFFF" onLoad='if (window.name!="loncapaclient") { self.close(); }'> |
<img align="right" src="/adm/lonIcons/lonlogos.gif" /> |
<img align="right" src="/adm/lonIcons/lonlogos.gif" /> |
<b>Sorry, no feedback possible on this resource ...</b> |
<b>Sorry, no feedback possible on this resource ...</b> |
|
<br /><a href="$feedurl">Continue</a> |
</body> |
</body> |
</html> |
</html> |
ENDNOREDIRTWO |
ENDNOREDIRTWO |
Line 1110 sub generate_preview_button {
|
Line 1115 sub generate_preview_button {
|
<input type="hidden" name="subject"> |
<input type="hidden" name="subject"> |
<input type="hidden" name="comment" /> |
<input type="hidden" name="comment" /> |
<input type="button" value="$pre" |
<input type="button" value="$pre" |
onClick="document.mailform.onsubmit();this.form.comment.value=document.mailform.comment.value;this.form.subject.value=document.mailform.subject.value;this.form.submit();" /> |
onClick="if (typeof(document.mailform.onsubmit)=='function') {document.mailform.onsubmit();};this.form.comment.value=document.mailform.comment.value;this.form.subject.value=document.mailform.subject.value;this.form.submit();" /> |
</form> |
</form> |
ENDPREVIEW |
ENDPREVIEW |
} |
} |
Line 1126 sub handler {
|
Line 1131 sub handler {
|
# --------------------------- Get query string for limited number of parameters |
# --------------------------- Get query string for limited number of parameters |
|
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['hide','unhide','deldisc','postdata','preview','replydisc','threadedon','threadedoff','onlyunread','allposts','previous','markread','markonread','markondisp','modifydisp','changes']); |
['hide','unhide','deldisc','postdata','preview','replydisc','threadedon','threadedoff','onlyunread','allposts','previous','markread','markonread','markondisp','modifydisp','changes','navmaps','navurl']); |
if ($ENV{'form.modifydisp'}) { |
if ($ENV{'form.navmaps'}) { |
|
my %discinfo = (); |
|
my @resources = (); |
|
if ($ENV{'form.navmaps'} =~ /:/) { |
|
@resources = split/:/,$ENV{'form.navmaps'}; |
|
} else { |
|
@resources = ("$ENV{'form.navmaps'}"); |
|
} |
|
my $numitems = @resources; |
|
my $feedurl = '/adm/navmaps'; |
|
if ($ENV{'form.navurl'}) { |
|
$feedurl .= '?'.$ENV{'form.navurl'}; |
|
} |
|
my %lt = &Apache::lonlocal::texthash( |
|
'mnpa' => 'Marked "New" posts as read in a total of', |
|
'robb' => 'resources/bulletin boards.' |
|
); |
|
foreach (@resources) { |
|
# backward compatibility (bulletin boards used to be 'wrapped') |
|
my $ressymb=$_; |
|
if ($ressymb =~ m/bulletin___\d+___/) { |
|
unless ($ressymb =~ m|bulletin___\d+___adm/wrapper|) { |
|
$ressymb=~s|(bulletin___\d+___)|$1adm/wrapper/|; |
|
} |
|
} |
|
my $lastkey = $ressymb.'_lastread'; |
|
$discinfo{$lastkey} = time; |
|
} |
|
&Apache::lonnet::put('nohist_'.$ENV{'request.course.id'}.'_discuss',\%discinfo,$ENV{'user.domain'},$ENV{'user.name'}); |
|
&Apache::loncommon::content_type($r,'text/html'); |
|
$r->send_http_header; |
|
$r->print (<<ENDREDIR); |
|
<html> |
|
<head> |
|
<title>New posts marked as read</title> |
|
<meta http-equiv="pragma" content="no-cache" /> |
|
<meta HTTP-EQUIV="Refresh" CONTENT="2; url=$feedurl" /> |
|
</head> |
|
<body bgcolor="#FFFFFF" onLoad='if (window.name!="loncapaclient") { this.document.reldt.submit(); self.close(); }'> |
|
<img align="right" src="/adm/lonIcons/lonlogos.gif" /> |
|
<b>$lt{'mnpa'} $numitems $lt{'robb'}</b> |
|
<form name="reldt" action="$feedurl" target="loncapaclient"> |
|
</form> |
|
<br /><a href="$feedurl">Continue</a> |
|
</body> |
|
</html> |
|
ENDREDIR |
|
return OK; |
|
} elsif ($ENV{'form.modifydisp'}) { |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
my $symb=$ENV{'form.modifydisp'}; |
my $symb=$ENV{'form.modifydisp'}; |
Line 1135 sub handler {
|
Line 1188 sub handler {
|
my $previous=$ENV{'form.previous'}; |
my $previous=$ENV{'form.previous'}; |
my ($dispchg,$markchg) = split/_/,$ENV{'form.changes'}; |
my ($dispchg,$markchg) = split/_/,$ENV{'form.changes'}; |
my $feedurl = &Apache::lonnet::clutter($url); |
my $feedurl = &Apache::lonnet::clutter($url); |
|
# backward compatibility (bulletin boards used to be 'wrapped') |
|
if ($feedurl=~m|^/adm/wrapper/adm/.*/bulletinboard$|) { |
|
$feedurl=~s|^/adm/wrapper||; |
|
} |
&print_display_options($r,$symb,$previous,$dispchg,$markchg,$feedurl); |
&print_display_options($r,$symb,$previous,$dispchg,$markchg,$feedurl); |
return OK; |
return OK; |
} elsif (($ENV{'form.markondisp'}) || ($ENV{'form.markonread'}) || ($ENV{'form.allposts'}) || ($ENV{'form.onlyunread'}) ) { |
} elsif (($ENV{'form.markondisp'}) || ($ENV{'form.markonread'}) || ($ENV{'form.allposts'}) || ($ENV{'form.onlyunread'}) ) { |
Line 1305 sub handler {
|
Line 1362 sub handler {
|
if ($feedurl=~/\.(problem|exam|quiz|assess|survey|form)$/) { |
if ($feedurl=~/\.(problem|exam|quiz|assess|survey|form)$/) { |
unless ($symb) { $goahead=0; } |
unless ($symb) { $goahead=0; } |
} |
} |
# backward compatibility (bulltin boards used to be 'wrapped') |
# backward compatibility (bulletin boards used to be 'wrapped') |
if ($feedurl=~m|^/adm/wrapper/adm/.*/bulletinboard$|) { |
if ($feedurl=~m|^/adm/wrapper/adm/.*/bulletinboard$|) { |
$feedurl=~s|^/adm/wrapper||; |
$feedurl=~s|^/adm/wrapper||; |
} |
} |