Diff for /loncom/interface/loncommon.pm between versions 1.1293 and 1.1295

version 1.1293, 2017/08/13 23:21:04 version 1.1295, 2017/09/28 19:04:37
Line 13182  END Line 13182  END
 sub process_extracted_files {  sub process_extracted_files {
     my ($context,$docudom,$docuname,$destination,$dir_root,$hiddenelem) = @_;      my ($context,$docudom,$docuname,$destination,$dir_root,$hiddenelem) = @_;
     my $numitems = $env{'form.archive_count'};      my $numitems = $env{'form.archive_count'};
     return unless ($numitems);      return if ((!$numitems) || ($numitems =~ /\D/));
     my @ids=&Apache::lonnet::current_machine_ids();      my @ids=&Apache::lonnet::current_machine_ids();
     my ($prefix,$pathtocheck,$dir,$ishome,$error,$warning,%toplevelitems,%is_dir,      my ($prefix,$pathtocheck,$dir,$ishome,$error,$warning,%toplevelitems,%is_dir,
         %folders,%containers,%mapinner,%prompttofetch);          %folders,%containers,%mapinner,%prompttofetch);
Line 13195  sub process_extracted_files { Line 13195  sub process_extracted_files {
     } else {      } else {
         $prefix = $Apache::lonnet::perlvar{'lonDocRoot'};          $prefix = $Apache::lonnet::perlvar{'lonDocRoot'};
         $pathtocheck = "$dir_root/$docudom/$docuname/$destination";          $pathtocheck = "$dir_root/$docudom/$docuname/$destination";
         $dir = "$dir_root/$docudom/$docuname";              $dir = "$dir_root/$docudom/$docuname";
     }      }
     my $currdir = "$dir_root/$destination";      my $currdir = "$dir_root/$destination";
     (my $docstype,$mapinner{'0'}) = ($destination =~ m{^(docs|supplemental)/(\w+)/});      (my $docstype,$mapinner{'0'}) = ($destination =~ m{^(docs|supplemental)/(\w+)/});
Line 13284  sub process_extracted_files { Line 13284  sub process_extracted_files {
                                                         '.'.$containers{$outer},1,1);                                                          '.'.$containers{$outer},1,1);
                             $newseqid{$i} = $newidx;                              $newseqid{$i} = $newidx;
                             unless ($errtext) {                              unless ($errtext) {
                                 $result .=  '<li>'.&mt('Folder: [_1] added to course',$docstitle).'</li>'."\n";                                  $result .=  '<li>'.&mt('Folder: [_1] added to course',
                                                          &HTML::Entities::encode($docstitle,'<>&"')).
                                               '</li>'."\n";
                             }                              }
                         }                          }
                     } else {                      } else {
Line 13293  sub process_extracted_files { Line 13295  sub process_extracted_files {
                             my $url = '/uploaded/'.$docudom.'/'.$docuname.'/'.                              my $url = '/uploaded/'.$docudom.'/'.$docuname.'/'.
                                       $docstype.'/'.$mapinner{$outer}.'/'.$newidx.'/'.                                        $docstype.'/'.$mapinner{$outer}.'/'.$newidx.'/'.
                                       $title;                                        $title;
                             if (!-e "$prefix$dir/$docstype/$mapinner{$outer}") {                              if (($outer !~ /\D/) && ($mapinner{$outer} !~ /\D/) && ($newidx !~ /\D/)) {
                                 mkdir("$prefix$dir/$docstype/$mapinner{$outer}",0755);                                  if (!-e "$prefix$dir/$docstype/$mapinner{$outer}") {
                             }                                      mkdir("$prefix$dir/$docstype/$mapinner{$outer}",0755);
                             if (!-e "$prefix$dir/$docstype/$mapinner{$outer}/$newidx") {                                  }
                                 mkdir("$prefix$dir/$docstype/$mapinner{$outer}/$newidx");                                  if (!-e "$prefix$dir/$docstype/$mapinner{$outer}/$newidx") {
                             }                                      mkdir("$prefix$dir/$docstype/$mapinner{$outer}/$newidx");
                             if (-e "$prefix$dir/$docstype/$mapinner{$outer}/$newidx") {                                  }
                                 if (rename("$prefix$path","$prefix$dir/$docstype/$mapinner{$outer}/$newidx/$title")) {                                  if (-e "$prefix$dir/$docstype/$mapinner{$outer}/$newidx") {
                                     $newdest{$i} = "$prefix$dir/$docstype/$mapinner{$outer}/$newidx";                                      if (rename("$prefix$path","$prefix$dir/$docstype/$mapinner{$outer}/$newidx/$title")) {
                                     unless ($ishome) {                                          $newdest{$i} = "$prefix$dir/$docstype/$mapinner{$outer}/$newidx";
                                         my $fetch = "$newdest{$i}/$title";                                          unless ($ishome) {
                                         $fetch =~ s/^\Q$prefix$dir\E//;                                              my $fetch = "$newdest{$i}/$title";
                                         $prompttofetch{$fetch} = 1;                                              $fetch =~ s/^\Q$prefix$dir\E//;
                                               $prompttofetch{$fetch} = 1;
                                           }
                                     }                                      }
                                 }                                  }
                             }                                  $LONCAPA::map::resources[$newidx]=
                             $LONCAPA::map::resources[$newidx]=                                      $docstitle.':'.$url.':false:normal:res';
                                 $docstitle.':'.$url.':false:normal:res';                                  push(@LONCAPA::map::order, $newidx);
                             push(@LONCAPA::map::order, $newidx);                                  my ($outtext,$errtext)=
                             my ($outtext,$errtext)=                                      &LONCAPA::map::storemap('/uploaded/'.$docudom.'/'.
                                 &LONCAPA::map::storemap('/uploaded/'.$docudom.'/'.                                                              $docuname.'/'.$folders{$outer}.
                                                         $docuname.'/'.$folders{$outer}.                                                              '.'.$containers{$outer},1,1);
                                                         '.'.$containers{$outer},1,1);                                  unless ($errtext) {
                             unless ($errtext) {                                      if (-e "$prefix$dir/$docstype/$mapinner{$outer}/$newidx/$title") {
                                 if (-e "$prefix$dir/$docstype/$mapinner{$outer}/$newidx/$title") {                                          $result .= '<li>'.&mt('File: [_1] added to course',
                                     $result .= '<li>'.&mt('File: [_1] added to course',$docstitle).'</li>'."\n";                                                                &HTML::Entities::encode($docstitle,'<>&"')).
                                                      '</li>'."\n";
                                       }
                                 }                                  }
                             }                              } else {
                                   $warning .= &mt('Item extracted from archive: [_1] has unexpected path.',
                                                   &HTML::Entities::encode($path,'<>&"')).'<br />';
                               } 
                         }                          }
                     }                      }
                 }                  }
             } else {              } else {
                 $warning .= &mt('Item extracted from archive: [_1] has unexpected path.',$path).'<br />';                   $warning .= &mt('Item extracted from archive: [_1] has unexpected path.',
                                   &HTML::Entities::encode($path,'<>&"')).'<br />'; 
             }              }
         }          }
         for (my $i=1; $i<=$numitems; $i++) {          for (my $i=1; $i<=$numitems; $i++) {
Line 13397  sub process_extracted_files { Line 13407  sub process_extracted_files {
                                 } else {                                  } else {
                                     $showpath = "/$title";                                      $showpath = "/$title";
                                 }                                   } 
                                 $result .= '<li>'.&mt('[_1] included as a dependency',$showpath).'</li>'."\n";                                  $result .= '<li>'.&mt('[_1] included as a dependency',
                                                         &HTML::Entities::encode($showpath,'<>&"')).
                                              '</li>'."\n";
                                 unless ($ishome) {                                  unless ($ishome) {
                                     my $fetch = "$fullpath/$title";                                      my $fetch = "$fullpath/$title";
                                     $fetch =~ s/^\Q$prefix$dir\E//;                                       $fetch =~ s/^\Q$prefix$dir\E//; 
Line 13408  sub process_extracted_files { Line 13420  sub process_extracted_files {
                     }                      }
                 } elsif ($env{'form.archive_'.$referrer{$i}} eq 'discard') {                  } elsif ($env{'form.archive_'.$referrer{$i}} eq 'discard') {
                     $warning .= &mt('[_1] is a dependency of [_2], which was discarded.',                      $warning .= &mt('[_1] is a dependency of [_2], which was discarded.',
                                     $path,$env{'form.archive_content_'.$referrer{$i}}).'<br />';                                      &HTML::Entities::encode($path,'<>&"'),
                                       &HTML::Entities::encode($env{'form.archive_content_'.$referrer{$i}},'<>&"')).
                                   '<br />';
                 }                  }
             } else {              } else {
                 $warning .= &mt('Item extracted from archive: [_1] has unexpected path.',$path).'<br />';                   $warning .= &mt('Item extracted from archive: [_1] has unexpected path.',
                                   &HTML::Entities::encode($path)).'<br />'; 
             }              }
         }          }
         if (keys(%todelete)) {          if (keys(%todelete)) {
Line 16137  sub init_user_environment { Line 16152  sub init_user_environment {
     opendir(DIR,$lonids);      opendir(DIR,$lonids);
     while ($filename=readdir(DIR)) {      while ($filename=readdir(DIR)) {
  if ($filename=~/^$username\_\d+\_$domain\_$authhost\.id$/) {   if ($filename=~/^$username\_\d+\_$domain\_$authhost\.id$/) {
     unlink($lonids.'/'.$filename);                      if ($ENV{'SERVER_PORT'} == 443) {
                           my $linkedfile;
                           if (tie(my %oldenv,'GDBM_File',"$lonids/$cookie.id",
                                   &GDBM_READER(),0640)) {
                               if (exists($oldenv{'user.linkedenv'})) {
                                   $linkedfile = $oldenv{'user.linkedenv'};
                               }
                               untie(%oldenv);
                           }
                           if (unlink($lonids.'/'.$filename)) {
                               if ($linkedfile =~ /^[a-f0-9]+_linked\.id$/) {
                                   unlink($lonids.'/'.$linkedfile);
                               }
                           }
                       } else {
                           unlink($lonids.'/'.$filename);
                       }
  }   }
     }      }
     closedir(DIR);      closedir(DIR);

Removed from v.1.1293  
changed lines
  Added in v.1.1295


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