Diff for /loncom/publisher/lonretrieve.pm between versions 1.1 and 1.2

version 1.1, 2001/04/01 02:58:51 version 1.2, 2001/04/03 18:12:57
Line 20  use Apache::File; Line 20  use Apache::File;
 use File::Copy;  use File::Copy;
 use Apache::Constants qw(:common :http :methods);  use Apache::Constants qw(:common :http :methods);
   
   sub phaseone {
       my ($r,$fn,$uname,$udom)=@_;
       my $docroot=$r->dir_config('lonDocRoot');
   
       my $resdir=$docroot.'/res/'.$udom.'/'.$uname.$fn;
       $resdir=~s/\/[^\/]+$/\//;
   
       $fn=~/^\/(.+)\.(\w+)$/;
       my $main=$1;
       my $suffix=$2;
       
       my $filename;
       opendir(DIR,$resdir);
       while ($filename=readdir(DIR)) {
           if ($filename=~/^$main\.(\d+)\.$suffix$/) {
              $r->print($resdir.' = '.$filename.'<br>');
           }
       }
       closedir(DIR);
   }
   
 sub handler {  sub handler {
   
Line 29  sub handler { Line 49  sub handler {
   
   if ($ENV{'form.filename'}) {    if ($ENV{'form.filename'}) {
       $fn=$ENV{'form.filename'};        $fn=$ENV{'form.filename'};
       $fn=~s/^http\:\/\/[^\/]+\/\~(\w+)/\/home\/$1\/public_html/;        $fn=~s/^http\:\/\/[^\/]+\/\~(\w+)//;
       $fn=~s/\/[^\/]+$//;  
   } else {    } else {
       $fn=$r->filename();       $r->log_reason($ENV{'user.name'}.' at '.$ENV{'user.domain'}.
            ' unspecified filename for retrieval', $r->filename); 
        return HTTP_NOT_FOUND;
   }    }
        
   
   unless ($fn) {     unless ($fn) { 
      $r->log_reason($ENV{'user.name'}.' at '.$ENV{'user.domain'}.       $r->log_reason($ENV{'user.name'}.' at '.$ENV{'user.domain'}.
          ' trying to publish empty directory', $r->filename);            ' trying to retrieve non-existing file', $r->filename); 
      return HTTP_NOT_FOUND;       return HTTP_NOT_FOUND;
   }     } 
   
Line 55  sub handler { Line 75  sub handler {
   $r->print(    $r->print(
    '<body bgcolor="#FFFFFF"><img align=right src=/adm/lonIcons/lonlogos.gif>');     '<body bgcolor="#FFFFFF"><img align=right src=/adm/lonIcons/lonlogos.gif>');
   
   my $thisdisfn=$fn;  
   $thisdisfn=~s/^\/home\/$uname\/public_html//;  
       
   $r->print('<h1>Construction Space Directory <tt>'.$thisdisfn.'</tt></h1>');    $r->print('<h1>Retrieve previous versions of <tt>'.$fn.'</tt></h1>');
   
   my $docroot=$r->dir_config('lonDocRoot');  
   
   my $resdir=$docroot.'/res/'.$udom.'/'.$uname.$thisdisfn;  
   my $linkdir='/~'.$uname.$thisdisfn;  
   
     my $filename;  
     opendir(DIR,$fn);  
        while ($filename=readdir(DIR)) {  
            $filename=~/\.(\w+)$/;  
            if (($1 ne 'meta') && ($1 ne 'save') && ($1 ne 'log')) {  
       $r->print($resdir.' - '.$linkdir.' = '.$filename.'<br>');  
    }  
        }  
     closedir(DIR);  
   
     if ($ENV{'form.phase'} eq 'two') {
     } else {
         &phaseone($r,$fn,$uname,$udom);
     }
   
   $r->print('</body></html>');    $r->print('</body></html>');
   return OK;      return OK;  

Removed from v.1.1  
changed lines
  Added in v.1.2


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