Always return upload directory information from wp_upload_dir(), even if there is an error. Append the error to the array. see #19235.
git-svn-id: http://core.svn.wordpress.org/trunk@21822 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
3ebb9b4538
commit
bc6087bc98
|
@ -1467,8 +1467,8 @@ function wp_upload_dir( $time = null ) {
|
||||||
$url = str_replace( UPLOADS, 'files', $url );
|
$url = str_replace( UPLOADS, 'files', $url );
|
||||||
}
|
}
|
||||||
|
|
||||||
$bdir = $dir;
|
$basedir = $dir;
|
||||||
$burl = $url;
|
$baseurl = $url;
|
||||||
|
|
||||||
$subdir = '';
|
$subdir = '';
|
||||||
if ( get_option( 'uploads_use_yearmonth_folders' ) ) {
|
if ( get_option( 'uploads_use_yearmonth_folders' ) ) {
|
||||||
|
@ -1483,12 +1483,20 @@ function wp_upload_dir( $time = null ) {
|
||||||
$dir .= $subdir;
|
$dir .= $subdir;
|
||||||
$url .= $subdir;
|
$url .= $subdir;
|
||||||
|
|
||||||
$uploads = apply_filters( 'upload_dir', array( 'path' => $dir, 'url' => $url, 'subdir' => $subdir, 'basedir' => $bdir, 'baseurl' => $burl, 'error' => false ) );
|
$uploads = apply_filters( 'upload_dir',
|
||||||
|
array(
|
||||||
|
'path' => $dir,
|
||||||
|
'url' => $url,
|
||||||
|
'subdir' => $subdir,
|
||||||
|
'basedir' => $basedir,
|
||||||
|
'baseurl' => $baseurl,
|
||||||
|
'error' => false,
|
||||||
|
) );
|
||||||
|
|
||||||
// Make sure we have an uploads dir
|
// Make sure we have an uploads dir
|
||||||
if ( ! wp_mkdir_p( $uploads['path'] ) ) {
|
if ( ! wp_mkdir_p( $uploads['path'] ) ) {
|
||||||
$message = sprintf( __( 'Unable to create directory %s. Is its parent directory writable by the server?' ), $uploads['path'] );
|
$message = sprintf( __( 'Unable to create directory %s. Is its parent directory writable by the server?' ), $uploads['path'] );
|
||||||
return array( 'error' => $message );
|
$uploads['error'] = $message;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $uploads;
|
return $uploads;
|
||||||
|
|
|
@ -223,11 +223,10 @@ function update_attached_file( $attachment_id, $file ) {
|
||||||
function _wp_relative_upload_path( $path ) {
|
function _wp_relative_upload_path( $path ) {
|
||||||
$new_path = $path;
|
$new_path = $path;
|
||||||
|
|
||||||
if ( ($uploads = wp_upload_dir()) && false === $uploads['error'] ) {
|
$uploads = wp_upload_dir();
|
||||||
if ( 0 === strpos($new_path, $uploads['basedir']) ) {
|
if ( 0 === strpos( $new_path, $uploads['basedir'] ) ) {
|
||||||
$new_path = str_replace($uploads['basedir'], '', $new_path);
|
$new_path = str_replace( $uploads['basedir'], '', $new_path );
|
||||||
$new_path = ltrim($new_path, '/');
|
$new_path = ltrim( $new_path, '/' );
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return apply_filters( '_wp_relative_upload_path', $new_path, $path );
|
return apply_filters( '_wp_relative_upload_path', $new_path, $path );
|
||||||
|
|
Loading…
Reference in New Issue