--- loncom/interface/courseprefs.pm 2016/03/04 21:43:15 1.76 +++ loncom/interface/courseprefs.pm 2016/05/13 22:57:45 1.79 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set configuration settings for a course # -# $Id: courseprefs.pm,v 1.76 2016/03/04 21:43:15 raeburn Exp $ +# $Id: courseprefs.pm,v 1.79 2016/05/13 22:57:45 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -419,6 +419,7 @@ sub handler { { text => 'Discussion and Chat', help => 'Course_Prefs_Discussions', ordered => ['pch.roles.denied','pch.users.denied', + 'pac.roles.denied','pac.users.denied', 'plc.roles.denied','plc.users.denied', 'allow_limited_html_in_feedback', 'allow_discussion_post_editing', @@ -428,9 +429,11 @@ sub handler { 'pch.users.denied' => 'No Resource Discussion', 'plc.roles.denied' => 'No Chat room use', 'plc.users.denied' => 'No Chat room use', + 'pac.roles.denied' => 'No Anonymous Resource Discussion', + 'pac.users.denied' => 'No Anonymous Resource Discussion', allow_limited_html_in_feedback => 'Allow limited HTML in discussion', allow_discussion_post_editing => 'Users can edit/delete own discussion posts', - discussion_post_fonts => 'Discussion post fonts based on likes/unlikes', + discussion_post_fonts => 'Discussion post fonts based on likes/unlikes', }, }, 'classlists' => @@ -1021,7 +1024,8 @@ sub process_changes { } } } - } elsif (($entry eq 'plc.roles.denied') || ($entry eq 'pch.roles.denied')) { + } elsif (($entry eq 'plc.roles.denied') || ($entry eq 'pch.roles.denied') || + ($entry eq 'pac.roles.denied')) { my @denied = &Apache::loncommon::get_env_multiple('form.'.$entry); @denied = sort(@denied); my $deniedstr = ''; @@ -1029,7 +1033,8 @@ sub process_changes { $deniedstr = join(',',@denied); } $newvalues{$entry} = $deniedstr; - } elsif (($entry eq 'plc.users.denied') || ($entry eq 'pch.users.denied')) { + } elsif (($entry eq 'plc.users.denied') || ($entry eq 'pch.users.denied') || + ($entry eq 'pac.users.denied')) { my $total = $env{'form.'.$entry.'_total'}; my $userstr = ''; my @denied; @@ -2562,10 +2567,10 @@ sub display_loncaparev_constraints { } } } - foreach my $item (keys(%Apache::lonrelrequtils::checkparmsmatch)) { - if (ref($Apache::lonrelrequtils::checkparmsmatch{$item}) eq 'ARRAY') { + foreach my $item (keys(%Apache::lonrelrequtils::checkparmvalsmatch)) { + if (ref($Apache::lonrelrequtils::checkparmvalsmatch{$item}) eq 'ARRAY') { my $value = $resourcedata->{$key}; - foreach my $valuematch (@{$Apache::lonrelrequtils::checkparmsmatch{$item}}) { + foreach my $valuematch (@{$Apache::lonrelrequtils::checkparmvalsmatch{$item}}) { if ($value =~ /$valuematch/) { my $stdtype = &Apache::lonparmset::standard_parameter_types($item); $found{$item}{'valname'} = &get_param_description($stdtype,$value,1); @@ -2729,7 +2734,7 @@ sub display_loncaparev_constraints { if (keys(%comm_blocks) > 0) { foreach my $block (keys(%comm_blocks)) { if ($block =~ /^firstaccess____(.+)$/) { - my $rev = $Apache::lonnet::needsrelease{'course:commblock:timer:'}; + my $rev = $Apache::lonnet::needsrelease{'course:commblock:timer'}; if (ref($comm_blocks{$block}) eq 'HASH') { push(@{$fromblocks{'timer'}{$rev}},&unescape($comm_blocks{$block}{'event'}). ' '.&mt('set by [_1]', @@ -2744,14 +2749,14 @@ sub display_loncaparev_constraints { if (ref($comm_blocks{$block}{'blocks'}) eq 'HASH') { if (ref($comm_blocks{$block}{'blocks'}{'docs'}) eq 'HASH') { if (keys(%{$comm_blocks{$block}{'blocks'}{'docs'}}) > 0) { - my $rev = $Apache::lonnet::needsrelease{'course:commblock:docs:'}; + my $rev = $Apache::lonnet::needsrelease{'course:commblock:docs'}; push(@{$fromblocks{'docs'}{$rev}},&unescape($comm_blocks{$block}{'event'}). ' '. &mt('set by [_1]', &Apache::loncommon::plainname(split(/:/,$comm_blocks{$block}{'setter'})))); } } elsif ($comm_blocks{$block}{'blocks'}{'printout'} eq 'on') { - my $rev = $Apache::lonnet::needsrelease{'course:commblock:printout:'}; + my $rev = $Apache::lonnet::needsrelease{'course:commblock:printout'}; push(@{$fromblocks{'printout'}{$rev}},&unescape($comm_blocks{$block}{'event'}). ' '. &mt('set by [_1]', @@ -3617,6 +3622,20 @@ sub print_discussion { &mt('(specific user(s))'), input => 'checkbox', }, + + 'pac.roles.denied' => { + text => ''.&mt($itemtext->{'pac.roles.denied'}).''. + &Apache::loncommon::help_open_topic("Course_Disable_Anonymous_Discussion").'
'. + &mt('(role-based)'), + input => 'checkbox', + }, + + 'pac.users.denied' => { + text => ''.&mt($itemtext->{'pac.users.denied'}).'
'. + &mt('(specific user(s))'), + input => 'checkbox', + }, + 'allow_limited_html_in_feedback' => { text => ''.&mt($itemtext->{'allow_limited_html_in_feedback'}).'', input => 'radio', @@ -3667,6 +3686,14 @@ sub print_discussion { $datatable .= ''. &user_table($cdom,$item,undef, $settings->{$item},\%lt); + } elsif ($item eq 'pac.roles.denied') { + $datatable .= ''. + ''.&role_checkboxes($cdom,$cnum,$item,$settings). + '
'; + } elsif ($item eq 'pac.users.denied') { + $datatable .= ''. + &user_table($cdom,$item,undef, + $settings->{$item},\%lt); } elsif ($item eq 'allow_limited_html_in_feedback') { $datatable .= &yesno_radio($item,$settings); } elsif ($item eq 'allow_discussion_post_editing') {