Diff for /loncom/publisher/loncfile.pm between versions 1.46 and 1.47

version 1.46, 2003/12/13 19:54:16 version 1.47, 2003/12/15 20:44:06
Line 72  use Apache::loncacc; Line 72  use Apache::loncacc;
 use Apache::Log ();  use Apache::Log ();
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::loncommon();  use Apache::loncommon();
   use Apache::lonlocal;
   
 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 211  sub exists { Line 212  sub exists {
 s/^\/home\/$user\/public\_html\//\/home\/httpd\/html\/res\/$domain\/$user\//;  s/^\/home\/$user\/public\_html\//\/home\/httpd\/html\/res\/$domain\/$user\//;
   my $result='';        my $result='';    
   if ( -d $construct ) {    if ( -d $construct ) {
       return 'Error: destination for operation is an existing directory.';        return &mt('Error: destination for operation is an existing directory.');
   }    }
   if ( -e $published) {    if ( -e $published) {
       $result.='<p><font color="red">Warning: target file exists, and has been published!</font></p>';        $result.='<p><font color="red">'.&mt('Warning: target file exists, and has been published!').'</font></p>';
   } elsif ( -e $construct) {    } elsif ( -e $construct) {
       $result.='<p><font color="red">Warning: target file exists!</font></p>';        $result.='<p><font color="red">'.&mt('Warning: target file exists!').'</font></p>';
   }    }
   return $result;    return $result;
   
Line 260  sub checksuffix { Line 261  sub checksuffix {
     if ($old=~m:(.*)/+([^/]+)\.(\w+)$:) { $oldsuffix=$3; }      if ($old=~m:(.*)/+([^/]+)\.(\w+)$:) { $oldsuffix=$3; }
     if ($oldsuffix ne $newsuffix) {      if ($oldsuffix ne $newsuffix) {
  $result.=   $result.=
             '<p><font color="red">Warning: change of MIME type!</font></p>';              '<p><font color="red">'.&mt('Warning: change of MIME type!').'</font></p>';
     }      }
     return $result;      return $result;
 }  }
Line 269  sub cleanDest { Line 270  sub cleanDest {
     my ($request,$dest)=@_;      my ($request,$dest)=@_;
     #remove bad characters      #remove bad characters
     if  ($dest=~/[\#\?&]/) {      if  ($dest=~/[\#\?&]/) {
  $request->print("<p><font color=\"red\">Invalid characters in requested name have been removed.</font></p>");   $request->print("<p><font color=\"red\">".&mt('Invalid characters in requested name have been removed.')."</font></p>");
  $dest=~s/[\#\?&]//g;   $dest=~s/[\#\?&]//g;
     }      }
     return $dest;      return $dest;
Line 312  Parameters: Line 313  Parameters:
   
 sub CloseForm1 {  sub CloseForm1 {
    my ($request,  $fn) = @_;     my ($request,  $fn) = @_;
    $request->print('<p><input type="submit" value="Continue" /></p></form>');     $request->print('<p><input type="submit" value="'.&mt('Continue').'" /></p></form>');
    $request->print('<form action="'.&url($fn).     $request->print('<form action="'.&url($fn).
      '" method="POST"><p><input type="submit" value="Cancel" /></p></form>');       '" method="POST"><p><input type="submit" value="'.&mt('Cancel').'" /></p></form>');
 }  }
   
   
Line 344  Parameters: Line 345  Parameters:
   
 sub CloseForm2 {  sub CloseForm2 {
   my ($request, $user, $fn) = @_;    my ($request, $user, $fn) = @_;
   $request->print('<h3><a href="'.&url($fn).'/">Done</a></h3>');    $request->print('<h3><a href="'.&url($fn).'/">'.&mt('Done').'</a></h3>');
 }  }
   
 =pod  =pod
Line 410  sub Rename1 { Line 411  sub Rename1 {
     my $return=&exists($user, $domain, $newfilename);      my $return=&exists($user, $domain, $newfilename);
     $request->print($return);      $request->print($return);
     if ($return =~/^Error:/) {      if ($return =~/^Error:/) {
  $request->print('<br /><a href="'.&url($fn).'">Cancel</a>');   $request->print('<br /><a href="'.&url($fn).'">'.&mt('Cancel').'</a>');
  return;   return;
     }      }
     $request->print('<input type="hidden" name="newfilename" value="'.      $request->print('<input type="hidden" name="newfilename" value="'.
     $newfilename.      $newfilename.
     '" /><p>Rename '.&display($fn).      '" /><p>'.&mt('Rename').' '.&display($fn).
     '</tt><br />to '.&display($newfilename).'?</p>');      '</tt><br />to '.&display($newfilename).'?</p>');
     &CloseForm1($request, $fn);      &CloseForm1($request, $fn);
  } else {   } else {
     $request->print('<p>No new filename specified.</p></form>');      $request->print('<p>'.&mt('No new filename specified.').'</p></form>');
     return;      return;
  }   }
     } else {      } else {
  $request->print('<p> No such file: '.&display($fn).'</p></form>');   $request->print('<p> '.&mt('No such file').': '.&display($fn).'</p></form>');
  return;   return;
     }      }
           
Line 458  sub Delete1 { Line 459  sub Delete1 {
   if( -e $fn) {    if( -e $fn) {
     $request->print('<input type="hidden" name="newfilename" value="'.      $request->print('<input type="hidden" name="newfilename" value="'.
     $fn.'"/>');      $fn.'"/>');
     $request->print('<p>Delete '.&display($fn).'?</p>');      $request->print('<p>'.&mt('Delete').' '.&display($fn).'?</p>');
     &CloseForm1($request, $fn);      &CloseForm1($request, $fn);
   } else {    } else {
     $request->print('<p>No such file: '.&display($fn).'</p></form>');      $request->print('<p>'.&mt('No such file').': '.&display($fn).'</p></form>');
   }    }
 }  }
   
Line 512  sub Copy1 { Line 513  sub Copy1 {
  my $return=&exists($user, $domain, $newfilename);   my $return=&exists($user, $domain, $newfilename);
  $request->print($return);   $request->print($return);
  if ($return =~/^Error:/) {   if ($return =~/^Error:/) {
     $request->print('<br /><a href="'.&url($fn).'">Cancel</a>');      $request->print('<br /><a href="'.&url($fn).'">'.&mt('Cancel').'</a>');
     return;      return;
  }   }
  $request->print('<input type="hidden" name="newfilename" value="'.   $request->print('<input type="hidden" name="newfilename" value="'.
  $newfilename.   $newfilename.
  '" /><p>Copy '.&display($fn).'<br />to '.   '" /><p>'.&mt('Copy').' '.&display($fn).'<br />to '.
  &display($newfilename).'?</p>');   &display($newfilename).'?</p>');
  &CloseForm1($request, $fn);   &CloseForm1($request, $fn);
     } else {      } else {
  $request->print('<p>No such file: '.&display($fn).'</p></form>');   $request->print('<p>'.&mt('No such file').': '.&display($fn).'</p></form>');
     }      }
 }  }
   
Line 573  sub NewDir1 Line 574  sub NewDir1
     $request->print('<font color="red">'.$result.'</font></form>');      $request->print('<font color="red">'.$result.'</font></form>');
   } else {    } else {
     $request->print('<input type="hidden" name="newfilename" value="'.      $request->print('<input type="hidden" name="newfilename" value="'.
     $newfilename.'" /><p>Make new directory '.      $newfilename.'" /><p>'.&mt('Make new directory').' '.
     &display($newfilename).'?</p>');      &display($newfilename).'?</p>');
     &CloseForm1($request, $fn);      &CloseForm1($request, $fn);
   }    }
Line 584  sub Decompress1 { Line 585  sub Decompress1 {
    my ($request, $user, $domain, $fn) = @_;     my ($request, $user, $domain, $fn) = @_;
    if( -e $fn) {     if( -e $fn) {
     $request->print('<input type="hidden" name="newfilename" value="'.$fn.'"/>');      $request->print('<input type="hidden" name="newfilename" value="'.$fn.'"/>');
     $request->print('<p>Decompress '.&display($fn).'?</p>');      $request->print('<p>'.&mt('Decompress').' '.&display($fn).'?</p>');
     &CloseForm1($request, $fn);      &CloseForm1($request, $fn);
     } else {      } else {
         $request->print('<p>No such file: '.&display($fn).'</p></form>');          $request->print('<p>'.&mt('No such file').': '.&display($fn).'</p></form>');
        }         }
 }  }
 =pod  =pod
Line 640  sub NewFile1 { Line 641  sub NewFile1 {
         ##Informs User (name).(number).(extension) not allowed           ##Informs User (name).(number).(extension) not allowed 
  if($newfilename =~ /\.(\d+)\.(\w+)$/){   if($newfilename =~ /\.(\d+)\.(\w+)$/){
     $r->print('<font color="red">'.$newfilename.      $r->print('<font color="red">'.$newfilename.
       ' - Bad Filename<br />(name).(number).(extension)'.        ' - '.&mt('Bad Filename').'<br />('.&mt('name').').('.&mt('number').').('.&mt('extension').')'.
       ' Not Allowed</font>');        ' '.&mt('Not Allowed').'</font>');
     return;      return;
  }   }
  if ($newfilename !~ /\Q.$extension\E$/) {   if ($newfilename !~ /\Q.$extension\E$/) {
Line 656  sub NewFile1 { Line 657  sub NewFile1 {
     if($result) {      if($result) {
  $request->print('<font color="red">'.$result.'</font></form>');   $request->print('<font color="red">'.$result.'</font></form>');
     } else {      } else {
  $request->print('<p>Make new file '.&display($newfilename).'?</p>');   $request->print('<p>'.&mt('Make new file').' '.&display($newfilename).'?</p>');
  $request->print('</form>');   $request->print('</form>');
  $request->print('<form action="'.&url($newfilename).   $request->print('<form action="'.&url($newfilename).
  '" method="POST"><p><input type="submit" value="Continue" /></p></form>');   '" method="POST"><p><input type="submit" value="'.&mt('Continue').'" /></p></form>');
  $request->print('<form action="'.&url($fn).   $request->print('<form action="'.&url($fn).
  '" method="POST"><p><input type="submit" value="Cancel" /></p></form>');   '" method="POST"><p><input type="submit" value="'.&mt('Cancel').'" /></p></form>');
     }      }
 }  }
   
Line 713  sub phaseone { Line 714  sub phaseone {
       if($newfilename) {        if($newfilename) {
   &Copy1($r, $uname, $udom, $fn, $newfilename);    &Copy1($r, $uname, $udom, $fn, $newfilename);
       } else {        } else {
   $r->print('<p>No new filename specified.</p></form>');    $r->print('<p>'.&mt('No new filename specified.').'</p></form>');
       }        }
   } elsif ($ENV{'form.action'} eq 'newdir') {    } elsif ($ENV{'form.action'} eq 'newdir') {
       &NewDir1($r, $uname, $udom, $fn, $newfilename);        &NewDir1($r, $uname, $udom, $fn, $newfilename);
Line 728  sub phaseone { Line 729  sub phaseone {
       if ($newfilename) {        if ($newfilename) {
   &NewFile1($r, $uname, $udom, $fn, $newfilename);    &NewFile1($r, $uname, $udom, $fn, $newfilename);
       } else {        } else {
   $r->print('<p>No new filename specified.</p></form>');    $r->print('<p>'.&mt('No new filename specified.').'</p></form>');
       }        }
   }    }
 }  }
Line 780  sub Rename2 { Line 781  sub Rename2 {
       my $oRN=$oldfile;        my $oRN=$oldfile;
       my $nRN=$newfile;        my $nRN=$newfile;
       unless (rename($oldfile,$newfile)) {        unless (rename($oldfile,$newfile)) {
   $request->print('<font color="red">Error: '.$!.'</font>');    $request->print('<font color="red">'.&mt('Error').': '.$!.'</font>');
   return 0;    return 0;
       }        }
       ## If old name.(extension) exits, move under new name.        ## If old name.(extension) exits, move under new name.
Line 815  sub Rename2 { Line 816  sub Rename2 {
   unlink $tmp2;    unlink $tmp2;
       }        }
   } else {    } else {
       $request->print("<p> No such file: ".&display($oldfile).'</p></form>');        $request->print("<p> ".&mt('No such file').": ".&display($oldfile).'</p></form>');
       return 0;        return 0;
   }    }
   return 1;    return 1;
Line 855  sub Delete2 { Line 856  sub Delete2 {
     my @files=readdir(DIR);      my @files=readdir(DIR);
     shift @files; shift @files; # takes off . and ..      shift @files; shift @files; # takes off . and ..
     if(@files) {       if(@files) { 
       $request->print('<font color="red"> Error: Directory Non Empty</font>');         $request->print('<font color="red"> '.&mt('Error: Directory Non Empty').'</font>'); 
       return 0;        return 0;
     }      }
     else {         else {   
       if(-e $filename) {        if(-e $filename) {
         unless(rmdir($filename)) {          unless(rmdir($filename)) {
           $request->print('<font color="red">Error: '.$!.'</font>');            $request->print('<font color="red">'.&mt('Error').': '.$!.'</font>');
           return 0;            return 0;
         }          }
       }        }
       else {        else {
         $request->print('<p> No such file. </p></form');          $request->print('<p> '.&mt('No such file').'. </p></form');
         return 0;          return 0;
       }        }
   
Line 876  sub Delete2 { Line 877  sub Delete2 {
   else {    else {
     if(-e $filename) {      if(-e $filename) {
       unless(unlink($filename)) {        unless(unlink($filename)) {
         $request->print('<font color="red">Error: '.$!.'</font>');          $request->print('<font color="red">'.&mt('Error').': '.$!.'</font>');
         return 0;          return 0;
       }        }
     }      }
     else {      else {
       $request->print('<p> No such file. </p></form');        $request->print('<p> '.&mt('No such file').'. </p></form');
       return 0;        return 0;
   }    }
  }   }
Line 921  sub Copy2 { Line 922  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"> copy Error: '.$!.'</font>');      $request->print('<font color="red"> '.&mt('copy Error').': '.$!.'</font>');
     return 0;      return 0;
  } else {   } else {
     unless (chmod(0660, $newfile)) {      unless (chmod(0660, $newfile)) {
  $request->print('<font color="red"> chmod error: '.$!.'</font>');   $request->print('<font color="red"> '.&mt('chmod error').': '.$!.'</font>');
  return 0;   return 0;
     }      }
     return 1;      return 1;
  }   }
     } else {      } else {
  $request->print('<p> No such file </p>');   $request->print('<p> '.&mt('No such file').' </p>');
  return 0;   return 0;
     }      }
     return 1;      return 1;
Line 962  sub NewDir2 { Line 963  sub NewDir2 {
   my ($request, $user, $newdirectory) = @_;    my ($request, $user, $newdirectory) = @_;
       
   unless(mkdir($newdirectory, 02770)) {    unless(mkdir($newdirectory, 02770)) {
     $request->print('<font color="red">Error: '.$!.'</font>');      $request->print('<font color="red">'.&mt('Error').': '.$!.'</font>');
     return 0;      return 0;
   }    }
   unless(chmod(02770, ($newdirectory))) {    unless(chmod(02770, ($newdirectory))) {
       $request->print('<font color="red"> Error: '.$!.'</font>');        $request->print('<font color="red"> '.&mt('Error').': '.$!.'</font>');
       return 0;        return 0;
   }    }
   return 1;    return 1;
Line 1083  sub phasetwo { Line 1084  sub phasetwo {
     $dest = $ENV{'form.newfilename'};      $dest = $ENV{'form.newfilename'};
             
  } else {   } else {
     $r->print('<p>No New filename specified</p></form>');      $r->print('<p>'.&mt('No New filename specified').'</p></form>');
     return;      return;
  }   }
   
Line 1094  sub phasetwo { Line 1095  sub phasetwo {
  }   }
  $dest = $newdir."/"   $dest = $newdir."/"
     }      }
     $r->print('<h3><a href="'.&url($dest).'">Done</a></h3>');      $r->print('<h3><a href="'.&url($dest).'">'.&mt('Done').'</a></h3>');
 }  }
   
 sub handler {  sub handler {
Line 1167  sub handler { Line 1168  sub handler {
   $r->print(&Apache::loncommon::bodytag('Construction Space File Operation'));    $r->print(&Apache::loncommon::bodytag('Construction Space File Operation'));
   
       
   $r->print('<h3>Location: '.&display($fn).'</h3>');    $r->print('<h3>'.&mt('Location').': '.&display($fn).'</h3>');
       
   if (($uname ne $ENV{'user.name'}) || ($udom ne $ENV{'user.domain'})) {    if (($uname ne $ENV{'user.name'}) || ($udom ne $ENV{'user.domain'})) {
           $r->print('<h3><font color="red">Co-Author: '.$uname.' at '.$udom.            $r->print('<h3><font color="red">'.&mt('Co-Author').': '.$uname.' at '.$udom.
                '</font></h3>');                 '</font></h3>');
   }    }
   
Line 1178  sub handler { Line 1179  sub handler {
   &Debug($r, "loncfile::handler Form action is $ENV{'form.action'} ");    &Debug($r, "loncfile::handler Form action is $ENV{'form.action'} ");
   if ($ENV{'form.action'} eq 'delete') {    if ($ENV{'form.action'} eq 'delete') {
               
       $r->print('<h3>Delete</h3>');        $r->print('<h3>'.&mt('Delete').'</h3>');
   } elsif ($ENV{'form.action'} eq 'rename') {    } elsif ($ENV{'form.action'} eq 'rename') {
       $r->print('<h3>Rename</h3>');        $r->print('<h3>'.&mt('Rename').'</h3>');
   } elsif ($ENV{'form.action'} eq 'newdir') {    } elsif ($ENV{'form.action'} eq 'newdir') {
       $r->print('<h3>New Directory</h3>');        $r->print('<h3>'.&mt('New Directory').'</h3>');
   } elsif ($ENV{'form.action'} eq 'decompress') {    } elsif ($ENV{'form.action'} eq 'decompress') {
       $r->print('<h3>Decompress</h3>');        $r->print('<h3>'.&mt('Decompress').'</h3>');
   } elsif ($ENV{'form.action'} eq 'copy') {    } elsif ($ENV{'form.action'} eq 'copy') {
       $r->print('<h3>Copy</h3>');        $r->print('<h3>'.&mt('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' ||
Line 1195  sub handler { Line 1196  sub handler {
    $ENV{'form.action'} eq 'newrightsfile' ||     $ENV{'form.action'} eq 'newrightsfile' ||
    $ENV{'form.action'} eq 'newstyfile' ||     $ENV{'form.action'} eq 'newstyfile' ||
            $ENV{'form.action'} eq 'Select Action' ) {             $ENV{'form.action'} eq 'Select Action' ) {
       $r->print('<h3>New Resource</h3>');        $r->print('<h3>'.&mt('New Resource').'</h3>');
   } else {    } else {
      $r->print('<p>Unknown Action '.$ENV{'form.action'}.' </p></body></html>');       $r->print('<p>'.&mt('Unknown Action').' '.$ENV{'form.action'}.' </p></body></html>');
      return OK;         return OK;  
   }    }
   if ($ENV{'form.phase'} eq 'two') {    if ($ENV{'form.phase'} eq 'two') {

Removed from v.1.46  
changed lines
  Added in v.1.47


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