Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.17 and 1.20

version 1.17, 2000/07/17 16:37:14 version 1.20, 2000/07/21 00:40:37
Line 24 Line 24
 # 04/05,05/29,05/31,06/01,  # 04/05,05/29,05/31,06/01,
 # 06/05,06/26 Gerd Kortemeyer  # 06/05,06/26 Gerd Kortemeyer
 # 06/26 Ben Tyszka  # 06/26 Ben Tyszka
 # 06/30,07/15,07/17 Gerd Kortemeyer  # 06/30,07/15,07/17,07/18 Gerd Kortemeyer
   
 package Apache::lonnet;  package Apache::lonnet;
   
Line 301  sub repcopy { Line 301  sub repcopy {
     } elsif ($remoteurl eq 'not_found') {      } elsif ($remoteurl eq 'not_found') {
    &logthis("Subscribe returned not_found: $filename");     &logthis("Subscribe returned not_found: $filename");
    return HTTP_NOT_FOUND;     return HTTP_NOT_FOUND;
     } elsif ($remoteurl eq 'forbidden') {      } elsif ($remoteurl eq 'rejected') {
    &logthis("Subscribe returned forbidden: $filename");     &logthis("Subscribe returned rejected: $filename");
            return FORBIDDEN;             return FORBIDDEN;
       } elsif ($remoteurl eq 'directory') {
              return OK;
     } else {      } else {
            my @parts=split(/\//,$filename);             my @parts=split(/\//,$filename);
            my $path="/$parts[1]/$parts[2]/$parts[3]/$parts[4]";             my $path="/$parts[1]/$parts[2]/$parts[3]/$parts[4]";
Line 595  sub assignrole { Line 597  sub assignrole {
   
 sub dirlist {  sub dirlist {
     my $uri=shift;      my $uri=shift;
     $uri=~/^\/res\/(\w+)\/(\w+)\//;      $uri=~s/^\///;
     my $listing=reply('ls:'.$perlvar{'lonDocRoot'}.'/'.$uri,homeserver($2,$1));      $uri=~s/\/$//;
     return split(/:/,$listing);      my ($res,$udom,$uname,@rest)=split(/\//,$uri);
       if ($udom) {
        if ($uname) {
          my $listing=reply('ls:'.$perlvar{'lonDocRoot'}.'/'.$uri,
                         homeserver($uname,$udom));
          return split(/:/,$listing);
        } else {
          my $tryserver;
          my %allusers=();
          foreach $tryserver (keys %libserv) {
     if ($hostdom{$tryserver} eq $udom) {
                my $listing=reply('ls:'.$perlvar{'lonDocRoot'}.'/res/'.$udom,
          $tryserver);
                if (($listing ne 'no_such_dir') && ($listing ne 'empty')
                 && ($listing ne 'con_lost')) {
                   map {
                     my ($entry,@stat)=split(/&/,$_);
                     $allusers{$entry}=1;
                   } split(/:/,$listing);
                }
     }
          }
          my $alluserstr='';
          map {
              $alluserstr.=$_.'&user:';
          } sort keys %allusers;
          $alluserstr=~s/:$//;
          return split(/:/,$alluserstr);
        } 
      } else {
          my $tryserver;
          my %alldom=();
          foreach $tryserver (keys %libserv) {
      $alldom{$hostdom{$tryserver}}=1;
          }
          my $alldomstr='';
          map {
             $alldomstr.=$perlvar{'lonDocRoot'}.'/res/'.$_.'&domain:';
          } sort keys %alldom;
          $alldomstr=~s/:$//;
          return split(/:/,$alldomstr);       
      }
 }  }
   
 # -------------------------------------------------------- Escape Special Chars  # -------------------------------------------------------- Escape Special Chars

Removed from v.1.17  
changed lines
  Added in v.1.20


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