summaryrefslogtreecommitdiffstats
path: root/wp-includes/post.php
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2006-09-11 15:20:48 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2006-09-11 15:20:48 +0000
commit91c2d227e28206ec57d2b857822d90b11af256d3 (patch)
treeb5eb7cf33ac2251d358b16b6d62af570d69aa224 /wp-includes/post.php
parent93b61271ad288c6031c6b33405711e89a1575be2 (diff)
downloadwordpress-mu-91c2d227e28206ec57d2b857822d90b11af256d3.tar.gz
wordpress-mu-91c2d227e28206ec57d2b857822d90b11af256d3.tar.xz
wordpress-mu-91c2d227e28206ec57d2b857822d90b11af256d3.zip
WP Merge to 4182
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@736 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-includes/post.php')
-rw-r--r--wp-includes/post.php31
1 files changed, 29 insertions, 2 deletions
diff --git a/wp-includes/post.php b/wp-includes/post.php
index ebb1799..1894225 100644
--- a/wp-includes/post.php
+++ b/wp-includes/post.php
@@ -507,7 +507,7 @@ function wp_insert_post($postarr = array()) {
$ping_status = apply_filters('ping_status_pre', $ping_status);
}
- if ( ('' == $post_content) && ('' == $post_title) )
+ if ( ('' == $post_content) && ('' == $post_title) && ('' == $post_excerpt) )
return 0;
// Make sure we set a valid category
@@ -1037,7 +1037,7 @@ function &get_pages($args = '') {
parse_str($args, $r);
$defaults = array('child_of' => 0, 'sort_order' => 'ASC', 'sort_column' => 'post_title',
- 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'meta_key' => '', 'meta_value' => '');
+ 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'meta_key' => '', 'meta_value' => '', 'authors' => '');
$r = array_merge($defaults, $r);
extract($r);
@@ -1075,10 +1075,37 @@ function &get_pages($args = '') {
if (!empty($exclusions))
$exclusions .= ')';
+ $author_query = '';
+ if (!empty($authors)) {
+ $post_authors = preg_split('/[\s,]+/',$authors);
+
+ if ( count($post_authors) ) {
+ foreach ( $post_authors as $post_author ) {
+ //Do we have an author id or an author login?
+ if ( 0 == intval($post_author) ) {
+ $post_author = get_userdatabylogin($post_author);
+ if ( empty($post_author) )
+ continue;
+ if ( empty($post_author->ID) )
+ continue;
+ $post_author = $post_author->ID;
+ }
+
+ if ( '' == $author_query )
+ $author_query = ' post_author = ' . intval($post_author) . ' ';
+ else
+ $author_query .= ' OR post_author = ' . intval($post_author) . ' ';
+ }
+ if ( '' != $author_query )
+ $author_query = " AND ($author_query)";
+ }
+ }
+
$query = "SELECT * FROM $wpdb->posts " ;
$query .= ( empty( $meta_key ) ? "" : ", $wpdb->postmeta " ) ;
$query .= " WHERE (post_type = 'page' AND post_status = 'publish') $exclusions $inclusions " ;
$query .= ( empty( $meta_key ) | empty($meta_value) ? "" : " AND ($wpdb->posts.ID = $wpdb->postmeta.post_id AND $wpdb->postmeta.meta_key = '$meta_key' AND $wpdb->postmeta.meta_value = '$meta_value' )" ) ;
+ $query .= $author_query;
$query .= " ORDER BY " . $sort_column . " " . $sort_order ;
$pages = $wpdb->get_results($query);