--- docman.php 2001/02/15 22:14:21 1.33 +++ docman.php 2001/02/23 11:51:39 1.34 @@ -1055,12 +1055,40 @@ ////////////////////////////////////////////////////////////////// -function safe_rename($from,$to) { - if (file_exists($from) && is_writable(dirname($to))) { - rename($from,$to); +function safe_rename($fromdir,$fromfile,$tofile) { + function try_rename($from,$to) { + print "$from -> $to\n"; + if (file_exists($from) && is_writable(dirname($to))) { + rename($from,$to); + } + } + + function try_dir($todir) { + if (! file_exists($todir)) { + mkdir($todir,0700); + } + } + + $to="$fromdir/$tofile"; + $todir=dirname($to); + $tofile=basename($to); + + print "
$fromdir / $fromfile -> $todir / $tofile\n\n"; + + try_rename("$fromdir/$fromfile","$todir/$tofile"); + try_dir("$todir/.log"); + try_rename("$fromdir/.log/$fromfile","$todir/.log/$tofile"); + try_dir("$todir/.note"); + try_rename("$fromdir/.note/$fromfile","$todir/.note/$tofile"); + try_dir("$todir/.lock"); + try_rename("$fromdir/.lock/$fromfile","$todir/.lock/$tofile"); + try_dir("$todir/.bak"); + for($i=0;$i<=$GLOBALS[gblNumBackups];$i++) { + try_rename("$fromdir/.bak/$i/$fromfile","$todir/.bak/$i/$tofile"); } } + ////////////////////////////////////////////////////////////////// // recursivly delete directory @@ -1365,14 +1393,7 @@ if ( $CONFIRM != "on" ) break ; Logit("$fsDir/$FN","renamed $FN to $NEWNAME"); - safe_rename("$fsDir/$FN","$fsDir/$NEWNAME"); - safe_rename("$fsDir/.log/$FN","$fsDir/.log/$NEWNAME"); - safe_rename("$fsDir/.note/$FN","$fsDir/.note/$NEWNAME"); - safe_rename("$fsDir/.lock/$FN","$fsDir/.lock/$NEWNAME"); - for($i=0;$i<=$GLOBALS[gblNumBackups];$i++) { - safe_rename("$fsDir/.bak/$i/$FN","$fsDir/.bak/$i/$NEWNAME"); - } - + safe_rename($fsDir,$FN,$NEWNAME); break ; case "NOTE" :