'Note: in anonymous discussion, your name is visible only to course faculty',
@@ -835,6 +835,9 @@ sub postingform_display {
'poan' => 'Post Anonymous Discussion',
'newa' => 'New attachments',
);
+ if ($crstype eq 'Community') {
+ $lt{'note'} = &mt('Note: in anonymous discussion, your name is visible only to community facilitators');
+ }
my $postingform = (<
@@ -862,7 +865,7 @@ ENDDISCUSS
}
my $blockblog = &Apache::loncommon::blocking_status('blogs');
if (!$blockblog) {
- $postingform .= &add_blog_checkbox();
+ $postingform .= &add_blog_checkbox($crstype);
}
$postingform .= "\n";
if ($outputtarget ne 'tex') {
@@ -2006,6 +2009,13 @@ sub print_sortfilter_options {
my $group_sel = '';
my $numgroupvis = 5;
my %sectioncount = &Apache::loncommon::get_sections();
+ my @courseroles = qw(st ad ep ta in);
+ my $crstype = &Apache::loncommon::course_type();
+ my $ccrole = 'cc';
+ if ($crstype eq 'Community') {
+ $ccrole = 'co';
+ }
+ push(@courseroles,$ccrole);
if ($env{'request.course.sec'} !~ /^\s*$/) { #Restrict section choice to current section
@sections = ('all',$env{'request.course.sec'});
@@ -2069,7 +2079,7 @@ sub print_sortfilter_options {
my %sort_types = ();
my %role_types = ();
my %status_types = ();
- &sort_filter_names(\%sort_types,\%role_types,\%status_types);
+ &sort_filter_names(\%sort_types,\%role_types,\%status_types,$crstype);
my $js = <
@@ -2158,10 +2168,11 @@ $start_page
@@ -2561,6 +2572,22 @@ ENDNOREDIRTWO
sub screen_header {
my ($feedurl,$symb) = @_;
+ my $crscontent = &mt('Question/Comment/Feedback about course content');
+ my $crspolicy = &mt('Question/Comment/Feedback about course policy');
+ my $contribdisc = &mt('Contribution to course discussion of resource');
+ my $anoncontrib = &mt('Anonymous contribution to course discussion of resource');
+ my $namevis = &mt('name only visible to course faculty');
+ my $crstype;
+ if ($env{'request.course.id'}) {
+ $crstype = &Apache::loncommon::course_type();
+ if ($crstype eq 'Community') {
+ $crscontent = &mt('Question/Comment/Feedback about community content');
+ $crspolicy = &mt('Question/Comment/Feedback about community policy');
+ $contribdisc = &mt('Contribution to community discussion of resource');
+ $anoncontrib = &mt('Anonymous contribution to community discussion of resource');
+ $namevis = &mt('name only visible to community facilitators');
+ }
+ }
my $msgoptions='';
my $discussoptions='';
unless (($env{'form.replydisc'}) || ($env{'form.editdisc'})) {
@@ -2581,13 +2608,13 @@ sub screen_header {
if (&feedback_available(0,1)) {
$msgoptions.=
'';
}
if (&feedback_available(0,0,1)) {
$msgoptions.=
'';
}
}
@@ -2598,14 +2625,15 @@ sub screen_header {
$env{'request.course.id'}.
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) {
$discussoptions=' '.
+ $contribdisc.
+ ' '.
+
''.&mt('Change Screenname').'';
my $blockblog = &Apache::loncommon::blocking_status('blogs');
if (!$blockblog) {
- $discussoptions.= &add_blog_checkbox();
+ $discussoptions.= &add_blog_checkbox($crstype);
}
}
}
@@ -3245,7 +3273,8 @@ sub construct_attachmenturl {
}
sub add_blog_checkbox {
- my ($checkstatus);
+ my ($crstype) = @_;
+ my $checkstatus;
if ($env{'form.blog'}) {
$checkstatus = 'checked="checked"';
}
@@ -3259,8 +3288,13 @@ function setblogvalue() {
}
}
- '."\n";
+ '."\n";
return $output;
}
@@ -3284,8 +3318,9 @@ sub has_discussion {
}
sub sort_filter_names {
- my ($sort_types,$role_types,$status_types) = @_;
- %{$sort_types} = (
+ my ($sort_types,$role_types,$status_types,$crstype) = @_;
+ if (ref($sort_types) eq 'HASH') {
+ %{$sort_types} = (
ascdate => 'Date order - oldest first',
descdate => 'Date order - newest first',
thread => 'Threaded',
@@ -3293,24 +3328,30 @@ sub sort_filter_names {
username => 'By domain and username',
lastfirst => 'By last name, first name'
);
- %{$role_types} = (
- all => 'All roles',
- st => 'Students',
- cc => 'Course Coordinators',
- in => 'Instructors',
- ta => 'TAs',
- ep => 'Exam proctors',
- ad => 'Administrators',
- cr => 'Custom roles'
- );
- %{$status_types} = (
- all => 'Roles of any status',
- Active => 'Only active roles',
- Expired => 'Only past roles',
- Future => 'Only future roles',
- );
+ }
+ my @courseroles = qw(st in ta ep ad);
+ if ($crstype eq 'Community') {
+ push(@courseroles,'co');
+ } else {
+ push(@courseroles,'cc');
+ }
+ if (ref($role_types) eq 'HASH') {
+ foreach my $role (@courseroles) {
+ $role_types->{$role} = &Apache::lonnet::plaintext($role,$crstype);
+ }
+ $role_types->{'all'} = 'All roles';
+ $role_types->{'cr'} = 'Custom role';
+ }
+ if (ref($status_types) eq 'HASH') {
+ %{$status_types} = (
+ all => 'Roles of any status',
+ Active => 'Only active roles',
+ Expired => 'Only past roles',
+ Future => 'Only future roles',
+ );
+ }
}
-
+
sub handler {
my $r = shift;
if ($r->header_only) {
@@ -3836,7 +3877,11 @@ ENDREDIR
$env{'user.domain'},
'CourseBlog_'.$env{'request.course.id'},
$subject,$message,$feedurl,'public');
- $blog=' '.&mt('Added to my course blog').' ';
+ if (&Apache::loncommon::course_type() eq 'Community') {
+ $blog=' '.&mt('Added to my community blog').' ';
+ } else {
+ $blog=' '.&mt('Added to my course blog').' ';
+ }
}
# Receipt screen and redirect back to where came from