summaryrefslogtreecommitdiffstats
path: root/wp-inst/wp-includes/functions-post.php
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2005-12-05 15:29:53 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2005-12-05 15:29:53 +0000
commit3055390b6908c8335d154dd8e4dfa374b7fa3783 (patch)
treeed05c0516b4cf40831ae49a747946fcfd9162b7f /wp-inst/wp-includes/functions-post.php
parentfba798a103256f5f400cb1a1dcb9cc5b45cf8166 (diff)
downloadwordpress-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.php45
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");