Diff for /loncom/publisher/loncfile.pm between versions 1.12 and 1.16

version 1.12, 2002/07/28 02:16:59 version 1.16, 2002/09/02 16:39:15
Line 7 Line 7
 #  presents a page that describes the proposed action to the user  #  presents a page that describes the proposed action to the user
 #  and requests confirmation.  The second phase commits the action  #  and requests confirmation.  The second phase commits the action
 #  and displays a page showing the results of the action.  #  and displays a page showing the results of the action.
 #  # 
   
 #  #
 # $Id$  # $Id$
Line 86  package Apache::loncfile; Line 86  package Apache::loncfile;
   
 use strict;  use strict;
 use Apache::File;  use Apache::File;
   use File::Basename;
 use File::Copy;  use File::Copy;
 use Apache::Constants qw(:common :http :methods);  use Apache::Constants qw(:common :http :methods);
 use Apache::loncacc;  use Apache::loncacc;
 use Apache::Log ();  use Apache::Log ();
   use Apache::lonnet;
   
 my $DEBUG=0;  my $DEBUG=0;
 my $r; # Needs to be global for some stuff RF.  my $r; # Needs to be global for some stuff RF.
Line 153  sub Debug { Line 155  sub Debug {
   
 =over 4  =over 4
   
 =item  The corresponing file system path.   =item  The corresponding file system path. 
   
 =back  =back
   
Line 393  Parameters: Line 395  Parameters:
   
 =item  $request - Apache Request Object [in] - Apache server request object.  =item  $request - Apache Request Object [in] - Apache server request object.
   
 =item  $user    - string [in] - Name of the user initiating the request.  =item  $cancelurl - the url to go to on cancel.
   
 =item  $file    - A filename.  
   
 =back  =back
   
 =cut  =cut
   
 sub CloseForm1 {  sub CloseForm1 {
    my ($request, $user, $file) = @_;     my ($request,  $cancelurl) = @_;
    my $url = "/priv/".$file;  
      
      
    $url =~ s/public_html\///;  
    $url =~ s/\/home//;  
    $url =~ s/\/\//\//;  
   
      &Debug($request, "Cancel url is: ".$cancelurl);
    $request->print('<p><input type=submit value=Continue></p></form>');     $request->print('<p><input type=submit value=Continue></p></form>');
    $request->print('<form action="'.$url.     $request->print('<form action="'.$cancelurl.
    '" method=GET"><p><input type=submit value=Cancel><p></form>');     '" method=GET"><p><input type=submit value=Cancel><p></form>');
   
 }  }
Line 487  sub Rename1 { Line 483  sub Rename1 {
     &Debug($request, "Username - ".$user." filename: ".$filename."\n");      &Debug($request, "Username - ".$user." filename: ".$filename."\n");
     my $conspace = $filename;      my $conspace = $filename;
   
       my $cancelurl = "/priv/".$filename;
       $cancelurl    =~ s/\/home\///;
       $cancelurl    =~ s/\/public_html//;
           
     if(-e $conspace) {      if(-e $conspace) {
  if($ENV{'form.newfilename'}) {   if($ENV{'form.newfilename'}) {
Line 497  sub Rename1 { Line 496  sub Rename1 {
     $newfilename.      $newfilename.
     '"><p>Rename <tt>'.$filename.'</tt> to <tt>'.      '"><p>Rename <tt>'.$filename.'</tt> to <tt>'.
     $dir.'/'.$newfilename.'</tt>?</p>');      $dir.'/'.$newfilename.'</tt>?</p>');
     &CloseForm1($request, $user, $filename);      &CloseForm1($request, $cancelurl);
  } else {   } else {
     $request->print('<p>No new filename specified</p></form>');      $request->print('<p>No new filename specified</p></form>');
     return;      return;
Line 524  Parameters: Line 523  Parameters:
   
 =item   $user      - string [in] Name of session user.  =item   $user      - string [in] Name of session user.
   
   
 =item   $filename  - string [in] Name fo the file to be deleted:  =item   $filename  - string [in] Name fo the file to be deleted:
                 Filename is the full filesystem path to the file.                  Filename is the full filesystem path to the file.
   
Line 532  Parameters: Line 532  Parameters:
 =cut  =cut
   
 sub Delete1 {  sub Delete1 {
   my ($request, $user, $filename) = @_;    my ($request, $user,  $filename) = @_;
   
     my $cancelurl = '/priv/'.$filename;
     $cancelurl    =~ s/\/home\///;
     $cancelurl    =~ s/\/public_html//;
     
   
   if( -e $filename) {    if( -e $filename) {
     $request->print('<input type=hidden name=newfilename value="'.      $request->print('<input type=hidden name=newfilename value="'.
     $filename.'">');      $filename.'">');
     $request->print('<p> Delete <tt>'.$filename.'</tt>?</p>');      $request->print('<p> Delete <tt>'.$filename.'</tt>?</p>');
     &CloseForm1($request, $user, $filename);      &CloseForm1($request, $cancelurl);
   } else {    } else {
     $request->print('<p> No Such file: <tt>'.$filename.'</tt></p></form>');      $request->print('<p> No Such file: <tt>'.$filename.'</tt></p></form>');
   }    }
Line 576  Parameters: Line 581  Parameters:
 sub Copy1 {  sub Copy1 {
   my ($request, $user, $domain, $dir, $filename, $newfilename) = @_;    my ($request, $user, $domain, $dir, $filename, $newfilename) = @_;
   
     my $cancelurl = "/priv/".$filename;
     $cancelurl    =~ s/\/home\///;
     $cancelurl    =~ s/\/public_html//;
       
   
   
   if(-e $filename) {    if(-e $filename) {
     $request->print(&checksuffix($filename,$newfilename));      $request->print(&checksuffix($filename,$newfilename));
Line 584  sub Copy1 { Line 594  sub Copy1 {
     $dir.'/'.$newfilename.      $dir.'/'.$newfilename.
     '"><p>Copy <tt>'.$filename.'</tt> to'.      '"><p>Copy <tt>'.$filename.'</tt> to'.
     '<tt>'.$dir.'/'.$newfilename.'</tt>/?</p>');      '<tt>'.$dir.'/'.$newfilename.'</tt>/?</p>');
     &CloseForm1($request, $user, $filename);      &CloseForm1($request, $cancelurl);
   } else {    } else {
     $request->print('<p>No such file <tt>'.$filename.'</p></form>');      $request->print('<p>No such file <tt>'.$filename.'</p></form>');
   }    }
Line 633  sub NewDir1 Line 643  sub NewDir1
   
   my $fullpath = '/home/'.$username.'/public_html/'.    my $fullpath = '/home/'.$username.'/public_html/'.
     $path.'/'.$newdir;      $path.'/'.$newdir;
   Debug($request, "Full path is : ".$fullpath);  
     my $cancelurl = '/priv/'.$username.'/'.$path;
   
     &Debug($request, "Full path is : ".$fullpath);
   
   if(-e $fullpath) {    if(-e $fullpath) {
     $request->print('<p>Directory exists.</p></form>');      $request->print('<p>Directory exists.</p></form>');
Line 642  sub NewDir1 Line 655  sub NewDir1
     $request->print('<input type=hidden name=newfilename value="'.      $request->print('<input type=hidden name=newfilename value="'.
     $newdir.'"><p>Make new directory <tt>'.      $newdir.'"><p>Make new directory <tt>'.
     $path."/".$newdir.'</tt>?</p>');      $path."/".$newdir.'</tt>?</p>');
     &CloseForm1($request, $username, $newdir);      &CloseForm1($request, $cancelurl);
   
   }    }
 }  }
Line 845  sub Copy2 { Line 858  sub Copy2 {
     &Debug($request ,"Will try to copy $oldfile to $newfile");      &Debug($request ,"Will try to copy $oldfile to $newfile");
     if(-e $oldfile) {      if(-e $oldfile) {
  unless (copy($oldfile, $newfile)) {   unless (copy($oldfile, $newfile)) {
     $request->print('<font color=red> Error: '.$!.'</font>');      $request->print('<font color=red> copy Error: '.$!.'</font>');
     return 0;      return 0;
  } else {   } else {
       unless (chmod(0660, $newfile)) {
    $request->print('<font color=red> chmod error: '.$!.'</font>');
    return 0;
       }
     return 1;      return 1;
  }   }
     } else {      } else {
Line 1001  sub phasetwo { Line 1018  sub phasetwo {
     &Debug($r, "Final url is: $dest");      &Debug($r, "Final url is: $dest");
     $dest =~ s/\/home\//\/priv\//;      $dest =~ s/\/home\//\/priv\//;
     $dest =~ s/\/public_html//;      $dest =~ s/\/public_html//;
       
       my $base = &Apache::lonnet::escape(&File::Basename::basename($dest));
       my $dpath= &File::Basename::dirname($dest);
       $dest = $dpath.'/'.$base;
   
   
     &Debug($r, "Final url after rewrite: $dest");      &Debug($r, "Final url after rewrite: $dest");
   
     $r->print('<h3><a href="'.$dest.'">Done</a></h3>');      $r->print('<h3><a href="'.$dest.'">Done</a></h3>');

Removed from v.1.12  
changed lines
  Added in v.1.16


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