xmlrpc updates from Joseph Scott.

git-svn-id: http://svn.automattic.com/wordpress/trunk@4961 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan
2007-03-03 16:56:46 +00:00
parent b7f6a96abb
commit 7f1945b310
2 changed files with 58 additions and 17 deletions

View File

@@ -1115,17 +1115,28 @@ function wp_upload_bits($name, $type, $bits, $overwrite = false) {
$ext = '';
else
$ext = ".$ext";
while ( file_exists($upload['path'] . "/$filename") && !$overwrite ) {
while ( file_exists($upload['path'] . "/$filename") ) {
if ( '' == "$number$ext" )
$filename = $filename . ++$number . $ext;
else
$filename = str_replace("$number$ext", ++$number . $ext, $filename);
}
$new_file = $upload['path'] . "/$filename";
if ( ! wp_mkdir_p( dirname($new_file) ) ) {
$message = sprintf(__('Unable to create directory %s. Is its parent directory writable by the server?'), dirname($new_file));
return array('error' => $message);
// If we are asked to over write the file then make sure
// the $name has the complete path and is writable.
if($overwrite) {
if(!is_writable($name)) {
return(array("error" => __("Can not over write file.")));
}
$new_file = $name;
$filename = basename($name);
}
else {
$new_file = $upload['path'] . "/$filename";
if ( ! wp_mkdir_p( dirname($new_file) ) ) {
$message = sprintf(__('Unable to create directory %s. Is its parent directory writable by the server?'), dirname($new_file));
return array('error' => $message);
}
}
$ifp = @ fopen($new_file, 'wb');
@@ -1140,8 +1151,11 @@ function wp_upload_bits($name, $type, $bits, $overwrite = false) {
$perms = $perms & 0000666;
@ chmod($new_file, $perms);
// Compute the URL
// Compute the URL if this is a new file.
$url = $upload['url'] . "/$filename";
if($overwrite) {
$url = $name;
}
return array('file' => $new_file, 'url' => $url, 'error' => false);
}