--- loncom/interface/domainprefs.pm 2010/02/22 18:39:13 1.102.2.9
+++ loncom/interface/domainprefs.pm 2009/08/22 18:48:56 1.106
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set domain-wide configuration settings
#
-# $Id: domainprefs.pm,v 1.102.2.9 2010/02/22 18:39:13 raeburn Exp $
+# $Id: domainprefs.pm,v 1.106 2009/08/22 18:48:56 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -199,15 +199,14 @@ sub handler {
}
my %domconfig =
&Apache::lonnet::get_dom('configuration',['login','rolecolors',
- 'quotas','autoenroll','autoupdate','autocreate',
- 'directorysrch','usercreation','usermodification',
- 'contacts','defaults','scantron','coursecategories',
- 'serverstatuses','requestcourses','coursedefaults'],$dom);
+ 'quotas','autoenroll','autoupdate','directorysrch',
+ 'usercreation','usermodification','contacts','defaults',
+ 'scantron','coursecategories','serverstatuses',
+ 'requestcourses'],$dom);
my @prefs_order = ('rolecolors','login','defaults','quotas','autoenroll',
- 'autoupdate','autocreate','directorysrch','contacts',
+ 'autoupdate','directorysrch','contacts',
'usercreation','usermodification','scantron',
- 'requestcourses','coursecategories','serverstatuses',
- 'coursedefaults');
+ 'requestcourses','coursecategories','serverstatuses');
my %prefs = (
'rolecolors' =>
{ text => 'Default color schemes',
@@ -254,12 +253,6 @@ sub handler {
{col1 => 'User population',
col2 => 'Updataeable user data'}],
},
- 'autocreate' =>
- { text => 'Auto-course creation settings',
- help => 'Domain_Configuration_Auto_Creation',
- header => [{col1 => 'Configuration Setting',
- col2 => 'Value',}],
- },
'directorysrch' =>
{ text => 'Institutional directory searches',
help => 'Domain_Configuration_InstDirectory_Search',
@@ -309,7 +302,7 @@ sub handler {
col2 => 'Value'}],
},
'coursecategories' =>
- { text => 'Cataloging of courses/communities',
+ { text => 'Cataloging of courses',
help => 'Domain_Configuration_Cataloging_Courses',
header => [{col1 => 'Category settings',
col2 => '',},
@@ -325,12 +318,6 @@ sub handler {
col3 => 'Specific IPs',
}],
},
- 'coursedefaults' =>
- {text => 'Course/Community defaults',
- help => 'Domain_Configuration_Course_Defaults',
- header => [{col1 => 'Setting',
- col2 => 'Value',}],
- },
);
my @roles = ('student','coordinator','author','admin');
my @actions = &Apache::loncommon::get_env_multiple('form.actions');
@@ -399,8 +386,6 @@ sub process_changes {
$output = &modify_autoenroll($dom,%domconfig);
} elsif ($action eq 'autoupdate') {
$output = &modify_autoupdate($dom,%domconfig);
- } elsif ($action eq 'autocreate') {
- $output = &modify_autocreate($dom,%domconfig);
} elsif ($action eq 'directorysrch') {
$output = &modify_directorysrch($dom,%domconfig);
} elsif ($action eq 'usercreation') {
@@ -419,8 +404,6 @@ sub process_changes {
$output = &modify_serverstatuses($dom,%domconfig);
} elsif ($action eq 'requestcourses') {
$output = &modify_quotas($dom,$action,%domconfig);
- } elsif ($action eq 'coursedefaults') {
- $output = &modify_coursedefaults($dom,%domconfig);
}
return $output;
}
@@ -440,11 +423,9 @@ sub print_config_box {
&Apache::loncommon::help_open_topic($item->{'help'}).''."\n".
'';
$rowtotal ++;
- my $numheaders = 1;
- if (ref($item->{'header'}) eq 'ARRAY') {
- $numheaders = scalar(@{$item->{'header'}});
- }
- if ($numheaders > 1) {
+ if (($action eq 'autoupdate') || ($action eq 'rolecolors') ||
+ ($action eq 'usercreation') || ($action eq 'usermodification') ||
+ ($action eq 'coursecategories') || ($action eq 'requestcourses')) {
my $colspan = '';
if (($action eq 'rolecolors') || ($action eq 'coursecategories')) {
$colspan = ' colspan="2"';
@@ -590,8 +571,6 @@ sub print_config_box {
$output .= &print_quotas($dom,$settings,\$rowtotal,$action);
} elsif ($action eq 'autoenroll') {
$output .= &print_autoenroll($dom,$settings,\$rowtotal);
- } elsif ($action eq 'autocreate') {
- $output .= &print_autocreate($dom,$settings,\$rowtotal);
} elsif ($action eq 'directorysrch') {
$output .= &print_directorysrch($dom,$settings,\$rowtotal);
} elsif ($action eq 'contacts') {
@@ -602,8 +581,6 @@ sub print_config_box {
$output .= &print_scantronformat($r,$dom,$confname,$settings,\$rowtotal);
} elsif ($action eq 'serverstatuses') {
$output .= &print_serverstatuses($dom,$settings,\$rowtotal);
- } elsif ($action eq 'coursedefaults') {
- $output .= &print_coursedefaults($dom,$settings,\$rowtotal);
}
}
$output .= '
@@ -751,7 +728,7 @@ sub print_login {
sub login_choices {
my %choices =
&Apache::lonlocal::texthash (
- coursecatalog => 'Display Course/Community Catalog link?',
+ coursecatalog => 'Display Course Catalog link?',
adminmail => "Display Administrator's E-mail Address?",
newuser => "Link to create a user account",
img => "Header",
@@ -786,6 +763,7 @@ sub print_rolecolors {
my %defaults = (
img => $defaultdesign{$role.'.img'},
font => $defaultdesign{$role.'.font'},
+ fontmenu => $defaultdesign{$role.'.fontmenu'},
);
foreach my $item (@bgs) {
$defaults{'bgs'}{$item} = $defaultdesign{$role.'.'.$item};
@@ -803,6 +781,10 @@ sub print_rolecolors {
$designs{'font'} = $settings->{$role}->{'font'};
$is_custom{'font'} = 1;
}
+ if ($settings->{$role}->{'fontmenu'} ne '') {
+ $designs{'fontmenu'} = $settings->{$role}->{'fontmenu'};
+ $is_custom{'fontmenu'} = 1;
+ }
foreach my $item (@bgs) {
if ($settings->{$role}->{$item} ne '') {
$designs{'bgs'}{$item} = $settings->{$role}->{$item};
@@ -821,6 +803,10 @@ sub print_rolecolors {
$designs{img} = $designhash{$dom.'.'.$role.'.img'};
$is_custom{'img'} = 1;
}
+ if ($designhash{$dom.'.'.$role.'.fontmenu'} ne '') {
+ $designs{fontmenu} = $designhash{$dom.'.'.$role.'.fontmenu'};
+ $is_custom{'fontmenu'} = 1;
+ }
if ($designhash{$dom.'.'.$role.'.font'} ne '') {
$designs{font} = $designhash{$dom.'.'.$role.'.font'};
$is_custom{'font'} = 1;
@@ -849,7 +835,7 @@ sub display_color_options {
my ($dom,$confname,$phase,$role,$itemcount,$choices,$is_custom,$defaults,$designs,
$images,$bgs,$links,$alt_text,$rowtotal,$logintext,$loginheader) = @_;
my $css_class = $itemcount%2?' class="LC_odd_row"':'';
- my $datatable = '
'.
+ my $datatable = '
'.
''.$choices->{'font'}.' | ';
if (!$is_custom->{'font'}) {
$datatable .= ''.&mt('Default in use:').' '.$defaults->{'font'}.' | ';
@@ -863,6 +849,20 @@ sub display_color_options {
' '.
'
';
+ $datatable .= ''.
+ ''.$choices->{'fontmenu'}.' | ';
+ if (!$is_custom->{'fontmenu'}) {
+ $datatable .= ''.&mt('Default in use:').' '.$defaults->{'fontmenu'}.' | ';
+ } else {
+ $datatable .= ' | ';
+ }
+ $fontlink = &color_pick($phase,$role,'fontmenu',$choices->{'fontmenu'},$designs->{'fontmenu'});
+ $datatable .= ''.
+ ' '.$fontlink.
+ ' '.
+ ' |
';
my $switchserver = &check_switchserver($dom,$confname);
foreach my $img (@{$images}) {
$itemcount ++;
@@ -1218,15 +1218,15 @@ sub print_quotas {
$cell{$item} .= '';
+ $titles{$option}.' ';
if ($option eq 'autolimit') {
- $cell{$item} .= ' ';
}
- $cell{$item} .= ' ';
+ $cell{$item} .= ' ';
if ($option eq 'autolimit') {
- $cell{$item} .= $titles{'unlimited'};
+ $cell{$item} .= $titles{'unlimited'}
}
}
} else {
@@ -1249,7 +1249,7 @@ sub print_quotas {
if ($context eq 'requestcourses') {
$datatable .= '';
foreach my $item (@usertools) {
- $datatable .= ''.$cell{$item}.' | ';
+ $datatable .= ''.$cell{$item}.' | ';
}
$datatable .= '
';
}
@@ -1326,13 +1326,13 @@ sub print_quotas {
'_default" value="'.$val.'"'.$checked.' />'.
$titles{$option}.'';
if ($option eq 'autolimit') {
- $defcell{$item} .= ' ';
}
- $defcell{$item} .= ' ';
+ $defcell{$item} .= ' ';
if ($option eq 'autolimit') {
- $defcell{$item} .= $titles{'unlimited'};
+ $defcell{$item} .= $titles{'unlimited'}
}
}
} else {
@@ -1355,7 +1355,7 @@ sub print_quotas {
if ($context eq 'requestcourses') {
$datatable .= '';
foreach my $item (@usertools) {
- $datatable .= ''.$defcell{$item}.' | ';
+ $datatable .= ''.$defcell{$item}.' | ';
}
$datatable .= '
';
}
@@ -1371,15 +1371,16 @@ sub print_quotas {
$datatable .= ''.
''.&mt('LON-CAPA Advanced Users').' ';
if ($context eq 'requestcourses') {
- $datatable .= &mt('(overrides affiliation, if set)').
- ' | '.
- ''.
- '';
+ $datatable .= &mt('(overrides affiliation, if set)');
} else {
- $datatable .= &mt('(overrides affiliation, if checked)').
- ''.
- ''.
- ' ';
+ $datatable .= &mt('(overrides affiliation, if checked)');
+ }
+ $datatable .= ' | '.
+ '';
+ if ($context eq 'requestcourses') {
+ $datatable .= '';
}
@@ -1663,57 +1664,6 @@ sub print_autoupdate {
return $datatable;
}
-sub print_autocreate {
- my ($dom,$settings,$rowtotal) = @_;
- my (%createon,%createoff);
- my $curr_dc;
- my @types = ('xml','req');
- if (ref($settings) eq 'HASH') {
- foreach my $item (@types) {
- $createoff{$item} = ' checked="checked" ';
- $createon{$item} = ' ';
- if (exists($settings->{$item})) {
- if ($settings->{$item}) {
- $createon{$item} = ' checked="checked" ';
- $createoff{$item} = ' ';
- }
- }
- }
- $curr_dc = $settings->{'xmldc'};
- } else {
- foreach my $item (@types) {
- $createoff{$item} = ' checked="checked" ';
- $createon{$item} = ' ';
- }
- }
- $$rowtotal += 2;
- my $datatable=' | '.
- ''.&mt('Create pending official courses from XML files').' | '.
- ' '.
- '';
- my ($numdc,$dctable) = &active_dc_picker($dom,$curr_dc);
- if ($numdc > 1) {
- $datatable .= ' | '.
- &mt('XML files processed as: (choose Dom. Coord.)').
- ' | '.$dctable.' | '.
- '';
- $$rowtotal ++ ;
- } else {
- $datatable .= ' ';
- }
- $datatable .= ''.&mt('Create pending requests for official courses (if validated)').' | '.
- ' '.
- ' | '.
- ' ';
- return $datatable;
-}
-
sub print_directorysrch {
my ($dom,$settings,$rowtotal) = @_;
my $srchon = ' ';
@@ -1902,67 +1852,6 @@ sub print_contacts {
return $datatable;
}
-sub radiobutton_prefs {
- my ($settings,$toggles,$defaultchecked,$choices,$itemcount) = @_;
- return unless ((ref($toggles) eq 'ARRAY') && (ref($defaultchecked) eq 'HASH') &&
- (ref($choices) eq 'HASH'));
-
- my (%checkedon,%checkedoff,$datatable,$css_class);
-
- foreach my $item (@{$toggles}) {
- if ($defaultchecked->{$item} eq 'on') {
- $checkedon{$item} = ' checked="checked" ';
- $checkedoff{$item} = ' ';
- } elsif ($defaultchecked->{$item} eq 'off') {
- $checkedoff{$item} = ' checked="checked" ';
- $checkedon{$item} = ' ';
- }
- }
- if (ref($settings) eq 'HASH') {
- foreach my $item (@{$toggles}) {
- if ($settings->{$item} eq '1') {
- $checkedon{$item} = ' checked="checked" ';
- $checkedoff{$item} = ' ';
- } elsif ($settings->{$item} eq '0') {
- $checkedoff{$item} = ' checked="checked" ';
- $checkedon{$item} = ' ';
- }
- }
- }
- foreach my $item (@{$toggles}) {
- $css_class = $itemcount%2?' class="LC_odd_row"':'';
- $datatable .=
- ''.$choices->{$item}.
- ' | '.
- ''.
- ' '.
- ' | '.
- ' ';
- $itemcount ++;
- }
- return ($datatable,$itemcount);
-}
-
-sub print_coursedefaults {
- my ($dom,$settings,$rowtotal) = @_;
- my ($css_class,$datatable);
- my $itemcount = 1;
- my (%checkedon,%checkedoff,%choices,%defaultchecked,@toggles);
- %choices =
- &Apache::lonlocal::texthash (
- canuse_pdfforms => 'Course/Community users can create/upload PDF forms',
- );
- %defaultchecked = ('canuse_pdfforms' => 'off');
- @toggles = ('canuse_pdfforms',);
- ($datatable,$itemcount) = &radiobutton_prefs($settings,\@toggles,\%defaultchecked,
- \%choices,$itemcount);
- $$rowtotal += $itemcount;
- return $datatable;
-}
-
sub contact_titles {
my %titles = &Apache::lonlocal::texthash (
'supportemail' => 'Support E-mail address',
@@ -2008,7 +1897,7 @@ sub courserequest_titles {
sub courserequest_conditions {
my %conditions = &Apache::lonlocal::texthash (
- approval => '(Processing of request subject to approval by Domain Coordinator).',
+ approval => '(Processing of request subject to approval by Domain Coordinator).',
validate => '(Processing of request subject to instittutional validation).',
);
return %conditions;
@@ -2574,11 +2463,6 @@ sub print_coursecategories {
my $toggle_cats_dom = ' checked="checked" ';
my $can_cat_crs = ' ';
my $can_cat_dom = ' checked="checked" ';
- my $toggle_catscomm_comm = ' ';
- my $toggle_catscomm_dom = ' checked="checked" ';
- my $can_catcomm_comm = ' ';
- my $can_catcomm_dom = ' checked="checked" ';
-
if (ref($settings) eq 'HASH') {
if ($settings->{'togglecats'} eq 'crs') {
$toggle_cats_crs = $toggle_cats_dom;
@@ -2588,25 +2472,14 @@ sub print_coursecategories {
$can_cat_crs = $can_cat_dom;
$can_cat_dom = ' ';
}
- if ($settings->{'togglecatscomm'} eq 'comm') {
- $toggle_catscomm_comm = $toggle_catscomm_dom;
- $toggle_catscomm_dom = ' ';
- }
- if ($settings->{'categorizecomm'} eq 'comm') {
- $can_catcomm_comm = $can_catcomm_dom;
- $can_catcomm_dom = ' ';
- }
}
my %title = &Apache::lonlocal::texthash (
- togglecats => 'Show/Hide a course in catalog',
- togglecatscomm => 'Show/Hide a community in catalog',
- categorize => 'Assign a category to a course',
- categorizecomm => 'Assign a category to a community',
+ togglecats => 'Show/Hide a course in the catalog',
+ categorize => 'Assign a category to a course',
);
my %level = &Apache::lonlocal::texthash (
- dom => 'Set in Domain',
- crs => 'Set in Course',
- comm => 'Set in Community',
+ dom => 'Set in "Modify Course" (Domain)',
+ crs => 'Set in "Modify Parameters" (Course)',
);
$datatable = ''.
''.$title{'togglecats'}.' | '.
@@ -2622,22 +2495,8 @@ sub print_coursecategories {
$can_cat_dom.' value="dom" />'.$level{'dom'}.' '.
''.
- ' '.
- ''.$title{'togglecatscomm'}.' | '.
- ' '.
- ' | '.
- ' '.
- ''.$title{'categorizecomm'}.' | '.
- ''.
- ' '.
- ' | '.
' ';
- $$rowtotal += 4;
+ $$rowtotal += 2;
} else {
my $css_class;
my $itemcount = 1;
@@ -2659,15 +2518,7 @@ sub print_coursecategories {
if (ref($cats[0]) eq 'ARRAY') {
my $numtop = @{$cats[0]};
my $maxnum = $numtop;
- my %default_names = (
- instcode => &mt('Official courses'),
- communities => &mt('Communities'),
- );
-
- if ((!grep(/^instcode$/,@{$cats[0]})) ||
- ($cathash->{'instcode::0'} eq '') ||
- (!grep(/^communities$/,@{$cats[0]})) ||
- ($cathash->{'communities::0'} eq '')) {
+ if ((!grep(/^instcode$/,@{$cats[0]})) || ($cathash->{'instcode::0'} eq '')) {
$maxnum ++;
}
my $lastidx;
@@ -2688,33 +2539,14 @@ sub print_coursecategories {
$datatable .= '';
}
$datatable .= '';
- if ($parent eq 'instcode' || $parent eq 'communities') {
- $datatable .= ''
- .$default_names{$parent}.'';
- if ($parent eq 'instcode') {
- $datatable .= ' ('
- .&mt('with institutional codes')
- .') | ';
- } else {
- $datatable .= '';
- }
- $datatable .= ' | ';
+ if ($parent eq 'instcode') {
+ $datatable .= ''.&mt('Official courses')
+ .' ('
+ .&mt('with institutional codes').')'
+ .' '
+ .' | ';
} else {
$datatable .= $parent
.'
|