WordPress.org

Make WordPress Core

Ticket #21120: 21120.6.diff

File 21120.6.diff, 2.6 KB (added by SergeyBiryukov, 6 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() ) {