Diff for /loncom/interface/courseprefs.pm between versions 1.8.2.15 and 1.32

version 1.8.2.15, 2010/11/19 14:58:35 version 1.32, 2010/11/19 12:44:40
Line 122  Creates table used to display and set co Line 122  Creates table used to display and set co
   
 Inputs: $cdom,$items,$ordered,$settings,$rowtotal,$crstype  Inputs: $cdom,$items,$ordered,$settings,$rowtotal,$crstype
 where $cdom is course's domain, $items is HASH ref for current config  where $cdom is course's domain, $items is HASH ref for current config
 item, $ordered is ARRAY ref of items to include in row in  item, $ordered is ARRAY ref of items to include in row in 
 display order, $settings is HASH ref of current values forrow,  display order, $settings is HASH ref of current values forrow,
 $rowtotal is SCALAR ref used to accumulate row count, $crstype is  $rowtotal is SCALAR ref used to accumulate row count, $crstype is    
 course type.  course type.
   
 Returns: $datatable  Returns: $datatable
 HTML mark-up of data table which accumulates individual rows.  HTML mark-up of data table which accumulates individual rows.  
   
 =item nothidepriv_row()  =item nothidepriv_row()
   
 Creates row containing form elements used to display and set  Creates row containing form elements used to display and set
 whether Domain coordinators who are currently included in  whether Domain coordinators who are currently included in  
 advanced course user .db file for a course are to be hidden (e.g.,  advanced course user .db file for a course are to be hidden (e.g.,
 in syllabus, or from course user lists).  in syllabus, or from course user lists).
   
 Inputs: $cdom,$item,$settings,$crstype  Inputs: $cdom,$item,$settings,$crstype
 where $cdom is course domain, item is nothideprivileged, $settings is  where $cdom is course domain, item is nothideprivileged, $settings is
 HASH ref of the current values for nothideprivileged, $crstype is  HASH ref of the current values for nothideprivileged, $crstype is 
 course type (Course or Community).  course type (Course or Community). 
   
 Returns: $datatable  Return: $datatable
 HTML mark-up for Privileged users (Domain Coordinators) in staff listing.  HTML mark-up for Privileged users (Domain Coordinators) in staff listing.
   
 =item print_hdrfmt_row()  =item print_hdrfmt_row()
Line 163  for the "Print header format" row. Line 163  for the "Print header format" row.
 =item position_selector()  =item position_selector()
   
 Creates a select box which can be used to reorder substitutions  Creates a select box which can be used to reorder substitutions
 and text included in a printout header.  and text included in a printout header. 
   
 Inputs: $pos,$num,$maxnum  Inputs: $pos,$num,$maxnum
 where $pos is current position, $num is the unique identifier,  where $pos is current position, $num is the unique identifier,
Line 171  and $maxnum is the total number of items Line 171  and $maxnum is the total number of items
 and text in the printout header.  and text in the printout header.
   
 Returns: $output  Returns: $output
 HTML mark-up for the selectbox and a hidden form element containing  HTML mark-up for the selectbox and a hidden form element containing 
 the current position.  the current position.   
   
 =item substitution_selector()  =item substitution_selector()
   
 Creates a combination of select box for choosing an item  Creates a combination of select box for choosing an item 
 (student name, course ID or assignment note) to substitute,  (student name, course ID or assignment note) to substitute, 
 and a corresponding size limit in the header used for printouts.  and a corresponding size limit in the header used for printouts.
   
 Inputs: $num,$subst,$limit,$crstype  Inputs: $num,$subst,$limit,$crstype
 where $num is the unique identifier, $subst is the current  where $num is the unique identifier, $subst is the current 
 substitution (n,c or a, for name, course or note respectively,  substitution (n,c or a, for name, course or note respectively,
 $limit is the current size limit (integer), and $crstype is  $limit is the current size limit (integer), and $crstype is
 course type - course or community.  course type - course or community.
   
 Returns: $output  Returns: $output
 HTML mark-up for selectbox and textbox (separate table cells).  HTML mark-up for selectbox and textbox (separate table cells).  
   
 =item change_clone()  =item change_clone()
   
Line 344  sub handler { Line 344  sub handler {
         'courseinfo' =>          'courseinfo' =>
                    { text => $lt{'gens'},                     { text => $lt{'gens'},
                      help => 'Course_Environment',                       help => 'Course_Environment',
                      header => [{col1 => 'Setting',  
                                  col2 => 'Value'}],  
                      ordered => ['owner','co-owners','description','courseid',                       ordered => ['owner','co-owners','description','courseid',
                                  'categories','hidefromcat','externalsyllabus',                                   'categories','hidefromcat','externalsyllabus',
                                  'cloners','url','rolenames'],                                   'cloners','url','rolenames'],
Line 363  sub handler { Line 361  sub handler {
                                  },                                   },
                     },                      },
         'localization' =>          'localization' =>
                     { text => 'Language/TimeZone/Locale',                      { text => 'Language and Time Localization',
                       help => 'Course_Environment',                        help => 'Course_Environment',
                       header => [{col1 => 'Setting',  
                                   col2 => 'Value',}],  
                       ordered => ['languages','timezone','datelocale'],                        ordered => ['languages','timezone','datelocale'],
                       itemtext => {                        itemtext => {
                                     languages  => 'Languages used',                                      languages  => 'Languages used',
Line 378  sub handler { Line 374  sub handler {
                     { text => 'Feedback messages',                      { text => 'Feedback messages',
                       help => 'Course_Environment',                        help => 'Course_Environment',
                       header => [{col1 => 'Questions about:',                        header => [{col1 => 'Questions about:',
                                   col2 => 'Recipients'},                                    col2 => 'Recipients'}],
                                  {col1 => 'Questions about:',  
                                   col2 => 'Custom Text'}],  
                       ordered => ['question.email','comment.email','policy.email'],                        ordered => ['question.email','comment.email','policy.email'],
                       itemtext => {                        itemtext => {
                                      'question.email' => 'Resource Content',                                       'question.email' => 'Resource Content',
Line 391  sub handler { Line 385  sub handler {
         'discussion' =>          'discussion' =>
                     { text => 'Discussion and Chat',                      { text => 'Discussion and Chat',
                       help => 'Course_Environment',                        help => 'Course_Environment',
                       header => [{col1 => 'Setting',  
                                   col2 => 'Value',}],  
                       ordered => ['pch.roles.denied','pch.users.denied',                        ordered => ['pch.roles.denied','pch.users.denied',
                                   'plc.roles.denied','plc.users.denied',                                    'plc.roles.denied','plc.users.denied',
                                   'allow_limited_html_in_feedback',                                    'allow_limited_html_in_feedback',
Line 402  sub handler { Line 394  sub handler {
                          'pch.users.denied'             => 'No Resource Discussion',                           'pch.users.denied'             => 'No Resource Discussion',
                          'plc.roles.denied'             => 'No Chat room use',                           'plc.roles.denied'             => 'No Chat room use',
                          'plc.users.denied'             => 'No Chat room use',                           'plc.users.denied'             => 'No Chat room use',
                          allow_limited_html_in_feedback => 'Allow limited HTML in discussion posts',                           allow_limited_html_in_feedback => 'Allow limited HTML in discussion',
                          allow_discussion_post_editing  => 'Users can edit/delete own discussion posts',                           allow_discussion_post_editing  => 'Users can edit/delete own discussion posts',
                                   },                                    },
                     },                      },
Line 431  sub handler { Line 423  sub handler {
         'appearance' =>          'appearance' =>
                    { text => 'Display of resources ',                     { text => 'Display of resources ',
                      help => 'Course_Environment',                       help => 'Course_Environment',
                      header => [{col1 => 'Setting',  
                                  col2 => 'Value'}],  
                      ordered => ['default_xml_style','pageseparators',                       ordered => ['default_xml_style','pageseparators',
                                  'disable_receipt_display','texengine',                                   'disable_receipt_display','texengine',
                                  'tthoptions'],                                   'tthoptions'],
                       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',
                           disable_receipt_display => 'Disable display of problem receipts',                            disable_receipt_display => 'Disable display of problem receipts',
                           texengine               => 'Force use of a specific math rendering engine',                            texengine               => 'Force use of a specific math rendering engine',
Line 447  sub handler { Line 437  sub handler {
         'grading' =>          'grading' =>
                   { text => 'Grading',                    { text => 'Grading',
                     help => 'Course_Environment',                      help => 'Course_Environment',
                     header => [{col1 => 'Setting',  
                                 col2 => 'Value',}],  
                     ordered => ['grading','rndseed',                      ordered => ['grading','rndseed',
                                 'receiptalg','disablesigfigs'],                                  'receiptalg','disablesigfigs'],
                     itemtext => {                      itemtext => {
Line 462  sub handler { Line 450  sub handler {
         'printouts' =>          'printouts' =>
                   { text => 'Printout generation',                    { text => 'Printout generation',
                     help => 'Course_Environment',                      help => 'Course_Environment',
                     header => [{col1 => 'Setting',  
                                 col2 => 'Value',}],  
                     ordered => ['problem_stream_switch','suppress_tries',                      ordered => ['problem_stream_switch','suppress_tries',
                                 'default_paper_size','print_header_format',                                  'default_paper_size','print_header_format',
                                 'disableexampointprint'],                                  'disableexampointprint','canuse_pdfforms'],
                     itemtext => {                      itemtext => {
                         problem_stream_switch => 'Allow problems to be split over pages',                          problem_stream_switch => 'Allow problems to be split over pages',
                         suppress_tries        => 'Suppress number of tries in printing',                          suppress_tries        => 'Suppress number of tries in printing',
                         default_paper_size    => 'Default paper type',                          default_paper_size    => 'Default paper type',
                         print_header_format   => 'Print header format',                          print_header_format   => 'Print header format',
                         disableexampointprint => 'Disable automatically printing point values on exams',                          disableexampointprint => 'Disable automatically printing point values on exams',
                           canuse_pdfforms    => 'Users can print problems as PDF forms and upload later for grading',
                                 },                                  },
                   },                    },
         'spreadsheet' =>          'spreadsheet' =>
                   { text => 'Spreadsheets',                    { text => 'Spreadsheets',
                     help => 'Course_Environment',                      help => 'Course_Environment',
                     header => [{col1 => 'Setting',  
                                 col2 => 'Value'}],  
                     ordered => ['spreadsheet_default_classcalc',                      ordered => ['spreadsheet_default_classcalc',
                                 'spreadsheet_default_studentcalc',                                  'spreadsheet_default_studentcalc',
                                 'spreadsheet_default_assesscalc','hideemptyrows'],                                  'spreadsheet_default_assesscalc','hideemptyrows'],
Line 493  sub handler { Line 478  sub handler {
         'bridgetasks' =>          'bridgetasks' =>
                   { text => 'Bridge tasks',                    { text => 'Bridge tasks',
                     help => 'Course_Environment',                      help => 'Course_Environment',
                     header => [{col1 => 'Setting',  
                                 col2 => 'Value'}],  
                     ordered => ['task_messages','task_grading',                      ordered => ['task_messages','task_grading',
                                 'suppress_embed_prompt'],                                  'suppress_embed_prompt'],
                     itemtext => {                      itemtext => {
Line 550  sub print_config_box { Line 533  sub print_config_box {
     my $itemtext = $item->{'itemtext'};      my $itemtext = $item->{'itemtext'};
     my $rowtotal = 0;      my $rowtotal = 0;
     my $output =      my $output =
          '<table class="LC_nested_outer">          '<h3><a href="#">'.&mt($item->{text}).'</a></h3>
           <tr>          <div>&nbsp;<span style="float:right">'.
            <th align="left" valign="middle"><span class="LC_font_larger">'.           &Apache::loncommon::help_open_topic($item->{'help'}).'</span>';
            &mt($item->{text}).'&nbsp;'.  
            &Apache::loncommon::help_open_topic($item->{'help'}).'</span></th>'."\n".  
           '</tr>';  
     if (($action eq 'feedback') || ($action eq 'classlists')) {      if (($action eq 'feedback') || ($action eq 'classlists')) {
         $output .= '          $output .= '
           <tr>              <table class="LC_nested">';   
            <td>          if (exists $item->{'header'}->[0]->{'col1'} || 
             <table class="LC_nested">              exists $item->{'header'}->[0]->{'col2'}) {
              <tr class="LC_info_row">   $output .= '          
             <tr class="LC_info_row">
               <td class="LC_left_item">'.&mt($item->{'header'}->[0]->{'col1'}).'</td>                <td class="LC_left_item">'.&mt($item->{'header'}->[0]->{'col1'}).'</td>
               <td class="LC_right_item">'.&mt($item->{'header'}->[0]->{'col2'}).'</td>                <td class="LC_right_item">'.&mt($item->{'header'}->[0]->{'col2'}).'</td>
              </tr>';              </tr>';
           }
         $rowtotal ++;          $rowtotal ++;
         if ($action eq 'feedback') {          if ($action eq 'feedback') {
             $output .= &print_feedback('top',$cdom,$settings,$ordered,$itemtext,\$rowtotal);              $output .= &print_feedback('top',$cdom,$settings,$ordered,$itemtext,\$rowtotal);
Line 573  sub print_config_box { Line 555  sub print_config_box {
         }          }
         $output .= '          $output .= '
            </table>             </table>
           </td>  
          </tr>  
          <tr>  
            <td>  
             <table class="LC_nested">              <table class="LC_nested">
              <tr class="LC_info_row">               <tr class="LC_info_row">
               <td class="LC_left_item">'.&mt($item->{'header'}->[1]->{'col1'}).'</td>';                <td class="LC_left_item">'.&mt($item->{'header'}->[1]->{'col1'}).'</td>';
Line 587  sub print_config_box { Line 565  sub print_config_box {
             $output .= &print_classlists('middle',$cdom,$settings,$itemtext,\$rowtotal,$crstype).              $output .= &print_classlists('middle',$cdom,$settings,$itemtext,\$rowtotal,$crstype).
                        '                         '
             </table>              </table>
            </td>              <table class="LC_nested">';
           </tr>              if (exists $item->{'header'}->[0]->{'col1'} || 
           <tr>              exists $item->{'header'}->[0]->{'col2'}) {
            <td>   $output .= '          
             <table class="LC_nested">   <tr class="LC_info_row">
              <tr class="LC_info_row">    <td class="LC_left_item">'.&mt($item->{'header'}->[0]->{'col1'}).'</td>
               <td class="LC_left_item" valign="top">'.&mt($item->{'header'}->[2]->{'col1'}).'</td>    <td class="LC_right_item">'.&mt($item->{'header'}->[0]->{'col2'}).'</td>
               <td class="LC_right_item" valign="top">'.&mt($item->{'header'}->[2]->{'col2'}).'</td>   </tr>';
              </tr>';          }
         }          }
     } else {      } else {
         $output .= '          $output .= '
           <tr>              <table class="LC_nested">';
            <td>          if (exists $item->{'header'}->[0]->{'col1'} || 
             <table class="LC_nested">              exists $item->{'header'}->[0]->{'col2'}) {
              <tr class="LC_info_row">   $output .= '          
             <tr class="LC_info_row">
               <td class="LC_left_item" valign="top">'.&mt($item->{'header'}->[0]->{'col1'}).'</td>                <td class="LC_left_item" valign="top">'.&mt($item->{'header'}->[0]->{'col1'}).'</td>
               <td class="LC_right_item" valign="top">'.&mt($item->{'header'}->[0]->{'col2'}).'</td>                <td class="LC_right_item" valign="top">'.&mt($item->{'header'}->[0]->{'col2'}).'</td>
              </tr>';              </tr>';
           }
     }      }
     $rowtotal ++;      $rowtotal ++;
     if ($action eq 'courseinfo') {      if ($action eq 'courseinfo') {
Line 633  sub print_config_box { Line 613  sub print_config_box {
     }      }
     $output .= '      $output .= '
    </table>     </table>
   </td>  </div>';
  </tr>  
 </table><br />';  
     return ($output,$rowtotal);      return ($output,$rowtotal);
 }  }
   
Line 709  sub process_changes { Line 687  sub process_changes {
                                 if (exists($env{'form.cloners_activate'})) {                                  if (exists($env{'form.cloners_activate'})) {
                                     my $actnum = $env{'form.cloners_activate'};                                      my $actnum = $env{'form.cloners_activate'};
                                     if ($actnum ne '') {                                      if ($actnum ne '') {
                                         if ($env{'form.cloners_dom_'.$actnum} ne '') {                                          if ($env{'form.clonersdom_'.$actnum} ne '') {
                                             my $clonedom = $env{'form.cloners_dom_'.$actnum};                                              my $clonedom = $env{'form.clonersdom_'.$actnum};
                                             if (&check_clone($clonedom,$disallowed) eq 'ok') {                                              if (&check_clone($clonedom,$disallowed) eq 'ok') {
                                                 $newvalues{$entry} = '*:'.$clonedom;                                                  $newvalues{$entry} = '*:'.$clonedom;
                                                 push(@clonedoms,$newvalues{$entry});                                                  push(@clonedoms,$newvalues{$entry});
Line 789  sub process_changes { Line 767  sub process_changes {
                             }                              }
                             if (&Apache::lonnet::is_course_owner($cdom,$cnum)) {                              if (&Apache::lonnet::is_course_owner($cdom,$cnum)) {
                                 my $autocoowner;                                  my $autocoowner;
                                 if (($crstype eq 'Course') &&                                  if (($crstype eq 'Course') && 
                                     ($values->{'internal.coursecode'})) {                                      ($values->{'internal.coursecode'})) {
                                     my %domconf =                                      my %domconf =
                                         &Apache::lonnet::get_dom('configuration',['autoenroll'],$cdom);                                          &Apache::lonnet::get_dom('configuration',['autoenroll'],$cdom);
Line 1149  sub store_changes { Line 1127  sub store_changes {
             $output .= '<h3>'.&mt($prefs->{$item}{'text'}).'</h3>';              $output .= '<h3>'.&mt($prefs->{$item}{'text'}).'</h3>';
             if (ref($changes->{$item}) eq 'HASH') {              if (ref($changes->{$item}) eq 'HASH') {
                 if (keys(%{$changes->{$item}}) > 0) {                  if (keys(%{$changes->{$item}}) > 0) {
                     $output .= &mt('Changes made:').'<ul>';                      $output .= &mt('Changes made:').'<ul style="list-style:none;">';
                     if ($item eq 'other') {                      if ($item eq 'other') {
                         foreach my $key (sort(keys(%{$changes->{$item}}))) {                          foreach my $key (sort(keys(%{$changes->{$item}}))) {
                             $storehash{$key} = $changes->{$item}{$key};                              $storehash{$key} = $changes->{$item}{$key};
                             if ($changes->{$item}{$key} eq '') {                              if ($changes->{$item}{$key} eq '') {
                                 push(@delkeys,$key);                                  push(@delkeys,$key);
                                 $output .= '<li>'.&mt('Deleted setting for [_1]','<i>'.$key.'</i>').'</li>';                                  $output .= '<li>'.&Apache::lonhtmlcommon::confirm_success(&mt('Deleted setting for [_1]','<i>'.$key.'</i>')).'</li>';
                             } else {                              } else {
                                 $output .= '<li>'.&mt('[_1] set to [_2]','<i>'.$key.'</i>',                                  $output .= '<li>'.&Apache::lonhtmlcommon::confirm_success(&mt('[_1] set to [_2]','<i>'.$key.'</i>',
                                            "'$storehash{$key}'").'</li>';                                             "'$storehash{$key}'")).'</li>';
                             }                              }
                         }                          }
                     } else {                      } else {
Line 1190  sub store_changes { Line 1168  sub store_changes {
                                                 "'<b>".$newname."</b>'").'</li>';                                                  "'<b>".$newname."</b>'").'</li>';
                                     }                                      }
                                     if ($msg ne '') {                                      if ($msg ne '') {
                                         $output .= '<li>'.&mt($displayname).'<ul>'.$msg.'</ul></li>';                                          $output .= '<li>'.&Apache::lonhtmlcommon::confirm_success(&mt($displayname)).'<ul class="LC_success">'.$msg.'</ul></li>';
                                     }                                      }
                                 } else {                                  } else {
                                     next if (!exists($changes->{$item}{$key}));                                      next if (!exists($changes->{$item}{$key}));
Line 1253  sub store_changes { Line 1231  sub store_changes {
                                     if (defined($yesno{$key})) {                                      if (defined($yesno{$key})) {
                                         $displayval = &mt('No');                                          $displayval = &mt('No');
                                         if ($changes->{$item}{$key} eq 'yes') {                                          if ($changes->{$item}{$key} eq 'yes') {
                                             $displayval = &mt('Yes');                                                       $displayval = &mt('Yes');                          
                                         }                                          }
                                     } elsif (($key =~ /^default_enrollment_(start|end)_date$/) && ($displayval)) {                                      } elsif (($key =~ /^default_enrollment_(start|end)_date$/) && ($displayval)) {
                                         $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') {
                                           if ($changes->{$item}{$key} eq '1') {
                                               $displayval = &mt('Yes');
                                           } elsif ($changes->{$item}{$key} eq '0') {
                                               $displayval = &mt('No');
                                           }
                                     }                                      }
                                     if ($key eq 'co-owners') {                                      if ($key eq 'co-owners') {
                                         if (ref($changes->{$item}{$key}) eq 'HASH') {                                          if (ref($changes->{$item}{$key}) eq 'HASH') {
Line 1331  sub store_changes { Line 1315  sub store_changes {
                                 }                                  }
                                 if ($key eq 'cloners') {                                  if ($key eq 'cloners') {
                                     # Get existing cloners                                      # Get existing cloners
                                     my %clonenames =                                      my %clonenames = 
                                         &Apache::lonnet::dump('environment',$cdom,$cnum,'cloners');                                          &Apache::lonnet::dump('environment',$cdom,$cnum,'cloners');
                                     if ($clonenames{'cloners'} =~ /,/) {                                      if ($clonenames{'cloners'} =~ /,/) {
                                         @oldcloner = split(/\s*\,\s*/,$clonenames{'cloners'});                                          @oldcloner = split(/\s*\,\s*/,$clonenames{'cloners'});
Line 1376  sub store_changes { Line 1360  sub store_changes {
                     $output .= &mt('An error occurred when removing course settings which are no longer in use.');                      $output .= &mt('An error occurred when removing course settings which are no longer in use.');
                 }                  }
                 $output .= '</span>';                  $output .= '</span>';
             }              } else {
         } else {                  foreach my $key (@delkeys) {
             foreach my $key (@delkeys) {                      &Apache::lonnet::delenv('course.'.$cdom.'_'.$cnum.'.'.$key);
                 &Apache::lonnet::delenv('course.'.$cdom.'_'.$cnum.'.'.$key);                  }
             }              }
         }          }
         if (@need_env_update) {          if (@need_env_update) {
Line 1675  sub print_courseinfo { Line 1659  sub print_courseinfo {
                            '</span>',                             '</span>',
                    input => 'textbox',                     input => 'textbox',
                    size  => '40',                     size  => '40',
                      advanced => 1
                  },                   },
         'description'  => {           'description'  => { 
                    text => '<b>'.&mt($itemtext->{'description'}).'</b>',                     text => '<b>'.&mt($itemtext->{'description'}).'</b>',
Line 1698  sub print_courseinfo { Line 1683  sub print_courseinfo {
                            &mt('Owner and Coordinators included automatically'),                             &mt('Owner and Coordinators included automatically'),
                    input => 'textbox',                     input => 'textbox',
                    size  => '40',                     size  => '40',
                      advanced => 1
                          },                           },
         'rolenames'  => {           'rolenames'  => { 
                    text  => '<b>'.&mt($itemtext->{'rolenames'}).'</b><br />'.                     text  => '<b>'.&mt($itemtext->{'rolenames'}).'</b><br />'.
                             '('.$replace.')',                              '('.$replace.')',
                    input => 'textbox',                     input => 'textbox',
                    size  => '20',                     size  => '20',
                      advanced => 1
                         },                          },
         'externalsyllabus' => {          'externalsyllabus' => {
                    text => '<b>'.&mt($itemtext->{'externalsyllabus'}).'</b><br />('.                     text => '<b>'.&mt($itemtext->{'externalsyllabus'}).'</b><br />('.
Line 1732  sub print_courseinfo { Line 1719  sub print_courseinfo {
             next if (!$can_categorize);              next if (!$can_categorize);
         }          }
         $count ++;          $count ++;
         $datatable .= &item_table_row_start($items{$item}{text},$count);          if (exists $items{$item}{advanced} && $items{$item}{advanced} == 1) {
           $datatable .= &item_table_row_start($items{$item}{text},$count,"advanced");
           } else {
           $datatable .= &item_table_row_start($items{$item}{text},$count);
           }
         if ($items{$item}{input} eq 'radio') {          if ($items{$item}{input} eq 'radio') {
             $datatable .= &yesno_radio($item,$settings);              $datatable .= &yesno_radio($item,$settings);
         } elsif ($item eq 'cloners') {          } elsif ($item eq 'cloners') {
Line 1848  sub print_courseinfo { Line 1839  sub print_courseinfo {
         } elsif ($item eq 'owner') {          } elsif ($item eq 'owner') {
             my $owner = $env{'course.'.$env{'request.course.id'}.'.internal.courseowner'};              my $owner = $env{'course.'.$env{'request.course.id'}.'.internal.courseowner'};
             if ($owner =~ /:/) {              if ($owner =~ /:/) {
                 my ($ownername,$ownerdom) = split(':',$owner);                  my ($ownername,$ownerdom) = split(':',$owner); 
                 $owner = &Apache::loncommon::plainname($ownername,$ownerdom);                  $owner = &Apache::loncommon::plainname($ownername,$ownerdom);
             } elsif ($owner ne '') {              } elsif ($owner ne '') {
                 $owner = &Apache::loncommon::plainname($owner,$cdom);                  $owner = &Apache::loncommon::plainname($owner,$cdom);
Line 2037  ENDSCRIPT Line 2028  ENDSCRIPT
 sub show_autocoowners {  sub show_autocoowners {
     my (@currcoown) = @_;      my (@currcoown) = @_;
     my $output = '<i>'.&mt('Co-ownership is set automatically when a Course Coordinator role is assigned to official course personnel (from institutional data).').'</i>';      my $output = '<i>'.&mt('Co-ownership is set automatically when a Course Coordinator role is assigned to official course personnel (from institutional data).').'</i>';
     if (@currcoown > 0) {      if (@currcoown > 0) { 
         $output .= '<br />'.&mt('Current co-owners are:').'&nbsp;'.          $output .= '<br />'.&mt('Current co-owners are:').'&nbsp;'.
                    join(', ',map { &Apache::loncommon::plainname(split(':',$_)); } (@currcoown));                     join(', ',map { &Apache::loncommon::plainname(split(':',$_)); } (@currcoown));
     } else {      } else {
         $output .= '<br />'.&mt('Currently no co-owners.');          $output .= '<br />'.&mt('Currently no co-owners.');
     }      } 
     return $output;      return $output;
 }  }
   
Line 2124  sub manage_coownership  { Line 2115  sub manage_coownership  {
         $output = &Apache::loncommon::start_data_table();          $output = &Apache::loncommon::start_data_table();
     }      }
     if (@currcoown) {      if (@currcoown) {
         if ($is_coowner || $is_pending) {          if ($is_coowner || $is_pending) { 
             $output .= &Apache::loncommon::start_data_table().              $output .= &Apache::loncommon::start_data_table().
                        &Apache::loncommon::start_data_table_row().'<td>';                         &Apache::loncommon::start_data_table_row().'<td>';
         }          }
         $output .= &mt('Current co-owners are:').'&nbsp;'.          $output .= &mt('Current co-owners are:').'&nbsp;'.
                    join(', ', map { &Apache::loncommon::plainname(split(':',$_)); } (@currcoown));                     join(', ', map { &Apache::loncommon::plainname(split(':',$_)); } (@currcoown));  
         if ($is_coowner || $is_pending) {          if ($is_coowner || $is_pending) {
             $output .= '</td>'.&Apache::loncommon::end_data_table_row();              $output .= '</td>'.&Apache::loncommon::end_data_table_row(); 
         }          }
     }      }
     if ($is_coowner || $is_pending) {      if ($is_coowner || $is_pending) {
         if (@currcoown) {          if (@currcoown) { 
             $output .= &Apache::loncommon::start_data_table_row().'<td>';              $output .= &Apache::loncommon::start_data_table_row().'<td>';
         }          }
         $output .= '<span class="LC_nobreak">';          $output .= '<span class="LC_nobreak">';
Line 2163  sub print_localization { Line 2154  sub print_localization {
     }      }
     my %items = (      my %items = (
         languages => {          languages => {
                         text => &mt($itemtext->{'languages'}).'<br />'.                          text => '<b>'.&mt($itemtext->{'languages'}).'</b><br />'.
                                 &mt("(will override user's preference)"),                                  &mt("(overrides individual user preference)"),
                         input => 'selectbox',                          input => 'selectbox',
                      },                        }, 
         timezone => {          timezone => {
                         text  => &mt($itemtext->{'timezone'}),                          text  => '<b>'.&mt($itemtext->{'timezone'}).'</b>',
                         input => 'selectbox',                          input => 'selectbox',
                     },                      },
         datelocale  => {           datelocale  => { 
                          text => &mt($itemtext->{'datelocale'}),                           text => '<b>'.&mt($itemtext->{'datelocale'}).'</b>',
                          input => 'selectbox',                           input => 'selectbox',
                        },                         },
     );      );
Line 2290  sub print_feedback { Line 2281  sub print_feedback {
   
     foreach my $item (@{$ordered}) {      foreach my $item (@{$ordered}) {
         $count ++;          $count ++;
         $datatable .= &item_table_row_start($items{$item}{text},$count);          if ($position eq 'top') {
           $datatable .= &item_table_row_start($items{$item}{text},$count);
           } else {
           $datatable .= &item_table_row_start($items{$item}{text}."<br/>(Custom text)",$count, "advanced");
           }
         if ($position eq 'top') {          if ($position eq 'top') {
             my $includeempty = 0;              my $includeempty = 0;
             $datatable .= &user_table($cdom,$item,\@sections,              $datatable .= &user_table($cdom,$item,\@sections,
Line 2630  sub print_classlists { Line 2625  sub print_classlists {
     } else {      } else {
         @ordered = ('student_classlist_view',          @ordered = ('student_classlist_view',
                     'student_classlist_opt_in',                      'student_classlist_opt_in',
                     'student_classlist_portfiles');                       'student_classlist_portfiles');
     }      }
     my %lt;      my %lt;
   
Line 2755  sub print_grading { Line 2750  sub print_grading {
                  },                   },
         'rndseed' => {          'rndseed' => {
                    text => '<b>'.&mt($itemtext->{'rndseed'}).'</b>'.                     text => '<b>'.&mt($itemtext->{'rndseed'}).'</b>'.
                            '<span class="LC_error">'.'<br />'.                             '<span class="LC_warning">'.'<br />'.
                            &mt('Modifying this will make problems have different numbers and answers!').                             &mt('Modifying this will make problems have different numbers and answers!').
                            '</span>',                             '</span>',
                    input => 'selectbox',                     input => 'selectbox',
Line 2827  sub print_printouts { Line 2822  sub print_printouts {
             text => '<b>'.&mt($itemtext->{'disableexampointprint'}).'</b>',              text => '<b>'.&mt($itemtext->{'disableexampointprint'}).'</b>',
             input => 'radio',              input => 'radio',
                                  },                                   },
           canuse_pdfforms => {
               text  => '<b>'.&mt($itemtext->{'canuse_pdfforms'}).'</b>',
               input => 'selectbox',
               options => {
                            1    => &mt('Yes'),
                            0    => &mt('No'),
                          },
               order => ['1','0'],
               nullval => 'None specified - use domain default',
                       }
     );      );
     return &make_item_rows($cdom,\%items,$ordered,$settings,$rowtotal,$crstype);      return &make_item_rows($cdom,\%items,$ordered,$settings,$rowtotal,$crstype);
 }  }
Line 2957  sub get_other_items { Line 2962  sub get_other_items {
 }  }
   
 sub item_table_row_start {  sub item_table_row_start {
     my ($text,$count) = @_;      my ($text,$count,$add_class) = @_;
     my $output;      my $output;
     if ($count%2) {   my $css_class = ($count % 2) ? 'LC_odd_row' : 'LC_even_row';
         $output .= '<tr class="LC_odd_row">';   $css_class = (join(' ',$css_class,$add_class)) unless ($add_class eq '');
     } else {   $output .= '<tr class="'.$css_class.'">'."\n";;
         $output .= '<tr>';  
     }  
     $output .= '<td class="LC_left_item">'.$text.      $output .= '<td class="LC_left_item">'.$text.
                '</td><td class="LC_right_item" align="right">';                 '</td><td class="LC_right_item">';
     return $output;      return $output;
 }  }
   

Removed from v.1.8.2.15  
changed lines
  Added in v.1.32


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