[LON-CAPA-cvs] cvs: loncom(version_2_9_X) /interface lonconfigsettings.pm
raeburn
raeburn@source.lon-capa.org
Tue, 23 Mar 2010 20:53:09 -0000
This is a MIME encoded message
--raeburn1269377589
Content-Type: text/plain
raeburn Tue Mar 23 20:53:09 2010 EDT
Modified files: (Branch: version_2_9_X)
/loncom/interface lonconfigsettings.pm
Log:
- Backport 1.12.
--raeburn1269377589
Content-Type: text/plain
Content-Disposition: attachment; filename="raeburn-20100323205309.txt"
Index: loncom/interface/lonconfigsettings.pm
diff -u loncom/interface/lonconfigsettings.pm:1.8.2.1 loncom/interface/lonconfigsettings.pm:1.8.2.2
--- loncom/interface/lonconfigsettings.pm:1.8.2.1 Sat Feb 13 19:32:51 2010
+++ loncom/interface/lonconfigsettings.pm Tue Mar 23 20:53:09 2010
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set domain-wide configuration settings
#
-# $Id: lonconfigsettings.pm,v 1.8.2.1 2010/02/13 19:32:51 raeburn Exp $
+# $Id: lonconfigsettings.pm,v 1.8.2.2 2010/03/23 20:53:09 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -40,7 +40,7 @@
my ($r,$phase,$context,$jscript) = @_;
my ($pagetitle,$brcrumtitle,$action,$call_category_check);
if ($context eq 'domain') {
- ($pagetitle, $brcrumtitle) = ('View/Modify Domain Settings','Domain Settings');
+ ($pagetitle, $brcrumtitle) = ('View/Modify Domain Settings','View/Modify Domain Settings');
$action = '/adm/domainprefs';
if ($phase eq 'display') {
my @actions = &Apache::loncommon::get_env_multiple('form.actions');
@@ -94,8 +94,7 @@
}'."\n";
if ($phase eq 'pickactions') {
$js .=
- &Apache::lonhtmlcommon::set_form_elements({actions => 'checkbox',numcols => 'radio',})."\n".
- &javascript_set_colnums();
+ &Apache::lonhtmlcommon::set_form_elements({actions => 'checkbox'})."\n";
} elsif ($phase eq 'display') {
$js .= &color_pick_js()."\n";
}
@@ -114,12 +113,7 @@
my $additem;
if ($phase eq 'pickactions') {
my %loaditems = (
- 'onload' => "javascript:getViewportDims(document.$phase.width,document.$phase.height);setDisplayColumns();setFormElements(document.pickactions);",
- );
- $additem = {'add_entries' => \%loaditems,};
- } else {
- my %loaditems = (
- 'onload' => "javascript:getViewportDims(document.$phase.width,document.$phase.height);",
+ 'onload' => "setFormElements(document.pickactions);",
);
$additem = {'add_entries' => \%loaditems,};
}
@@ -140,11 +134,7 @@
sub print_footer {
my ($r,$phase,$newphase,$button_text,$actions) = @_;
$button_text = &mt($button_text);
- $r->print('<input type="hidden" name="phase" value="" />'.
- '<input type="hidden" name="width" value="'.
- $env{'form.width'}.'" />'.
- '<input type="hidden" name="height" value="'.
- $env{'form.height'}.'" />');
+ $r->print('<input type="hidden" name="phase" value="" />');
if (defined($env{'form.origin'})) {
$r->print('<input type="hidden" name="origin" value="'.$env{'form.origin'}.'" />'."\n");
}
@@ -154,7 +144,6 @@
$r->print('<input type="hidden" name="actions" value="'.$item.'" />')."\n";
}
}
- $r->print('<input type="hidden" name="numcols" value="'.$env{'form.numcols'}.'" />');
}
my $dest='"javascript:changePage(document.'.$phase.','."'$newphase'".')"';
if ($phase eq 'process') {
@@ -253,11 +242,11 @@
({href=>"javascript:changePage(document.$phase,'display')",
text=>"Display/Edit Settings"});
&print_header($r,$phase,$context,$jscript);
+ my $divwidth = 900;
if ((ref($prefs_order) eq 'ARRAY') && (ref($prefs) eq 'HASH') && (ref($values) eq 'HASH')) {
if (@actions > 0) {
my $rowsum = 0;
my (%output,%rowtotal,@items);
- my $halfway = @actions/2;
foreach my $item (@{$prefs_order}) {
if (grep(/^\Q$item\E$/,@actions)) {
push(@items,$item);
@@ -273,52 +262,16 @@
$rowsum += $rowtotal{$item};
}
}
- my $colend;
- my $halfway = $rowsum/2;
- my $aggregate = 0;
- my $sumleft = 0;
- my $sumright = 0;
- my $crossover;
+ $r->print('<div id="prefs" style="max-width:'.$divwidth.'px;margin: 10px auto 10px auto;">');
for (my $i=0; $i<@items; $i++) {
- $aggregate += $rowtotal{$items[$i]};
- if ($aggregate > $halfway) {
- $crossover = $i;
- last;
- }
- }
- for (my $i=0; $i<$crossover; $i++) {
- $sumleft += $rowtotal{$items[$i]};
- }
- for (my $i=$crossover+1; $i<@items; $i++) {
- $sumright += $rowtotal{$items[$i]};
- }
- if ((@items > 1) && ($env{'form.numcols'} == 2)) {
- my $sumdiff = $sumright - $sumleft;
- if ($sumdiff > 0) {
- $colend = $crossover + 1;
- } else {
- $colend = $crossover;
- }
- } else {
- $colend = @items;
- }
- $r->print('<p><table class="LC_double_column"><tr><td class="LC_left_col">'); for (my $i=0; $i<$colend; $i++) {
$r->print($output{$items[$i]});
}
- $r->print('</td><td></td><td class="LC_right_col">');
- if ($colend < @items) {
- for (my $i=$colend; $i<@items; $i++) {
- $r->print($output{$items[$i]});
- }
- }
- $r->print('</td></tr></table></p>');
+ $r->print('</div>');
$r->print(&print_footer($r,$phase,'process','Save',\@actions));
} else {
$r->print('<input type="hidden" name="phase" value="" />'.
- '<input type="hidden" name="numcols" value="'.
- $env{'form.numcols'}.'" />'."\n".
- '<span class="LC_error">'.&mt('No settings chosen').
- '</span>');
+ '<span class="LC_error">'.&mt('No settings chosen').
+ '</span>');
}
$r->print('</form>');
}
@@ -333,64 +286,54 @@
}
my %helphash;
&print_header($r,$phase,$context);
- $r->print('<h3>'.&mt('Settings to display/modify').'</h3>');
$r->print('<script type="text/javascript">'."\n".
'// <![CDATA['."\n".
&Apache::loncommon::check_uncheck_jscript()."\n".
'// ]]>'."\n".
- '</script>'."\n".'<p><input type="button" value="'.&mt('check all').'" '.
+ '</script>'."\n");
+ $r->print('<h3>'.&mt('Settings to display/modify').'</h3>'."\n".
+ '<div><input type="button" value="'.&mt('check all').'" '.
'onclick="javascript:checkAll(document.pickactions.actions)"'.
' />'.(' 'x2).
'<input type="button" value="'.&mt('uncheck all').'" '.
- 'onclick="javascript:uncheckAll(document.pickactions.actions)"'.
- ' /></p><div class="LC_left_float">');
- my ($numitems,$midpoint,$seconddiv,$count);
+ 'onclick="javascript:uncheckAll(document.pickactions.actions)" />'.
+ '</div><br />'."\n".
+ '<div class="LC_left_float">');
+ my ($numitems,$maxincol,$firstthird,$secondthird,$seconddiv,$thirddiv,$count);
if (ref($prefs_order) eq 'ARRAY') {
$numitems = @{$prefs_order};
}
- $midpoint = int($numitems/2);
- if ($numitems%2) {
- $midpoint ++;
+ my $numcols = 3;
+ $maxincol = int($numitems/$numcols);
+ if ($numitems%$numcols) {
+ $maxincol ++;
}
+ my $firstthird = $maxincol;
+ my $secondthird = $firstthird + $maxincol;
$count = 0;
if ((ref($prefs_order) eq 'ARRAY') && (ref($prefs) eq 'HASH')) {
foreach my $item (@{$prefs_order}) {
- $r->print('<h4>'.
- &Apache::loncommon::help_open_topic($prefs->{$item}->{'help'}).
+ $r->print(&Apache::loncommon::help_open_topic($prefs->{$item}->{'help'}).
'<label><input type="checkbox" name="actions" value="'.$item.
- '" /> '.&mt($prefs->{$item}->{'text'}).'</label></h4>');
+ '" /> '.&mt($prefs->{$item}->{'text'}).'</label><br />');
$count ++;
- if ((!$seconddiv) && ($count >= $midpoint)) {
+ if ((!$seconddiv) && ($count >= $firstthird)) {
$r->print('</div>'."\n".'<div class="LC_left_float">'."\n");
$seconddiv = 1;
}
+ if ((!$thirddiv) && ($count >= $secondthird)) {
+ $r->print('</div>'."\n".'<div class="LC_left_float">'."\n");
+ $thirddiv = 1;
+ }
}
- $r->print('</div><div class="LC_clear_float_footer"></div><h3>'.
- &mt('Display options').'</h3>'."\n".
- '<p><span class="LC_nobreak">'.&mt('Display using: ')."\n".
- '<label><input type="radio" name="numcols" value="1" />'.
- &mt('one column').'</label> <label>'.
- '<input type="radio" name="numcols" value="2" />'.
- &mt('two columns').'</label></span></p>');
+ $r->print('</div><br clear="all" />');
}
- $r->print(&print_footer($r,$phase,'display','Go'));
+ $r->print(&print_footer($r,$phase,'display','Display'));
$r->print('</form>');
$r->print(&Apache::loncommon::end_page());
return;
}
-sub javascript_set_colnums {
- return <<END;
-function setDisplayColumns() {
- if (document.pickactions.width.value > 1100) {
- document.pickactions.numcols[1].checked = true;
- } else {
- document.pickactions.numcols[0].checked = true;
- }
-}
-END
-}
-
sub color_pick_js {
my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();
my $output = <<"ENDCOL";
--raeburn1269377589--