Diff for /loncom/interface/portfolio.pm between versions 1.32 and 1.37

version 1.32, 2004/08/25 17:30:49 version 1.37, 2004/09/06 23:59:05
Line 375  sub rename_confirmed { Line 375  sub rename_confirmed {
   
 sub upload {  sub upload {
     my ($r)=@_;      my ($r)=@_;
     #FIXME if the file already exists we need to do a confirmation pass       my $fname=$ENV{'form.uploaddoc.filename'};
     #before overwriting      $fname=&Apache::lonnet::clean_filename($fname);
     my $result=&Apache::lonnet::userfileupload('uploaddoc','',      my $portfolio_root = &Apache::loncommon::propath($ENV{'user.domain'},
  'portfolio'.$ENV{'form.currentpath'});   $ENV{'user.name'}).
     if ($result !~ m|^/uploaded/|) {   '/userfiles/portfolio';
  $r->print('<font color="red"> An errror occured ('.$result.      my @dir_list=&Apache::lonnet::dirlist($ENV{'form.currentpath'},
   ') while trying to upload '.&display_file().'</font><br />');    $ENV{'user.domain'},
     $ENV{'user.name'},$portfolio_root);
       my $found_file = 0;
       foreach my $line (@dir_list) {
           my ($filename)=split(/\&/,$line,2);
           if ($filename eq $fname){
               $found_file = 1;
           }
       }
       $r->print('<br />'.&Apache::lonnet::diskusage($ENV{'user.domain'}, $ENV{'user.name'},$portfolio_root).'<br />');
       if ($found_file){   
           $r->print('<font color="red">Unable to upload <strong>'.$fname.'</strong>, a file by that name was found in <strong>'.$ENV{'form.currentpath'}.'</strong></font>'.
                     '<br />To upload, rename or delete existing '.$fname.' in '.$ENV{'form.currentpath'});
       } else {
           my $result=&Apache::lonnet::userfileupload('uploaddoc','',
            'portfolio'.$ENV{'form.currentpath'});
           if ($result !~ m|^/uploaded/|) {
               $r->print('<font color="red"> An errror occured ('.$result.
                 ') while trying to upload '.&display_file().'</font><br />');
           }
     }      }
     $r->print(&done());      $r->print(&done());
 }  }
   
 sub createdir {  sub createdir {
     my ($r)=@_;      my ($r)=@_;
     #FIXME 1) file exists in place of dir (errormessage needs improvement)  
     my $newdir=&Apache::lonnet::clean_filename($ENV{'form.newdir'});      my $newdir=&Apache::lonnet::clean_filename($ENV{'form.newdir'});
     if ($newdir eq '') {      if ($newdir eq '') {
  $r->print('<font color="red">'.      $r->print('<font color="red">'.
   &mt("Error: no valid directory name was provided.").        &mt("Error: no directory name was provided.").
   '</font><br />');        '</font><br />');
  $r->print(&done());      $r->print(&done());
  return;      return;
     }       } 
     my $result=&Apache::lonnet::mkdiruserfile($ENV{'user.name'},      my $portfolio_root = &Apache::loncommon::propath($ENV{'user.domain'},
      $ENV{'user.domain'},'portfolio'.$ENV{'form.currentpath'}.$newdir);   $ENV{'user.name'}).
     if ($result ne 'ok') {   '/userfiles/portfolio';
  $r->print('<font color="red"> An errror occured ('.$result.      my @dir_list=&Apache::lonnet::dirlist($ENV{'form.currentpath'},
   ') while trying to create a new directory '.&display_file().'</font><br />');    $ENV{'user.domain'},
     $ENV{'user.name'},$portfolio_root);
       my $found_file = 0;
       foreach my $line (@dir_list) {
           my ($filename)=split(/\&/,$line,2);
           if ($filename eq $newdir){
               $found_file = 1;
           }
       }
       if ($found_file){
          $r->print('<font color="red"> Unable to create a directory named <strong>'.$newdir.
                  ' </strong>a file or directory by that name already exists.</font><br />');
       } else {
           my $result=&Apache::lonnet::mkdiruserfile($ENV{'user.name'},
            $ENV{'user.domain'},'portfolio'.$ENV{'form.currentpath'}.$newdir);
           if ($result ne 'ok') {
          $r->print('<font color="red"> An errror occured ('.$result.
             ') while trying to create a new directory '.&display_file().'</font><br />');
           }
     }      }
     $r->print(&done());      $r->print(&done());
 }  }
Line 409  sub createdir { Line 445  sub createdir {
 sub handler {  sub handler {
     # this handles file management      # this handles file management
     my $r = shift;      my $r = shift;
    my $portfolio_root = &Apache::loncommon::propath($ENV{'user.domain'},
    $ENV{'user.name'}).
    '/userfiles/portfolio';
     &Apache::loncommon::no_cache($r);      &Apache::loncommon::no_cache($r);
     &Apache::loncommon::content_type($r,'text/html');      &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;      $r->send_http_header;
Line 421  sub handler { Line 460  sub handler {
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
                                             ['selectfile','currentpath',                                              ['selectfile','currentpath',
      'currentfile']);       'currentfile']);
    # make sure there is a portfolio directory off /userfiles
    my @dir_list=&Apache::lonnet::dirlist('/',
       $ENV{'user.domain'},
       $ENV{'user.name'},$portfolio_root);
    if ($dir_list[0] eq 'no_such_dir'){
        &Apache::lonnet::mkdiruserfile($ENV{'user.name'},
        $ENV{'user.domain'},'portfolio');
    }
     if ($ENV{'form.uploaddoc.filename'}) {      if ($ENV{'form.uploaddoc.filename'}) {
  &upload($r);   &upload($r);
     } elsif ($ENV{'form.action'} eq 'delete' && $ENV{'form.confirmed'}) {      } elsif ($ENV{'form.action'} eq 'delete' && $ENV{'form.confirmed'}) {
Line 443  sub handler { Line 489  sub handler {
  if ($ENV{'form.currentpath'}) {   if ($ENV{'form.currentpath'}) {
     $current_path = $ENV{'form.currentpath'};      $current_path = $ENV{'form.currentpath'};
  }   }
   
  my $portfolio_root = &Apache::loncommon::propath($ENV{'user.domain'},  
  $ENV{'user.name'}).  
  '/userfiles/portfolio';  
  my @dir_list=&Apache::lonnet::dirlist($current_path,   my @dir_list=&Apache::lonnet::dirlist($current_path,
     $ENV{'user.domain'},      $ENV{'user.domain'},
     $ENV{'user.name'},$portfolio_root);      $ENV{'user.name'},$portfolio_root);

Removed from v.1.32  
changed lines
  Added in v.1.37


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