diff options
| author | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2005-11-07 09:22:04 +0000 |
|---|---|---|
| committer | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2005-11-07 09:22:04 +0000 |
| commit | 2deb7ed927ba4f38c7920e1d0fb82a85edc031fd (patch) | |
| tree | 6e3f9b353a79a10e67602b88be98a274bcc8dfe0 /wp-inst/wp-includes/classes.php | |
| parent | 99532e55fc2d3de5c265bc36976664d1eedbe2ea (diff) | |
| download | wordpress-mu-2deb7ed927ba4f38c7920e1d0fb82a85edc031fd.tar.gz wordpress-mu-2deb7ed927ba4f38c7920e1d0fb82a85edc031fd.tar.xz wordpress-mu-2deb7ed927ba4f38c7920e1d0fb82a85edc031fd.zip | |
Massive WP Merge
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@417 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-inst/wp-includes/classes.php')
| -rw-r--r-- | wp-inst/wp-includes/classes.php | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/wp-inst/wp-includes/classes.php b/wp-inst/wp-includes/classes.php index cb52017..2bcef47 100644 --- a/wp-inst/wp-includes/classes.php +++ b/wp-inst/wp-includes/classes.php @@ -13,6 +13,7 @@ class WP_Query { var $post; var $is_single = false; + var $is_preview = false; var $is_page = false; var $is_archive = false; var $is_date = false; @@ -534,8 +535,10 @@ class WP_Query { } $now = gmdate('Y-m-d H:i:59'); - - if ($pagenow != 'post.php' && $pagenow != 'edit.php') { + + //only select past-dated posts, except if a logged in user is viewing a single: then, if they + //can edit the post, we let them through + if ($pagenow != 'post.php' && $pagenow != 'edit.php' && !($this->is_single && $user_ID)) { $where .= " AND post_date_gmt <= '$now'"; $distinct = 'DISTINCT'; } @@ -609,13 +612,23 @@ class WP_Query { } else { if ('draft' == $status) { // User must have edit permissions on the draft to preview. - if (! user_can_edit_post($user_ID, $this->posts[0]->ID)) + if (! user_can_edit_post($user_ID, $this->posts[0]->ID)) { $this->posts = array(); + } else { + $this->is_preview = true; + } } elseif ('private' == $status) { if ($this->posts[0]->post_author != $user_ID) $this->posts = array(); } } + } else { + if (mysql2date('U', $this->posts[0]->post_date) > mysql2date('U', $now)) { //it's future dated + $this->is_preview = true; + if (!current_user_can('edit_post', $this->posts[0]->ID)) { + $this->posts = array ( ); + } + } } } |
