Diff for /loncom/publisher/loncfile.pm between versions 1.24 and 1.28

version 1.24, 2003/02/10 23:13:17 version 1.28, 2003/03/08 01:41:53
Line 501  sub Rename1 { Line 501  sub Rename1 {
  }   }
     }      }
     $request->print(&checksuffix($filename, $newfilename));      $request->print(&checksuffix($filename, $newfilename));
       #renaming a dir, delete the trailing /
               #remove last element for current dir
       if ($filename =~ m|/$|) {
    $filename =~ s|/$||;
    $dir =~ s|/[^/]*$||;
       }
     my $return=&exists($user, $domain, $dir, $newfilename);      my $return=&exists($user, $domain, $dir, $newfilename);
     $request->print($return);      $request->print($return);
     if ($return =~/^Error:/) {      if ($return =~/^Error:/) {
Line 764  sub NewFile1 { Line 770  sub NewFile1 {
     if ($ENV{'form.action'} =~ /new(.+)file/) {      if ($ENV{'form.action'} =~ /new(.+)file/) {
  my $extension=$1;   my $extension=$1;
  if ($newfilename !~ /\Q.$extension\E$/) {   if ($newfilename !~ /\Q.$extension\E$/) {
       if ($newfilename =~ m|^[^\.]*\.([^\.]+)$|) {
    #already has an extension strip it and add in expected one
    $newfilename =~ s|.([^\.]+)$||;
       }
     $newfilename.=".$extension";      $newfilename.=".$extension";
  }   }
     }      }
Line 776  sub NewFile1 { Line 786  sub NewFile1 {
  $request->print('<p>File exists.</p></form>');   $request->print('<p>File exists.</p></form>');
     }      }
     else {      else {
  $request->print('<p>Make new file <tt>'.$newfilename.'</tt>?</p>');   $request->print('<p>Make new file <tt>'.$dir.'/'.$newfilename.'</tt>?</p>');
  my $dest=&MakeFinalUrl($request,$fullpath);   my $dest=&MakeFinalUrl($request,$fullpath);
  &Debug($request, "Cancel url is: ".$cancelurl);   &Debug($request, "Cancel url is: ".$cancelurl);
  &Debug($request, "Dest url is: ".$dest);   &Debug($request, "Dest url is: ".$dest);
Line 833  sub phaseone { Line 843  sub phaseone {
     '<input type="hidden" name="action" value="'.$ENV{'form.action'}.'" />');      '<input type="hidden" name="action" value="'.$ENV{'form.action'}.'" />');
       
   if ($ENV{'form.action'} eq 'rename') {    if ($ENV{'form.action'} eq 'rename') {
             if (!defined($dir)) {
     &Rename1($r, $fn, $uname, $udom, $dir);    $fn=~m:(.*)/:;
         $dir=$1;
         }
         &Rename1($r, $fn, $uname, $udom, $dir);
   } elsif ($ENV{'form.action'} eq 'delete') {     } elsif ($ENV{'form.action'} eq 'delete') { 
           
     &Delete1($r, $uname, $fn);      &Delete1($r, $uname, $fn);
Line 851  sub phaseone { Line 863  sub phaseone {
     &NewDir1($r, $uname, $dir, $ENV{'form.newfilename'});      &NewDir1($r, $uname, $dir, $ENV{'form.newfilename'});
   }  elsif ($ENV{'form.action'} eq 'newfile' ||    }  elsif ($ENV{'form.action'} eq 'newfile' ||
     $ENV{'form.action'} eq 'newhtmlfile' ||      $ENV{'form.action'} eq 'newhtmlfile' ||
     $ENV{'form.action'} eq 'newproblemfile') {      $ENV{'form.action'} eq 'newproblemfile' ||
     if($ENV{'form.newfilename'}) {              $ENV{'form.action'} eq 'newpagefile' ||
       my $newfilename = $ENV{'form.newfilename'};              $ENV{'form.action'} eq 'newsequencefile') {
       if (!defined($dir)) {        if($ENV{'form.newfilename'}) {
   $fn=~m:(.*)/:;    my $newfilename = $ENV{'form.newfilename'};
   $dir=$1;    if (!defined($dir)) {
         $fn=~m:(.*)/:;
         $dir=$1;
     }
     &NewFile1($r, $uname, $udom, $dir, $newfilename);
         } else {
     $r->print('<p>No new filename specified.</p></form>');
       }        }
       &NewFile1($r, $uname, $udom, $dir, $fn, $newfilename);  
     }else {  
       $r->print('<p>No new filename specified.</p></form>');  
     }  
   }    }
 }  }
   
Line 909  sub Rename2 { Line 923  sub Rename2 {
  $newfile);   $newfile);
   
   if(-e $oldfile) {    if(-e $oldfile) {
       unless(rename($oldfile,        my $dest;
     $directory.'/'.$newfile)) {  
         if ($oldfile =~ m|/$|) {
     #renaming a dir
     $oldfile =~ s|/$||;
     $dest=$directory;
     $dest=~s|(/)([^/]*)$|$1|;
     $dest.='/'.$newfile;
         } else {
     $dest=$directory.'/'.$newfile;
         }
   
         unless(rename($oldfile,$dest)) {
   $request->print('<font color="red">Error: '.$!.'</font>');    $request->print('<font color="red">Error: '.$!.'</font>');
   return 0;    return 0;
       } else {}        } else {}
Line 1088  sub phasetwo { Line 1113  sub phasetwo {
           
     # Break down the file into it's component pieces.      # Break down the file into it's component pieces.
           
     $fn=~/(.*)\/([^\/]+)\.(\w+)$/;      my $dir; # Directory path
     my $dir=$1; # Directory path      my $main; # Filename.
     my $main=$2; # Filename.      my $suffix; # Extension.
     my $suffix=$3; # Extension.  
           if ($fn=~m:(.*)/([^/]+)\.(\w+)$:) {
    $dir=$1; # Directory path
    $main=$2; # Filename.
    $suffix=$3; # Extension.
       }
           
     my $dest;                   # On success this is where we'll go.      my $dest;                   # On success this is where we'll go.
           
     &Debug($r,       &Debug($r, 
Line 1112  sub phasetwo { Line 1142  sub phasetwo {
           
     if ($ENV{'form.action'} eq 'rename') { # Rename.      if ($ENV{'form.action'} eq 'rename') { # Rename.
  if($ENV{'form.newfilename'}) {   if($ENV{'form.newfilename'}) {
       if (!defined($dir)) {
    $fn=~m:^(.*)/:;
    $dir=$1;
       }
     if(!&Rename2($r, $uname, $dir, $fn, $ENV{'form.newfilename'})) {      if(!&Rename2($r, $uname, $dir, $fn, $ENV{'form.newfilename'})) {
  return;   return;
     }      }
     # Prepend the directory to the new name to form the basis of the      # Prepend the directory to the new name to form the basis of the
     # url of the new resource.      # url of the new resource.
     #      #
       #renaming a dir
               #remove last element for current dir
       if ($fn =~ m|/$|) { $dir =~ s|/[^/]*$||; }
     $dest = $dir."/".$ENV{'form.newfilename'};      $dest = $dir."/".$ENV{'form.newfilename'};
  }   }
     } elsif ($ENV{'form.action'} eq 'delete') {       } elsif ($ENV{'form.action'} eq 'delete') { 
Line 1256  sub handler { Line 1293  sub handler {
       $r->print('<h3>Copy</h3>');        $r->print('<h3>Copy</h3>');
   } elsif ($ENV{'form.action'} eq 'newfile' ||    } elsif ($ENV{'form.action'} eq 'newfile' ||
    $ENV{'form.action'} eq 'newhtmlfile' ||     $ENV{'form.action'} eq 'newhtmlfile' ||
    $ENV{'form.action'} eq 'newproblemfile') {     $ENV{'form.action'} eq 'newproblemfile' ||
              $ENV{'form.action'} eq 'newpagefile' ||
              $ENV{'form.action'} eq 'newsequencefile' ) {
       $r->print('<h3>New Resource</h3>');        $r->print('<h3>New Resource</h3>');
   } else {    } else {
      $r->print('<p>Unknown Action</p></body></html>');       $r->print('<p>Unknown Action</p></body></html>');

Removed from v.1.24  
changed lines
  Added in v.1.28


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