WordPress.org

Make WordPress Core

Ticket #21120: 21120.6.diff

File 21120.6.diff, 2.6 KB (added by SergeyBiryukov, 3 years ago)
  • wp-includes/capabilities.php

     
    10171017                } 
    10181018 
    10191019                if ( '' != $post->post_author ) { 
    1020                         $post_author_data = get_userdata( $post->post_author ); 
     1020                        if ( get_current_user_id() == $post->post_author ) 
     1021                                $post_author_data = wp_get_current_user(); 
     1022                        else 
     1023                                $post_author_data = get_userdata( $post->post_author ); 
    10211024                } else { 
    10221025                        // No author set yet, so default to current user for cap checks. 
    1023                         $post_author_data = get_userdata( $user_id ); 
     1026                        if ( get_current_user_id() == $user_id ) 
     1027                                $post_author_data = wp_get_current_user(); 
     1028                        else 
     1029                                $post_author_data = get_userdata( $user_id ); 
    10241030                } 
    10251031 
    10261032                // If the user is the author... 
     
    10661072                } 
    10671073 
    10681074                if ( '' != $post->post_author ) { 
    1069                         $post_author_data = get_userdata( $post->post_author ); 
     1075                        if ( get_current_user_id() == $post->post_author ) 
     1076                                $post_author_data = wp_get_current_user(); 
     1077                        else 
     1078                                $post_author_data = get_userdata( $post->post_author ); 
    10701079                } else { 
    10711080                        // No author set yet, so default to current user for cap checks. 
    1072                         $post_author_data = get_userdata( $user_id ); 
     1081                        if ( get_current_user_id() == $user_id ) 
     1082                                $post_author_data = wp_get_current_user(); 
     1083                        else 
     1084                                $post_author_data = get_userdata( $user_id ); 
    10731085                } 
    10741086 
    10751087                //echo "current user id : $user_id, post author id: " . $post_author_data->ID . "<br />"; 
     
    11201132                } 
    11211133 
    11221134                if ( '' != $post->post_author ) { 
    1123                         $post_author_data = get_userdata( $post->post_author ); 
     1135                        if ( get_current_user_id() == $post->post_author ) 
     1136                                $post_author_data = wp_get_current_user(); 
     1137                        else 
     1138                                $post_author_data = get_userdata( $post->post_author ); 
    11241139                } else { 
    11251140                        // No author set yet, so default to current user for cap checks. 
    1126                         $post_author_data = get_userdata( $user_id ); 
     1141                        if ( get_current_user_id() == $user_id ) 
     1142                                $post_author_data = wp_get_current_user(); 
     1143                        else 
     1144                                $post_author_data = get_userdata( $user_id ); 
    11271145                } 
    11281146 
    11291147                if ( is_object( $post_author_data ) && $user_id == $post_author_data->ID ) 
     
    14231441 * @return bool True if the user is a site admin. 
    14241442 */ 
    14251443function is_super_admin( $user_id = false ) { 
    1426         if ( ! $user_id ) 
    1427                 $user_id = get_current_user_id(); 
     1444        if ( ! $user_id || get_current_user_id() == $user_id ) 
     1445                $user = wp_get_current_user(); 
     1446        else 
     1447                $user = get_userdata( $user_id ); 
    14281448 
    1429         if ( ! $user = get_userdata( $user_id ) ) 
     1449        if ( ! $user ) 
    14301450                return false; 
    14311451 
    14321452        if ( is_multisite() ) {