--- loncom/interface/domainprefs.pm 2010/12/08 04:22:16 1.123.2.5 +++ loncom/interface/domainprefs.pm 2010/01/02 20:26:10 1.124 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set domain-wide configuration settings # -# $Id: domainprefs.pm,v 1.123.2.5 2010/12/08 04:22:16 raeburn Exp $ +# $Id: domainprefs.pm,v 1.124 2010/01/02 20:26:10 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -229,7 +229,7 @@ sub handler { }, 'defaults' => - { text => 'Default authentication/language/timezone/portal', + { text => 'Default authentication/language/timezone', help => 'Domain_Configuration_LangTZAuth', header => [{col1 => 'Setting', col2 => 'Value'}], @@ -328,10 +328,10 @@ sub handler { {col1 => 'Unauthenticated Help Settings', col2 => ''}], }, - 'coursedefaults' => + 'coursedefaults' => {text => 'Course/Community defaults', help => 'Domain_Configuration_Course_Defaults', - header => [{col1 => 'Defaults which can be overridden for each course by a DC', + header => [{col1 => 'Setting', col2 => 'Value',}], }, 'privacy' => @@ -2092,27 +2092,14 @@ sub print_coursedefaults { my ($css_class,$datatable); my $itemcount = 1; my (%checkedon,%checkedoff,%choices,%defaultchecked,@toggles); - $css_class = $itemcount%2 ? ' class="LC_odd_row"' : ''; - my %choices = + %choices = &Apache::lonlocal::texthash ( - anonsurvey_threshold => 'Responder count needed before showing submissions for anonymous surveys', + canuse_pdfforms => 'Course/Community users can create/upload PDF forms', ); - my $currdefresponder; - if (ref($settings) eq 'HASH') { - $currdefresponder = $settings->{'anonsurvey_threshold'}; - } - if (!$currdefresponder) { - $currdefresponder = 10; - } elsif ($currdefresponder < 1) { - $currdefresponder = 1; - } - $datatable .= - ''.$choices{'anonsurvey_threshold'}. - ''. - ''. - ''. - ''; + %defaultchecked = ('canuse_pdfforms' => 'off'); + @toggles = ('canuse_pdfforms',); + ($datatable,$itemcount) = &radiobutton_prefs($settings,\@toggles,\%defaultchecked, + \%choices,$itemcount); $$rowtotal += $itemcount; return $datatable; } @@ -2488,9 +2475,9 @@ sub print_usermodification { sub print_defaults { my ($dom,$rowtotal) = @_; my @items = ('auth_def','auth_arg_def','lang_def','timezone_def', - 'datelocale_def','portal_def'); + 'datelocale_def'); my %domdefaults = &Apache::lonnet::get_domain_defaults($dom); - my $titles = &defaults_titles($dom); + my $titles = &defaults_titles(); my $rownum = 0; my ($datatable,$css_class); foreach my $item (@items) { @@ -2527,12 +2514,8 @@ sub print_defaults { my $includeempty = 1; $datatable .= &Apache::loncommon::select_datelocale($item,$domdefaults{$item},undef,$includeempty); } else { - my $size; - if ($item eq 'portal_def') { - $size = ' size="25"'; - } $datatable .= ''; + $domdefaults{$item}.'" />'; } $datatable .= ''; $rownum ++; @@ -2542,25 +2525,13 @@ sub print_defaults { } sub defaults_titles { - my ($dom) = @_; my %titles = &Apache::lonlocal::texthash ( 'auth_def' => 'Default authentication type', 'auth_arg_def' => 'Default authentication argument', 'lang_def' => 'Default language', 'timezone_def' => 'Default timezone', 'datelocale_def' => 'Default locale for dates', - 'portal_def' => 'Portal/Default URL', ); - if ($dom) { - my $uprimary_id = &Apache::lonnet::domain($dom,'primary'); - my $uint_dom = &Apache::lonnet::internet_dom($uprimary_id); - my $protocol = $Apache::lonnet::protocol{$uprimary_id}; - $protocol = 'http' if ($protocol ne 'https'); - if ($uint_dom) { - $titles{'portal_def'} .= ' '.&mt('(for example: [_1])',$protocol.'://loncapa.'. - $uint_dom); - } - } return (\%titles); } @@ -5451,18 +5422,8 @@ sub modify_defaults { my ($dom,$r) = @_; my ($resulttext,$mailmsgtxt,%newvalues,%changes,@errors); my %domdefaults = &Apache::lonnet::get_domain_defaults($dom); - my @items = ('auth_def','auth_arg_def','lang_def','timezone_def','datelocale_def', - 'portal_def'); + my @items = ('auth_def','auth_arg_def','lang_def','timezone_def','datelocale_def'); my @authtypes = ('internal','krb4','krb5','localauth'); - my @doms = &Apache::lonnet::current_machine_domains(); - my @langs; - foreach my $dom (@doms) { - if ($dom =~ /^(\w{2})\w?itest$/) { - push (@langs,$1.'t'); - } elsif ($dom =~ /^(\w{2})\w?i$/) { - push(@langs,$1.'i'); - } - } foreach my $item (@items) { $newvalues{$item} = $env{'form.'.$item}; if ($item eq 'auth_def') { @@ -5475,8 +5436,7 @@ sub modify_defaults { if ($newvalues{$item} ne '') { if ($newvalues{$item} =~ /^(\w+)/) { my $langcode = $1; - if ((!grep(/^\Q$langcode\E/,@langs)) && - ($langcode ne 'x_chef')) { + if ($langcode ne 'x_chef') { if (code2language($langcode) eq '') { push(@errors,$item); } @@ -5498,12 +5458,6 @@ sub modify_defaults { push(@errors,$item); } } - } elsif ($item eq 'portal_def') { - if ($newvalues{$item} ne '') { - unless ($newvalues{$item} =~ /^https?\:\/\/(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])\/?$/) { - push(@errors,$item); - } - } } if (grep(/^\Q$item\E$/,@errors)) { $newvalues{$item} = $domdefaults{$item}; @@ -5670,15 +5624,13 @@ sub modify_coursecategories { } else { $changes{'togglecats'} = 1; $changes{'categorize'} = 1; - $domconfig{'coursecategories'} = { - togglecats => $env{'form.togglecats'}, - categorize => $env{'form.categorize'}, - }; $changes{'togglecatscomm'} = 1; $changes{'categorizecomm'} = 1; $domconfig{'coursecategories'} = { - togglecats => $env{'form.togglecatscomm'}, - categorize => $env{'form.categorizecomm'}, + togglecats => $env{'form.togglecats'}, + categorize => $env{'form.categorize'}, + togglecatscomm => $env{'form.togglecatscomm'}, + categorizecomm => $env{'form.categorizecomm'}, }; } if (ref($cathash) eq 'HASH') { @@ -6152,18 +6104,6 @@ sub modify_coursedefaults { } $defaultshash{'coursedefaults'}{$item} = $env{'form.'.$item}; } - my $currdefresponder = $domconfig{'coursedefaults'}{'anonsurvey_threshold'}; - my $newdefresponder = $env{'form.anonsurvey_threshold'}; - $newdefresponder =~ s/\D//g; - if ($newdefresponder eq '' || $newdefresponder < 1) { - $newdefresponder = 1; - } - $defaultshash{'coursedefaults'}{'anonsurvey_threshold'} = $newdefresponder; - if ($currdefresponder ne $newdefresponder) { - unless ($currdefresponder eq '' && $newdefresponder == 10) { - $changes{'anonsurvey_threshold'} = 1; - } - } } my $putresult = &Apache::lonnet::put_dom('configuration',\%defaultshash, $dom); @@ -6183,10 +6123,7 @@ sub modify_coursedefaults { } else { $resulttext .= '
  • '.&mt('Course/Community users can create/upload PDF forms set to "off"').'
  • '; } - } elsif ($item eq 'anonsurvey_threshold') { - $resulttext .= '
  • '.&mt('Responder count required for display of anonymous survey submissions set to [_1].',$defaultshash{'coursedefaults'}{'anonsurvey_threshold'}).'
  • '; } - } $resulttext .= ''; } else {