WordPress.org

Make WordPress Core

Ticket #759: postauthor_post.diff

File postauthor_post.diff, 1.4 KB (added by coffee2code, 10 years ago)
  • post.php

    old new  
    4444        if ( isset($_POST['menu_order']) ) 
    4545                $menu_order = $_POST['menu_order']; 
    4646 
     47        if (! empty($_POST['post_author_override'])) { 
     48                $post_author = (int) $_POST['post_author_override']; 
     49        } else if (! empty($_POST['post_author'])) { 
     50                $post_author = (int) $_POST['post_author']; 
     51        } else { 
     52                $post_author = (int) $_POST['user_ID']; 
     53        } 
     54        if ( !user_can_edit_user($user_ID, $post_author) ) 
     55                die( __('You cannot post as this user.') ); 
     56 
    4757        if ( empty($post_status) ) 
    4858                $post_status = 'draft'; 
    4959        // Double-check 
     
    97107        $postquery ="INSERT INTO $wpdb->posts 
    98108                        (ID, post_author, post_date, post_date_gmt, post_content, post_title, post_excerpt,  post_status, comment_status, ping_status, post_password, post_name, to_ping, post_modified, post_modified_gmt, post_parent, menu_order) 
    99109                        VALUES 
    100                         ('$post_ID', '$user_ID', '$now', '$now_gmt', '$content', '$post_title', '$excerpt', '$post_status', '$comment_status', '$ping_status', '$post_password', '$post_name', '$trackback', '$now', '$now_gmt', '$post_parent', '$menu_order') 
     110                        ('$post_ID', '$post_author', '$now', '$now_gmt', '$content', '$post_title', '$excerpt', '$post_status', '$comment_status', '$ping_status', '$post_password', '$post_name', '$trackback', '$now', '$now_gmt', '$post_parent', '$menu_order') 
    101111                        "; 
    102112 
    103113        $result = $wpdb->query($postquery);