Diff for /loncom/interface/courseprefs.pm between versions 1.128 and 1.134

version 1.128, 2023/12/13 22:12:17 version 1.134, 2025/03/15 01:03:33
Line 372  sub handler { Line 372  sub handler {
   
     my %values=&Apache::lonnet::dump('environment',$cdom,$cnum);      my %values=&Apache::lonnet::dump('environment',$cdom,$cnum);
     my %linkprot=&Apache::lonnet::dump('lti',$cdom,$cnum,undef,undef,undef,1);      my %linkprot=&Apache::lonnet::dump('lti',$cdom,$cnum,undef,undef,undef,1);
       my %domdefs = &Apache::lonnet::get_domain_defaults($cdom);
       unless ($phase eq 'process') {
           if (ref($domdefs{'linkprotsuggested'}) eq 'HASH') {
               $values{'suggested'} = $domdefs{'linkprotsuggested'};
           }
       }
     my %ltienc = &Apache::lonnet::dump('nohist_ltienc',$cdom,$cnum,undef,undef,undef,1);      my %ltienc = &Apache::lonnet::dump('nohist_ltienc',$cdom,$cnum,undef,undef,undef,1);
     my %ltitools = &Apache::lonnet::dump('ltitools',$cdom,$cnum,undef,undef,undef,1);      my %ltitools = &Apache::lonnet::dump('ltitools',$cdom,$cnum,undef,undef,undef,1);
     my %ltitoolsenc = &Apache::lonnet::dump('nohist_toolsenc',$cdom,$cnum,undef,undef,undef,1);      my %ltitoolsenc = &Apache::lonnet::dump('nohist_toolsenc',$cdom,$cnum,undef,undef,undef,1);
Line 793  sub print_config_box { Line 799  sub print_config_box {
           <tr>            <tr>
            <td>             <td>
             <table class="LC_nested">';              <table class="LC_nested">';
           if ($action eq 'linkprot') {
               if ((ref($settings) eq 'HASH') && (ref($settings->{'suggested'}) eq 'HASH')) {
                   my $hints;
                   my $hintcount = 0;
                   foreach my $key (sort { $a <=> $b } keys(%{$settings->{'suggested'}})) {
                       if ((ref($settings->{'suggested'}->{$key}) eq 'HASH')) {
                           if (($settings->{'suggested'}->{$key}-{'name'} ne '') &&
                               ($settings->{'suggested'}->{$key}-{'info'} ne '')) {
                               my $css_class = $hintcount%2?' class="LC_odd_row"':' class="LC_even_row"';
                               $hints .= '<tr '.$css_class.'><td class="LC_left_item">'.
                                         $settings->{'suggested'}->{$key}->{'name'}.'</td>'.
                                         '<td class="LC_right_item"><pre>'.
                                         $settings->{'suggested'}->{$key}->{'info'}.
                                         '</pre></td></tr>';
                               $hintcount ++;
                           }
                       }
                   }
                   if ($hintcount) {
                       $output .= '<tr class="LC_info_row">'.
                                  '<td colspan="2" class="LC_left_item">'.&mt('Recommendation(s) for specific launcher application(s)').'</td>'.
                                  '</tr>'."\n".
                                  '<tr class="LC_info_row">'.
                                  '<td class="LC_left_item"><span class="LC_nobreak">'.&mt('Launcher Application').'</span></td>'.
                                  '<td class="LC_right_item">'.&mt('Recommendation(s)').'</td></tr>'."\n".
                                  $hints;
                   }
               }
           }
         if (exists $item->{'header'}->[0]->{'col1'} ||           if (exists $item->{'header'}->[0]->{'col1'} || 
             exists $item->{'header'}->[0]->{'col2'}) {              exists $item->{'header'}->[0]->{'col2'}) {
  $output .= '                $output .= '          
           <tr class="LC_info_row">            <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>';
             if (($action eq 'courseinfo') || ($action eq 'localization') ||              if (($action eq 'courseinfo') || ($action eq 'localization') ||
Line 1991  sub process_ltitools { Line 2026  sub process_ltitools {
             } else {              } else {
                 $ltitools{$newid}{'display'}{'target'} = 'iframe';                  $ltitools{$newid}{'display'}{'target'} = 'iframe';
             }              }
             foreach my $item ('passback','roster') {              foreach my $item ('passback','roster','returnurl') {
                 if ($env{'form.ltitools_'.$item.'_add'}) {                  if ($env{'form.ltitools_'.$item.'_add'}) {
                     $ltitools{$newid}{$item} = 1;                      $ltitools{$newid}{$item} = 1;
                     if ($env{'form.ltitools_'.$item.'valid_add'} ne '') {                      if ($item eq 'returnurl') {
                           if ($env{'form.ltitools_crs'.$item.'_add'}) {
                               $ltitools{$newid}{'crsconf'}{$item} = 1;
                           }
                       } elsif ($env{'form.ltitools_'.$item.'valid_add'} ne '') {
                         my $lifetime = $env{'form.ltitools_'.$item.'valid_add'};                          my $lifetime = $env{'form.ltitools_'.$item.'valid_add'};
                         $lifetime =~ s/^\s+|\s+$//g;                          $lifetime =~ s/^\s+|\s+$//g;
                         if ($lifetime =~ /^\d+\.?\d*$/) {                          if ($lifetime =~ /^\d+\.?\d*$/) {
Line 2178  sub process_ltitools { Line 2217  sub process_ltitools {
                     } else {                      } else {
                         $haschanges{$itemid} = 1;                          $haschanges{$itemid} = 1;
                     }                      }
                     foreach my $extra ('passback','roster') {                      foreach my $extra ('passback','roster','returnurl') {
                         if ($env{'form.ltitools_'.$extra.'_'.$i}) {                          if ($env{'form.ltitools_'.$extra.'_'.$i}) {
                             $ltitools{$itemid}{$extra} = 1;                              $ltitools{$itemid}{$extra} = 1;
                             if ($env{'form.ltitools_'.$extra.'valid_'.$i} ne '') {                              if ($extra eq 'returnurl') {
                                   if ($env{'form.ltitools_crs'.$extra.'_'.$i}) {
                                       $ltitools{$itemid}{'crsconf'}{$extra} = 1;
                                       if (ref($values->{$itemid}{'crsconf'}) eq 'HASH') {
                                           if (!$values->{$itemid}{'crsconf'}{$extra}) {
                                               $haschanges{$itemid} = 1;
                                           }
                                       } else {
                                           $haschanges{$itemid} = 1;
                                       }
                                   }
                               } elsif ($env{'form.ltitools_'.$extra.'valid_'.$i} ne '') {
                                 my $lifetime = $env{'form.ltitools_'.$extra.'valid_'.$i};                                  my $lifetime = $env{'form.ltitools_'.$extra.'valid_'.$i};
                                 $lifetime =~ s/^\s+|\s+$//g;                                  $lifetime =~ s/^\s+|\s+$//g;
                                 if ($lifetime =~ /^\d+\.?\d*$/) {                                  if ($lifetime =~ /^\d+\.?\d*$/) {
Line 2700  sub store_changes { Line 2750  sub store_changes {
                                             $displayname = &mt('Recipients of '.$text.' questions');                                              $displayname = &mt('Recipients of '.$text.' questions');
                                         }                                          }
                                     } elsif ($item eq 'discussion') {                                      } elsif ($item eq 'discussion') {
                                         if ($key =~ /^p(lc|ch)\.roles\.denied/) {                                          if ($key =~ /^p(lc|ch|ac)\.roles\.denied/) {
                                             $displayname = &mt("$text (role-based)");                                              $displayname = &mt("$text (role-based)");
                                             if ($displayval ne '') {                                              if ($displayval ne '') {
                                                 my @roles = split(',',$displayval);                                                  my @roles = split(',',$displayval);
                                                 @roles = map { &Apache::lonnet::plaintext($_); } @roles;                                                  @roles = map { &Apache::lonnet::plaintext($_); } @roles;
                                                 $displayval = join(', ',@roles);                                                  $displayval = join(', ',@roles);
                                             }                                               } 
                                         } elsif ($key =~ /^p(lc|ch)\.users\.denied/) {                                          } elsif ($key =~ /^p(lc|ch|ac)\.users\.denied/) {
                                             $displayname = &mt("$text (specific user(s))");                                              $displayname = &mt("$text (specific user(s))");
                                         } else {                                          } else {
                                             if ($key eq 'allow_discussion_post_editing') {                                              if ($key eq 'allow_discussion_post_editing') {
Line 3285  sub store_ltitools { Line 3335  sub store_ltitools {
                             }                              }
                         }                          }
                     }                      }
                     $output .= '<li>'.&mt('Configurable in course:');                      $output .= '<li>';
                       if ($context eq 'domain') {
                           $output .= &mt('Configurable in course');
                       } else {
                           $output .= &mt('Configurable for each instance of tool in course');
                       }
                       $output .= ':';
                     my @possconfig = ('label','title','target','linktext','explanation','append');                      my @possconfig = ('label','title','target','linktext','explanation','append');
                     my $numconfig = 0;                      my $numconfig = 0;
                     if (ref($changes->{$itemid}{'crsconf'}) eq 'HASH') {                      if (ref($changes->{$itemid}{'crsconf'}) eq 'HASH') {
Line 3300  sub store_ltitools { Line 3356  sub store_ltitools {
                         $output .= '&nbsp;'.&mt('None');                          $output .= '&nbsp;'.&mt('None');
                     }                      }
                     $output .= '</li>';                      $output .= '</li>';
                     foreach my $item ('passback','roster') {                      foreach my $item ('passback','roster','returnurl') {
                         $output .= '<li>'.$lt{$item}.'&nbsp;';                          $output .= '<li>'.$lt{$item}.'&nbsp;';
                         if ($changes->{$itemid}{$item}) {                          if ($changes->{$itemid}{$item}) {
                             $output .= &mt('Yes');                              $output .= &mt('Yes');
                             if ($changes->{$itemid}{$item.'valid'}) {                              if ($item eq 'returnurl') {
                                   if (ref($changes->{$itemid}{'crsconf'}) eq 'HASH') {
                                       $output .= ' ['.&mt('Configurable in course').': ';
                                       if ($changes->{$itemid}{'crsconf'}{$item}) {
                                           $output .= &mt('Yes');
                                       } else {
                                           $output .= &mt('No');
                                       }
                                       $output .= ']';
                                   }
                               } elsif ($changes->{$itemid}{$item.'valid'}) {
                                 if ($item eq 'passback') {                                  if ($item eq 'passback') {
                                     $output .= ' '.&mt('valid for at least [quant,_1,day] after launch',                                      $output .= ' '.&mt('valid for at least [quant,_1,day] after launch',
                                                        $changes->{$itemid}{$item.'valid'});                                                         $changes->{$itemid}{$item.'valid'});
Line 5257  sub update_releasereq { Line 5323  sub update_releasereq {
         }          }
         $modified_courses = [];          $modified_courses = [];
     }      }
     undef($registered_cleanup);      return OK;
     return;  
 }  }
   
 sub show_autocoowners {  sub show_autocoowners {
Line 6587  sub print_ltitools { Line 6652  sub print_ltitools {
                           '<div class="LC_left_float">'.$lt{'linktext'}.'<br />'.                            '<div class="LC_left_float">'.$lt{'linktext'}.'<br />'.
                           '<input type="text" name="ltitools_linktext_'.$i.'" size="25" value="'.$currdisp{'linktext'}.'" /></div>'.                            '<input type="text" name="ltitools_linktext_'.$i.'" size="25" value="'.$currdisp{'linktext'}.'" /></div>'.
                           '<div class="LC_left_float">'.$lt{'explanation'}.'<br />'.                            '<div class="LC_left_float">'.$lt{'explanation'}.'<br />'.
                           '<textarea name="ltitools_explanation_'.$i.'" rows="5" cols="40">'.$currdisp{'explanation'}.                            '<textarea name="ltitools_explanation_'.$i.'" rows="5" cols="30">'.$currdisp{'explanation'}.
                           '</textarea></div><div style=""></div><br />';                            '</textarea></div><div style=""></div><br />';
             my %units = (              my %units = (
                           'passback' => 'days',                            'passback' => 'days',
                           'roster'   => 'seconds',                            'roster'   => 'seconds',
                         );                          );
             foreach my $extra ('passback','roster') {              my %courseconfig;
               if (ref($settings->{$item}) eq 'HASH') {
                   if (ref($settings->{$item}->{'crsconf'}) eq 'HASH') {
                       %courseconfig = %{$settings->{$item}->{'crsconf'}};
                   }
               }
               foreach my $extra ('passback','roster','returnurl') {
                 my $validsty = 'none';                  my $validsty = 'none';
                 my $currvalid;                  my $currvalid;
                 my $checkedon = '';                  my $checkedon = '';
                 my $checkedoff = ' checked="checked"';                  my $checkedoff = ' checked="checked"';
                   my $crscheckedon = '';
                   my $crscheckedoff = ' checked="checked"';
                 if ($settings->{$item}->{$extra}) {                  if ($settings->{$item}->{$extra}) {
                     $checkedon = $checkedoff;                      $checkedon = $checkedoff;
                     $checkedoff = '';                      $checkedoff = '';
                     $validsty = 'inline-block';                      $validsty = 'inline-block';
                     if ($settings->{$item}->{$extra.'valid'} =~ /^\d+\.?\d*$/) {                      if ($extra eq 'returnurl') {
                           if ($courseconfig{$extra}) {
                               $crscheckedon = ' checked="checked"';
                               $crscheckedoff = '';
                           }
                       } elsif ($settings->{$item}->{$extra.'valid'} =~ /^\d+\.?\d*$/) {
                         $currvalid = $settings->{$item}->{$extra.'valid'};                          $currvalid = $settings->{$item}->{$extra.'valid'};
                     }                      }
                 }                  }
Line 6611  sub print_ltitools { Line 6689  sub print_ltitools {
                               '<label><input type="radio" name="ltitools_'.$extra.'_'.$i.'" value="0"'.$checkedoff.$onclick.' />'.                                '<label><input type="radio" name="ltitools_'.$extra.'_'.$i.'" value="0"'.$checkedoff.$onclick.' />'.
                               &mt('No').'</label>'.('&nbsp;'x2).                                &mt('No').'</label>'.('&nbsp;'x2).
                               '<label><input type="radio" name="ltitools_'.$extra.'_'.$i.'" value="1"'.$checkedon.$onclick.' />'.                                '<label><input type="radio" name="ltitools_'.$extra.'_'.$i.'" value="1"'.$checkedon.$onclick.' />'.
                               &mt('Yes').'</label></span></div>'.                                &mt('Yes').'</label></span></div>';
                               '<div class="LC_floatleft" style="display:'.$validsty.';" id="ltitools_'.$extra.'time_'.$i.'">'.                  if ($extra eq 'returnurl') {
                               '<span class="LC_nobreak">'.                      $datatable .= '<div class="LC_floatleft" style="display:'.$validsty.';" id="ltitools_course'.$extra.'_'.$i.'">'.
                               &mt("until at least [_1] $units{$extra} after launch",                                    '<span class="LC_nobreak"> -- '.&mt('configurable in course').':&nbsp;'.
                                   '<input type="text" name="ltitools_'.$extra.'valid_'.$i.'" value="'.$currvalid.'" />').                                    '<label><input type="radio" name="ltitools_crs'.$extra.'_'.$i.'" value="0"'.$crscheckedoff.' />'.
                               '</span></div><div style="padding:0;clear:both;margin:0;border:0"></div>';                                    &mt('No').'</label>'.('&nbsp;'x2).
                                     '<label><input type="radio" name="ltitools_crs'.$extra.'_'.$i.'" value="1"'.$crscheckedon.' />'.
                                     &mt('Yes').'</label>';
                   } else {
                       $datatable .= '<div class="LC_floatleft" style="display:'.$validsty.';" id="ltitools_'.$extra.'time_'.$i.'">'.
                                     '<span class="LC_nobreak">'.
                                     &mt("until at least [_1] $units{$extra} after launch",
                                         '<input type="text" name="ltitools_'.$extra.'valid_'.$i.'" value="'.$currvalid.'" />');
                   }
                   $datatable .= '</span></div><div style="padding:0;clear:both;margin:0;border:0"></div>';
             }              }
             $datatable .= '<span class="LC_nobreak">'.$lt{'icon'}.':&nbsp;';              $datatable .= '<span class="LC_nobreak">'.$lt{'icon'}.':&nbsp;';
             if ($imgsrc) {              if ($imgsrc) {
Line 6702  sub print_ltitools { Line 6789  sub print_ltitools {
                 }                  }
                 $datatable .= '</select></td>';                  $datatable .= '</select></td>';
             }              }
             $datatable .= '</tr></table></fieldset>';              $datatable .= '</tr></table></fieldset>'."\n".
             my %courseconfig;                            '<fieldset><legend>';
             if (ref($settings->{$item}) eq 'HASH') {              if ($context eq 'domain') {
                 if (ref($settings->{$item}->{'crsconf'}) eq 'HASH') {                  $datatable .= &mt('Configurable in course');
                     %courseconfig = %{$settings->{$item}->{'crsconf'}};              } else {
                 }                  $datatable .= &mt('Configurable for each instance of tool in course');
             }              }
             $datatable .= '<fieldset><legend>'.&mt('Configurable in course').'</legend><span class="LC_nobreak">';              $datatable .= '</legend><span class="LC_nobreak">';
             foreach my $item ('label','title','target','linktext','explanation','append') {              foreach my $item ('label','title','target','linktext','explanation','append') {
                 my $checked;                  my $checked;
                 if ($courseconfig{$item}) {                  if ($courseconfig{$item}) {
Line 6730  sub print_ltitools { Line 6817  sub print_ltitools {
                                       '<label><input type="checkbox" name="ltitools_customdel_'.$i.'" value="'.                                        '<label><input type="checkbox" name="ltitools_customdel_'.$i.'" value="'.
                                       $key.'" />'.&mt('Delete').'</label></span></td><td>'.$key.'</td>'.                                        $key.'" />'.&mt('Delete').'</label></span></td><td>'.$key.'</td>'.
                                       '<td><input type="text" name="ltitools_customval_'.$key.'_'.$i.'"'.                                        '<td><input type="text" name="ltitools_customval_'.$key.'_'.$i.'"'.
                                       ' value="'.$custom{$key}.'" /></td></tr>';                                        ' value="'.$custom{$key}.'" size="35" /></td></tr>';
                     }                      }
                 }                  }
             }              }
             $datatable .= '<tr><td><span class="LC_nobreak">'.              $datatable .= '<tr><td><span class="LC_nobreak">'.
                           '<label><input type="checkbox" name="ltitools_customadd" value="'.$i.'" />'.                            '<label><input type="checkbox" name="ltitools_customadd" value="'.$i.'" />'.
                           &mt('Add').'</label></span></td><td><input type="text" name="ltitools_custom_name_'.$i.'" />'.                            &mt('Add').'</label></span></td><td><input type="text" name="ltitools_custom_name_'.$i.'" />'.
                           '</td><td><input type="text" name="ltitools_custom_value_'.$i.'" /></td></tr>';                            '</td><td><input type="text" name="ltitools_custom_value_'.$i.'" size="35" /></td></tr>';
             $datatable .= '</table></fieldset></td></tr>'."\n";              $datatable .= '</table></fieldset></td></tr>'."\n";
             $itemcount ++;              $itemcount ++;
         }          }
Line 6811  sub print_ltitools { Line 6898  sub print_ltitools {
                      'passback' => '7',                       'passback' => '7',
                      'roster'   => '300',                       'roster'   => '300',
                    );                     );
     foreach my $extra ('passback','roster') {      foreach my $extra ('passback','roster','returnurl') {
         my $onclick = ' onclick="toggleLTITools(this.form,'."'$extra','add'".');"';          my $onclick = ' onclick="toggleLTITools(this.form,'."'$extra','add'".');"';
         $datatable .= '<div class="LC_floatleft"><span class="LC_nobreak">'.$lt{$extra}.'&nbsp;'.          $datatable .= '<div class="LC_floatleft"><span class="LC_nobreak">'.$lt{$extra}.'&nbsp;'.
                       '<label><input type="radio" name="ltitools_'.$extra.'_add" value="0" checked="checked"'.$onclick.' />'.                        '<label><input type="radio" name="ltitools_'.$extra.'_add" value="0" checked="checked"'.$onclick.' />'.
                       &mt('No').'</label></span>'.('&nbsp;'x2).'<span class="LC_nobreak">'.                        &mt('No').'</label></span>'.('&nbsp;'x2).'<span class="LC_nobreak">'.
                       '<label><input type="radio" name="ltitools_'.$extra.'_add" value="1"'.$onclick.' />'.                        '<label><input type="radio" name="ltitools_'.$extra.'_add" value="1"'.$onclick.' />'.
                       &mt('Yes').'</label></span></div>'.                        &mt('Yes').'</label></span></div>';
                       '<div class="LC_floatleft" style="display:none;" id="ltitools_'.$extra.'time_add">'.          if ($extra eq 'returnurl') {
                       '<span class="LC_nobreak">'.              $datatable .= '<div class="LC_floatleft" style="display:none;" id="ltitools_course'.$extra.'_add">'.
                       &mt("until at least [_1] $units{$extra} after launch",                            '<span class="LC_nobreak"> -- '.&mt('configurable in course').':&nbsp;'.
                           '<input type="text" name="ltitools_'.$extra.'valid_add" value="'.$defaulttimes{$extra}.'" />').                            '<label><input type="radio" name="ltitools_crs'.$extra.'_add" value="0" checked="checked" />'.
                       '</span></div><div style="padding:0;clear:both;margin:0;border:0"></div>';                            &mt('No').'</label>'.('&nbsp;'x2).
                             '<label><input type="radio" name="ltitools_crs'.$extra.'_add" value="1" />'.
                             &mt('Yes').'</label>';
           } else {
               $datatable .= '<div class="LC_floatleft" style="display:none;" id="ltitools_'.$extra.'time_add">'.
                             '<span class="LC_nobreak">'.
                             &mt("until at least [_1] $units{$extra} after launch",
                                 '<input type="text" name="ltitools_'.$extra.'valid_add" value="'.$defaulttimes{$extra}.'" />');
           }
           $datatable .= '</span></div><div style="padding:0;clear:both;margin:0;border:0"></div>';
     }      }
     $datatable .= '<span class="LC_nobreak">'.$lt{'icon'}.':&nbsp;'.      $datatable .= '<span class="LC_nobreak">'.$lt{'icon'}.':&nbsp;'.
                   '('.&mt('if larger than 21x21 pixels, image will be scaled').')&nbsp;';                    '('.&mt('if larger than 21x21 pixels, image will be scaled').')&nbsp;';
Line 6867  sub print_ltitools { Line 6963  sub print_ltitools {
         $datatable .= '</select></td>';          $datatable .= '</select></td>';
     }      }
     $datatable .= '</tr></table></fieldset>'.      $datatable .= '</tr></table></fieldset>'.
                   '<fieldset><legend>'.&mt('Configurable in course').'</legend><span class="LC_nobreak">';                    '<fieldset><legend>';
       if ($context eq 'domain') {
           $datatable .= &mt('Configurable in course');
       } else {
           $datatable .= &mt('Configurable for each instance of tool in course');
       }
       $datatable .= '</legend><span class="LC_nobreak">';
     foreach my $item ('label','title','target','linktext','explanation','append') {      foreach my $item ('label','title','target','linktext','explanation','append') {
         $datatable .= '<label>'.          $datatable .= '<label>'.
                       '<input type="checkbox" name="ltitools_add_courseconfig" value="'.$item.'" checked="checked" />'.                        '<input type="checkbox" name="ltitools_add_courseconfig" value="'.$item.'" checked="checked" />'.
Line 6913  sub ltitools_names { Line 7015  sub ltitools_names {
                                           'explanation'    => 'Default Explanation',                                            'explanation'    => 'Default Explanation',
                                           'passback'       => 'Tool can return grades:',                                            'passback'       => 'Tool can return grades:',
                                           'roster'         => 'Tool can retrieve roster:',                                            'roster'         => 'Tool can retrieve roster:',
                                             'returnurl'      => 'Return URL sent on launch:',
                                           'crstarget'      => 'Display target',                                            'crstarget'      => 'Display target',
                                           'crslabel'       => 'Course label',                                            'crslabel'       => 'Course label',
                                           'crstitle'       => 'Course title',                                            'crstitle'       => 'Course title',
Line 7514  sub print_linkprotection { Line 7617  sub print_linkprotection {
                               $onclickreturnurl.$checkedreturnurl{'no'}.$disabled.' />'.&mt('No').'</label>&nbsp;'.                                $onclickreturnurl.$checkedreturnurl{'no'}.$disabled.' />'.&mt('No').'</label>&nbsp;'.
                               '<label><input type="radio" name="linkprot_returnurl_'.$i.'" value="1"'.                                '<label><input type="radio" name="linkprot_returnurl_'.$i.'" value="1"'.
                               $onclickreturnurl.$checkedreturnurl{'yes'}.$disabled.' />'.&mt('Yes').'</label></span>'.                                $onclickreturnurl.$checkedreturnurl{'yes'}.$disabled.' />'.&mt('Yes').'</label></span>'.
                               '&nbsp;&nbsp;</span><div id="linkprot_divurlparam_'.$i.'" style="display:none" />'.                                '&nbsp;&nbsp;<div id="linkprot_divurlparam_'.$i.'" style="display:none">'.
                               '<span class="LC_nobreak">'.&mt('Parameter name').':'.                                '<span class="LC_nobreak">'.&mt('Parameter name').':'.
                               '<input type="text" size="15" name="linkprot_urlparam_'.$i.'" value="'.$values{'returnurl'}.'" autocomplete="off"'.$disabled.' />'.                                '<input type="text" size="15" name="linkprot_urlparam_'.$i.'" value="'.$values{'returnurl'}.'" autocomplete="off"'.$disabled.' />'.
                               '</span></div> ';                                '</span></div> ';
Line 7586  sub print_linkprotection { Line 7689  sub print_linkprotection {
                   $onclickpassback.$checkedpassback{'no'}.$disabled.' />'.&mt('No').'</label>&nbsp;'.                    $onclickpassback.$checkedpassback{'no'}.$disabled.' />'.&mt('No').'</label>&nbsp;'.
                   '<label><input type="radio" name="linkprot_passback_add" value="1"'.                    '<label><input type="radio" name="linkprot_passback_add" value="1"'.
                   $onclickpassback.$checkedpassback{'yes'}.$disabled.' />'.&mt('Yes').'</label></span>'.                    $onclickpassback.$checkedpassback{'yes'}.$disabled.' />'.&mt('Yes').'</label></span>'.
                   '<br /><div id="linkprot_passbackparam_add" class="LC_floatleft" style="display:none" />'.                    '<br /><div id="linkprot_passbackparam_add" class="LC_floatleft" style="display:none">'.
                   '<span class="LC_nobreak">'.&mt('Grade format').                    '<span class="LC_nobreak">'.&mt('Grade format').
                   '<label><input type="radio" name="linkprot_passbackformat_add" value="1.1"'.$checkedpassbackfmt{'1p1'}.$disabled.' />'.                    '<label><input type="radio" name="linkprot_passbackformat_add" value="1.1"'.$checkedpassbackfmt{'1p1'}.$disabled.' />'.
                   &mt('Outcomes Service (1.1)').'</label>'.('&nbsp;'x2).                    &mt('Outcomes Service (1.1)').'</label>'.('&nbsp;'x2).
Line 7599  sub print_linkprotection { Line 7702  sub print_linkprotection {
                   $onclickreturnurl.$checkedreturnurl{'no'}.$disabled.' />'.&mt('No').'</label>&nbsp;'.                    $onclickreturnurl.$checkedreturnurl{'no'}.$disabled.' />'.&mt('No').'</label>&nbsp;'.
                   '<label><input type="radio" name="linkprot_returnurl_add" value="1"'.                    '<label><input type="radio" name="linkprot_returnurl_add" value="1"'.
                   $onclickreturnurl.$checkedreturnurl{'yes'}.$disabled.' />'.&mt('Yes').'</label></span>'.                    $onclickreturnurl.$checkedreturnurl{'yes'}.$disabled.' />'.&mt('Yes').'</label></span>'.
                   '&nbsp;&nbsp;</span><div id="linkprot_divurlparam_add" style="display:none" />'.                    '&nbsp;&nbsp;<div id="linkprot_divurlparam_add" style="display:none">'.
                   '<span class="LC_nobreak">'.&mt('Parameter name').':'.                    '<span class="LC_nobreak">'.&mt('Parameter name').':'.
                   '<input type="text" size="15" name="linkprot_urlparam_add" value="" autocomplete="off"'.$disabled.' />'.                    '<input type="text" size="15" name="linkprot_urlparam_add" value="" autocomplete="off"'.$disabled.' />'.
                   '</span></div> ';                    '</span></div> ';

Removed from v.1.128  
changed lines
  Added in v.1.134


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