--- docman.php 2000/08/04 10:13:10 1.7 +++ docman.php 2000/08/04 10:20:22 1.8 @@ -1071,7 +1071,7 @@ ////////////////////////////////////////////////////////////////// function redir_to_url($url) { - $url=urlencode(StripSlashes("$relDir/$F")); + $url=urlencode(StripSlashes("$url")); $url=str_replace("%2F","/",$url); $url=str_replace("+","%20",$url); Header("Location: $url"); @@ -1079,6 +1079,14 @@ ////////////////////////////////////////////////////////////////// +function safe_rename($from,$to) { + if (file_exists($from) && is_writable(dirname($to))) { + rename($from,$to); + } +} + +////////////////////////////////////////////////////////////////// + // MAIN PROGRAM // ============ // query parameters: capital letters @@ -1276,10 +1284,10 @@ if ( $CONFIRM != "on" ) break ; Logit("$fsDir/$FN","renamed $FN to $NEWNAME"); - rename("$fsDir/$FN","$fsDir/$NEWNAME"); - rename("$fsDir/.log/$FN","$fsDir/.log/$NEWNAME"); - rename("$fsDir/.note/$FN","$fsDir/.note/$NEWNAME"); - rename("$fsDir/.lock/$FN","$fsDir/.lock/$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"); break ;