Diff for /loncom/interface/londocs.pm between versions 1.725 and 1.728

version 1.725, 2025/02/27 02:02:10 version 1.728, 2025/06/14 02:50:25
Line 1704  sub group_import { Line 1704  sub group_import {
                 my $marker = $2;                  my $marker = $2;
                 my $info = $3;                  my $info = $3;
                 my ($toolid,$toolprefix,$tooltype,%toolhash,%toolsettings);                  my ($toolid,$toolprefix,$tooltype,%toolhash,%toolsettings);
                 my @extras = ('linktext','explanation','crslabel','crstitle','crsappend');                  my @extras = ('linktext','explanation','crslabel','crstitle','crsappend','returnurl','backtourl','desturl','delay');
                 my @toolinfo = split(/:/,$info);                  my @toolinfo = split(/:/,$info);
                 if ($residx) {                  if ($residx) {
                     %toolsettings=&Apache::lonnet::dump('exttool_'.$marker,$coursedom,$coursenum);                      %toolsettings=&Apache::lonnet::dump('exttool_'.$marker,$coursedom,$coursenum);
Line 1721  sub group_import { Line 1721  sub group_import {
                 $toolid =~ s/\D//g;                  $toolid =~ s/\D//g;
                 ($toolhash{'target'},$toolhash{'width'},$toolhash{'height'},                  ($toolhash{'target'},$toolhash{'width'},$toolhash{'height'},
                  $toolhash{'linktext'},$toolhash{'explanation'},$toolhash{'crslabel'},                   $toolhash{'linktext'},$toolhash{'explanation'},$toolhash{'crslabel'},
                  $toolhash{'crstitle'},$toolhash{'crsappend'},$toolhash{'gradable'}) = @toolinfo;                   $toolhash{'crstitle'},$toolhash{'crsappend'},$toolhash{'gradable'},
                    $toolhash{'returnurl'},$toolhash{'backtourl'},$toolhash{'desturl'},
                    $toolhash{'delay'}) = @toolinfo;
                 foreach my $item (@extras) {                  foreach my $item (@extras) {
                     $toolhash{$item} = &unescape($toolhash{$item});                      $toolhash{$item} = &unescape($toolhash{$item});
                 }                  }
                   foreach my $item ('crsappend','gradable','returnurl',
                                     'backtourl','desturl','delay') {
                       $toolhash{$item} =~ s/^\s+//;
                       $toolhash{$item} =~ s/\s+$//;
                   }
                 if ($folder =~ /^supplemental/) {                  if ($folder =~ /^supplemental/) {
                     delete($toolhash{'gradable'});                      delete($toolhash{'gradable'});
                 } else {                  } else {
Line 1785  sub group_import { Line 1792  sub group_import {
                                     }                                      }
                                 }                                  }
                             }                              }
                               my $nocrsdest = 1;
                             if (ref($tools{'crsconf'}) eq 'HASH') {                              if (ref($tools{'crsconf'}) eq 'HASH') {
                                 foreach my $item ('label','title','linktext','explanation') {                                  foreach my $item ('label','title','linktext','explanation') {
                                     my $crsitem;                                      my $crsitem;
Line 1808  sub group_import { Line 1816  sub group_import {
                                         }                                          }
                                     }                                      }
                                 }                                  }
                                   if ($tools{'crsconf'}{'returnurl'}) {
                                       unless ($toolhash{'returnurl'} eq 'custom') {
                                           delete($toolhash{'backtourl'});
                                       }
                                   } else {
                                       delete($toolhash{'returnurl'});
                                       delete($toolhash{'backtourl'});
                                   }
                                   if ($tools{'crsconf'}{'desturl'}) {
                                       if ($toolhash{'desturl'} =~ m{^(https?\://|/)}) {
                                           undef($nocrsdest);
                                       } else {
                                           delete($toolhash{'desturl'});
                                           delete($toolhash{'delay'});
                                       }
                                   } else {
                                       delete($toolhash{'desturl'});
                                       delete($toolhash{'delay'});
                                   }
                             }                              }
                             if ($toolhash{'passback'}) {                              if ($toolhash{'passback'}) {
                                 my $gradesecret = UUID::Tiny::create_uuid_as_string(UUID_V4);                                  my $gradesecret = UUID::Tiny::create_uuid_as_string(UUID_V4);
Line 1819  sub group_import { Line 1846  sub group_import {
                                 $toolhash{'rostersecret'} = $rostersecret;                                  $toolhash{'rostersecret'} = $rostersecret;
                                 $toolhash{'rostersecretdate'} = time;                                  $toolhash{'rostersecretdate'} = time;
                             }                              }
                               if ($nocrsdest) {
                                   foreach my $item ('desturl','delay') {
                                       if (exists($toolhash{$item})) {
                                           delete($toolhash{$item});
                                       }
                                   }
                               } elsif (exists($toolhash{'delay'})) {
                                   unless ($toolhash{'delay'} =~ /^(\d+\.?\d*)$/) {
                                       delete($toolhash{'delay'});
                                   }
                               }
                             my $changegradable;                              my $changegradable;
                             if (($residx) && ($folder =~ /^default/)) {                              if (($residx) && ($folder =~ /^default/)) {
                                 if ($toolsettings{'gradable'}) {                                  if ($toolsettings{'gradable'}) {
Line 1836  sub group_import { Line 1874  sub group_import {
                                     }                                      }
                                 }                                  }
                             }                              }
                               if ($residx) {
                                   if (($toolsettings{'backtourl'} ne '') && (!exists($toolhash{'backtourl'}))) {
                                       push(@deleted,'backtourl');
                                   }
                                   if (($toolsettings{'returnurl'} ne '') && (!exists($toolhash{'returnurl'}))) {
                                       push(@deleted,'returnurl');
                                   }
                                   if (($toolsettings{'desturl'} ne '') && (!exists($toolhash{'desturl'}))) {
                                       push(@deleted,'desturl');
                                   }
                                   if (($toolsettings{'delay'} ne '') && (!exists($toolhash{'delay'}))) {
                                       push(@deleted,'delay');
                                   }
                               }
                             my $putres = &Apache::lonnet::put('exttool_'.$marker,\%toolhash,$coursedom,$coursenum);                              my $putres = &Apache::lonnet::put('exttool_'.$marker,\%toolhash,$coursedom,$coursenum);
                             if ($putres eq 'ok') {                              if ($putres eq 'ok') {
                                 if (@deleted) {                                  if (@deleted) {
Line 7342  sub handler { Line 7394  sub handler {
                 @tabids = ('002','dd2','ee2','ff2');                  @tabids = ('002','dd2','ee2','ff2');
                 $tid = 2;                  $tid = 2;
             } else {              } else {
                 @tabids = ('aa1','bb1','cc1','ff1');                  @tabids = ('aa1','bb1','cc1','dd1','ff1');
                 unless ($env{'form.folderpath'} =~ /\:1$/) {                  unless ($env{'form.folderpath'} =~ /\:1$/) {
                     unshift(@tabids,'001');                      unshift(@tabids,'001');
                     push(@tabids,('dd1','ee1'));                      push(@tabids,'ee1');
                 }                  }
             }              }
             my $tabidstr = join("','",@tabids);              my $tabidstr = join("','",@tabids);

Removed from v.1.725  
changed lines
  Added in v.1.728


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