diff options
| author | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2005-12-05 15:29:53 +0000 |
|---|---|---|
| committer | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2005-12-05 15:29:53 +0000 |
| commit | 3055390b6908c8335d154dd8e4dfa374b7fa3783 (patch) | |
| tree | ed05c0516b4cf40831ae49a747946fcfd9162b7f /wp-inst/wp-includes/functions-post.php | |
| parent | fba798a103256f5f400cb1a1dcb9cc5b45cf8166 (diff) | |
| download | wordpress-mu-3055390b6908c8335d154dd8e4dfa374b7fa3783.tar.gz wordpress-mu-3055390b6908c8335d154dd8e4dfa374b7fa3783.tar.xz wordpress-mu-3055390b6908c8335d154dd8e4dfa374b7fa3783.zip | |
WP Merge
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@461 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-inst/wp-includes/functions-post.php')
| -rw-r--r-- | wp-inst/wp-includes/functions-post.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/wp-inst/wp-includes/functions-post.php b/wp-inst/wp-includes/functions-post.php index 38c1cfe..15416f3 100644 --- a/wp-inst/wp-includes/functions-post.php +++ b/wp-inst/wp-includes/functions-post.php @@ -779,6 +779,51 @@ function get_attached_file($attachment_id) { return get_post_meta($attachment_id, '_wp_attached_file', true); } +// Returns an array containing the current upload directory's path and url, or an error message. +function wp_upload_dir() { + if ( defined('UPLOADS') ) + $dir = UPLOADS; + else + $dir = 'wp-content/uploads'; + + $path = ABSPATH . $dir; + + // Give the new dirs the same perms as wp-content. + $stat = stat(ABSPATH . 'wp-content'); + $dir_perms = $stat['mode'] & 0000777; // Get the permission bits. + + // Make sure we have an uploads dir + if ( ! file_exists( $path ) ) { + if ( ! mkdir( $path ) ) + return array('error' => "Unable to create directory $path. Is its parent directory writable by the server?"); + @ chmod( $path, $dir_perms ); + } + + // Generate the yearly and monthly dirs + $time = current_time( 'mysql' ); + $y = substr( $time, 0, 4 ); + $m = substr( $time, 5, 2 ); + $pathy = "$path/$y"; + $pathym = "$path/$y/$m"; + + // Make sure we have a yearly dir + if ( ! file_exists( $pathy ) ) { + if ( ! mkdir( $pathy ) ) + return array('error' => "Unable to create directory $pathy. Is $path writable?"); + @ chmod( $pathy, $dir_perms ); + } + + // Make sure we have a monthly dir + if ( ! file_exists( $pathym ) ) { + if ( ! mkdir( $pathym ) ) + return array('error' => "Unable to create directory $pathym. Is $pathy writable?"); + @ chmod( $pathym, $dir_perms ); + } + + $uploads = array('path' => $pathym, 'url' => get_option('siteurl') . "/$dir/$y/$m", 'error' => false); + return apply_filters('upload_dir', $uploads); +} + function wp_upload_bits($name, $type, $bits) { if ( empty($name) ) return array('error' => "Empty filename"); |
