Diff for /loncom/interface/courseprefs.pm between versions 1.93 and 1.97

version 1.93, 2021/08/04 19:59:10 version 1.97, 2022/01/16 16:52:42
Line 473  sub handler { Line 473  sub handler {
                      help => 'Course_Prefs_Display',                       help => 'Course_Prefs_Display',
                      ordered => ['default_xml_style','pageseparators',                       ordered => ['default_xml_style','pageseparators',
                                  'disable_receipt_display','texengine',                                   'disable_receipt_display','texengine',
                                  'tthoptions','uselcmath','usejsme'],                                   'tthoptions','uselcmath','usejsme','inline_chem'],
                       itemtext => {                        itemtext => {
                           default_xml_style       => 'Default XML style file',                            default_xml_style       => 'Default XML style file',
                           pageseparators          => 'Visibly Separate Items on Pages',                            pageseparators          => 'Visibly Separate Items on Pages',
Line 482  sub handler { Line 482  sub handler {
                           tthoptions              => 'Default set of options to pass to tth/m when converting TeX',                            tthoptions              => 'Default set of options to pass to tth/m when converting TeX',
                           uselcmath               => 'Student formula entry uses inline preview, not DragMath pop-up',                            uselcmath               => 'Student formula entry uses inline preview, not DragMath pop-up',
                           usejsme                 => 'Molecule editor uses JSME (HTML5) in place of JME (Java)',                            usejsme                 => 'Molecule editor uses JSME (HTML5) in place of JME (Java)',
                             inline_chem             => 'Chemical reaction response uses inline preview, not pop-up',
                                   },                                    },
                   },                    },
         'grading' =>          'grading' =>
Line 995  sub process_changes { Line 996  sub process_changes {
                                 }                                  }
                             }                              }
                         }                          }
   
                     }                      }
   
                     foreach my $idx (@items) {                      foreach my $idx (@items) {
                         my $itemid = $itemids{$idx};                          my $itemid = $itemids{$idx};
                         next unless ($itemid);                          next unless ($itemid);
Line 1163  sub process_changes { Line 1164  sub process_changes {
                                         $autocoowner = $domconf{'autoenroll'}{'co-owners'};                                          $autocoowner = $domconf{'autoenroll'}{'co-owners'};
                                     }                                      }
                                 }                                  }
                                 unless ($autocoowner) {                                  if ($autocoowner) {
                                       $newvalues{'co-owners'} = $values->{'internal.co-owners'}; 
                                   } else {
                                     my @keepcoowners = &Apache::loncommon::get_env_multiple('form.coowners');                                      my @keepcoowners = &Apache::loncommon::get_env_multiple('form.coowners');
                                     my @pendingcoowners = &Apache::loncommon::get_env_multiple('form.pendingcoowners');                                      my @pendingcoowners = &Apache::loncommon::get_env_multiple('form.pendingcoowners');
                                     my @invitecoowners =  &Apache::loncommon::get_env_multiple('form.invitecoowners');                                      my @invitecoowners =  &Apache::loncommon::get_env_multiple('form.invitecoowners');
Line 1208  sub process_changes { Line 1211  sub process_changes {
                                     if ($pendingcoowners ne '') {                                      if ($pendingcoowners ne '') {
                                         @newpending = @pendingcoown;                                          @newpending = @pendingcoown;
                                     }                                      }
                                   } else {
                                       @newcoown = @currcoown;
                                 }                                  }
                                 $newvalues{'pendingco-owners'} = join(',',sort(@newpending));                                  $newvalues{'pendingco-owners'} = join(',',sort(@newpending));
                                 $newvalues{'co-owners'} = join(',',sort(@newcoown));                                  $newvalues{'co-owners'} = join(',',sort(@newcoown));
Line 1852  sub store_changes { Line 1857  sub store_changes {
                                         $displayval = &Apache::lonlocal::locallocaltime($displayval);                                          $displayval = &Apache::lonlocal::locallocaltime($displayval);
                                     } elsif ($key eq 'categories') {                                      } elsif ($key eq 'categories') {
                                         $displayval = $env{'form.categories_display'};                                          $displayval = $env{'form.categories_display'};
                                     } elsif (($key eq 'canuse_pdfforms') || ($key eq 'usejsme') || ($key eq 'uselcmath')) {                                      } elsif (($key eq 'canuse_pdfforms') || ($key eq 'usejsme') ||
                                                ($key eq 'uselcmath') || ($key eq 'inline_chem')) {
                                         if ($changes->{$item}{$key} eq '1') {                                          if ($changes->{$item}{$key} eq '1') {
                                             $displayval = &mt('Yes');                                              $displayval = &mt('Yes');
                                         } elsif ($changes->{$item}{$key} eq '0') {                                          } elsif ($changes->{$item}{$key} eq '0') {
Line 3804  sub coowner_invitations { Line 3810  sub coowner_invitations {
         @pendingcoown = split(',',$pendingcoowners);          @pendingcoown = split(',',$pendingcoowners);
     }      }
     if (ref($currcoownref) eq 'ARRAY') {      if (ref($currcoownref) eq 'ARRAY') {
         @currcoown == @{$currcoownref};          @currcoown = @{$currcoownref};
     }      }
     my $disabled;      my $disabled;
     if ($noedit) {      if ($noedit) {
Line 3868  sub manage_coownership  { Line 3874  sub manage_coownership  {
         @pendingcoown = split(',',$pendingcoowners);          @pendingcoown = split(',',$pendingcoowners);
     }      }
     if (ref($currcoownref) eq 'ARRAY') {      if (ref($currcoownref) eq 'ARRAY') {
         @currcoown == @{$currcoownref};          @currcoown = @{$currcoownref};
     }      }
     my $disabled;      my $disabled;
     if ($noedit) {      if ($noedit) {
Line 4076  sub print_feedback { Line 4082  sub print_feedback {
         }          }
         if ($position eq 'top') {          if ($position eq 'top') {
             my $includeempty = 0;              my $includeempty = 0;
             $datatable .=  '</td><td align="right">'.              $datatable .= '</td><td align="right">'.
                            &user_table($cdom,$item,\@sections,                            &user_table($cdom,$item,\@sections,
                                       $settings->{$item},\%lt,$noedit);                                        $settings->{$item},\%lt,$noedit);
         } else {          } else {
             $datatable .= &Apache::lonhtmlcommon::textbox($item.'.text',              $datatable .= &Apache::lonhtmlcommon::textbox($item.'.text',
Line 4300  sub print_discussion { Line 4306  sub print_discussion {
                           '<table>'.&role_checkboxes($cdom,$cnum,$item,$settings,undef,undef,$noedit).                            '<table>'.&role_checkboxes($cdom,$cnum,$item,$settings,undef,undef,$noedit).
                           '</table>';                            '</table>';
         } elsif ($item eq 'plc.users.denied') {          } elsif ($item eq 'plc.users.denied') {
             $datatable .=  '</td><td align="right">'.              $datatable .= '</td><td align="right">'.
                            &user_table($cdom,$item,undef,                            &user_table($cdom,$item,undef,
                                       $settings->{$item},\%lt,$noedit);                                        $settings->{$item},\%lt,$noedit);
         } elsif ($item eq 'pch.roles.denied') {          } elsif ($item eq 'pch.roles.denied') {
             $datatable .= '</td><td align="right">'.              $datatable .= '</td><td align="right">'.
Line 4671  sub print_appearance { Line 4677  sub print_appearance {
                    text => '<b>'.&mt($itemtext->{'usejsme'}).'</b>',                     text => '<b>'.&mt($itemtext->{'usejsme'}).'</b>',
                    input => 'radio',                     input => 'radio',
                  },                   },
            'inline_chem' => {
                      text => '<b>'.&mt($itemtext->{'inline_chem'}).'</b>',
                      input => 'radio',
                    },
     );      );
     return &make_item_rows($cdom,\%items,$ordered,$settings,$rowtotal,$crstype,'appearance',$noedit);      return &make_item_rows($cdom,\%items,$ordered,$settings,$rowtotal,$crstype,'appearance',$noedit);
 }  }
Line 5064  sub print_menuitems { Line 5074  sub print_menuitems {
                     my %checked;                      my %checked;
                     my $on = ' checked="checked"';                      my $on = ' checked="checked"';
                     foreach my $key (keys(%{$menu{$num}})) {                      foreach my $key (keys(%{$menu{$num}})) {
                         if (($key eq 'top') || ($key eq 'inline') || ($key eq 'main')) {                          if (($key eq 'top') || ($key eq 'inline') || ($key eq 'foot') || ($key eq 'main')) {
                             if ($menu{$num}{$key} eq 'y') {                              if ($menu{$num}{$key} eq 'y') {
                                 $checked{$key} = $on;                                  $checked{$key} = $on;
                             }                              }
Line 5081  sub print_menuitems { Line 5091  sub print_menuitems {
                         foreach my $category (@order) {                          foreach my $category (@order) {
                             if ((ref($categories{$category}) eq 'ARRAY') && (@{$categories{$category}} > 0)) {                              if ((ref($categories{$category}) eq 'ARRAY') && (@{$categories{$category}} > 0)) {
                                 $datatable .= '<fieldset style="vertical-align:top; display:inline-block"><legend>'.$menutitles{$category}.'</legend>'."\n";                                  $datatable .= '<fieldset style="vertical-align:top; display:inline-block"><legend>'.$menutitles{$category}.'</legend>'."\n";
                                   if ($category eq 'text') {
                                       $datatable .= '<i>'.&mt('Header').'</i><br />';
                                   }
                                 foreach my $field (@{$categories{$category}}) {                                  foreach my $field (@{$categories{$category}}) {
                                       if ($field eq 'disc') {
                                           $datatable .= '<br /><i>'.&mt('Footer').'</i><br />';
                                       }
                                     $datatable .= '<label><input type="checkbox" name="menucollections_'.$num.'" value="'.$field.'"'.$checked{$field}.$disabled.' />'.                                      $datatable .= '<label><input type="checkbox" name="menucollections_'.$num.'" value="'.$field.'"'.$checked{$field}.$disabled.' />'.
                                                   $menufields{$field}.'</label><br />';                                                    $menufields{$field}.'</label><br />';
                                 }                                  }
Line 5131  sub menuitems_abbreviations { Line 5147  sub menuitems_abbreviations {
 sub menuitems_categories {  sub menuitems_categories {
     my @order = ('shown','text','links','list','inline');      my @order = ('shown','text','links','list','inline');
     my %categories = (      my %categories = (
                        shown => ['top','inline','main'],                         shown => ['top','inline','foot','main'],
                        text  => ['name','role','crs'],                         text  => ['name','role','crs','disc','fdbk'],
                        links => ['pers','logo','menu','comm','roles','help','logout'],                         links => ['pers','logo','menu','comm','roles','help','logout'],
                        list => ['about','prefs','port','wish','anno','rss'],                         list => ['about','prefs','port','wish','anno','rss'],
                        inline => ['cont','grades','chat','people','groups','resv','syll','feeds'],                         inline => ['cont','grades','chat','people','groups','resv','syll','feeds'],
Line 5143  sub menuitems_categories { Line 5159  sub menuitems_categories {
 sub menuitems_titles {  sub menuitems_titles {
     return &Apache::lonlocal::texthash (      return &Apache::lonlocal::texthash (
         shown => 'Hierarchy',          shown => 'Hierarchy',
         text  => 'Header text',          text  => 'Text',
         links => 'Header links',          links => 'Header links',
         list => 'Drop-down list',          list => 'Drop-down list',
         inline => 'Inline links',          inline => 'Inline links',
Line 5154  sub menuitems_fields { Line 5170  sub menuitems_fields {
     return &Apache::lonlocal::texthash (      return &Apache::lonlocal::texthash (
                top => 'Display header',                 top => 'Display header',
                inline => 'Display inline menu',                 inline => 'Display inline menu',
                  foot => 'Display footer',
                main => 'Access to main menu',                 main => 'Access to main menu',
                pers => 'Personal',                 pers => 'Personal',
                logo => 'LON-CAPA',                 logo => 'LON-CAPA',
Line 5165  sub menuitems_fields { Line 5182  sub menuitems_fields {
                name => 'Fullname',                 name => 'Fullname',
                crs => 'Course Title',                 crs => 'Course Title',
                role => 'Current Role',                 role => 'Current Role',
                  disc => 'Discussion',
                  fdbk => 'Feedback',
                about => 'Information',                 about => 'Information',
                prefs => 'Preferences',                 prefs => 'Preferences',
                port => 'Portfolio',                 port => 'Portfolio',
Line 5206  sub menucollections_display { Line 5225  sub menucollections_display {
         foreach my $num (@current) {          foreach my $num (@current) {
             my %checked;              my %checked;
             foreach my $key (keys(%{$menu{$num}})) {              foreach my $key (keys(%{$menu{$num}})) {
                 if (($key eq 'top') || ($key eq 'inline') || ($key eq 'main')) {                  if (($key eq 'top') || ($key eq 'inline') || ($key eq 'foot') || ($key eq 'main')) {
                     if ($menu{$num}{$key} eq 'y') {                      if ($menu{$num}{$key} eq 'y') {
                         $checked{$key} = 1;                          $checked{$key} = 1;
                     }                      }
Line 5224  sub menucollections_display { Line 5243  sub menucollections_display {
                     if ((ref($categories{$category}) eq 'ARRAY') && (@{$categories{$category}} > 0)) {                      if ((ref($categories{$category}) eq 'ARRAY') && (@{$categories{$category}} > 0)) {
                         $output .= '<fieldset style="vertical-align:top; display:inline-block">'.                          $output .= '<fieldset style="vertical-align:top; display:inline-block">'.
                                    '<legend>'.$menutitles{$category}.'</legend>'."\n";                                     '<legend>'.$menutitles{$category}.'</legend>'."\n";
                           if ($category eq 'text') {
                               $output .= '<b>'.&mt('Header Text').'</b><br /><br />';
                           } 
                         foreach my $field (@{$categories{$category}}) {                          foreach my $field (@{$categories{$category}}) {
                               if ($field eq 'disc') {
                                   $output .= '<br /><b>'.&mt('Footer Text').'</b><br /><br />';
                               }
                             if ($checked{$field}) {                              if ($checked{$field}) {
                                 $output .= &Apache::lonhtmlcommon::confirm_success($menufields{$field});                                  $output .= &Apache::lonhtmlcommon::confirm_success($menufields{$field});
                             } else {                              } else {
Line 5536  sub make_item_rows { Line 5561  sub make_item_rows {
                                                        $settings->{$item},$disabled);                                                         $settings->{$item},$disabled);
             } elsif ($items->{$item}{input} eq 'radio') {              } elsif ($items->{$item}{input} eq 'radio') {
                 my ($unsetdefault,$valueyes,$valueno);                  my ($unsetdefault,$valueyes,$valueno);
                 if (($item eq 'usejsme') || ($item eq 'uselcmath')) {                  if (($item eq 'usejsme') || ($item eq 'uselcmath') || ($item eq 'inline_chem')) {
                      my %domdefs = &Apache::lonnet::get_domain_defaults($cdom);                       my %domdefs = &Apache::lonnet::get_domain_defaults($cdom);
                      unless ($domdefs{$item} eq '0') {                       unless ($domdefs{$item} eq '0') {
                          $unsetdefault = 1;                           $unsetdefault = 1;

Removed from v.1.93  
changed lines
  Added in v.1.97


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>