WordPress.org

Plugin Directory

Changeset 615856


Ignore:
Timestamp:
10/23/12 00:18:03 (18 months ago)
Author:
jblz
Message:

Jetpack: When choosing a new master user in user_role_change make sure the new master user is linked

  • Modify Jetpack->is_user_connected() to accept a $user_id param to support the above.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • jetpack/trunk/jetpack.php

    r615835 r615856  
    271271 
    272272    /** 
    273      * Is the current user linked to a WordPress.com user? 
    274      */ 
    275     function is_user_connected() { 
    276         return (bool) Jetpack_Data::get_access_token( get_current_user_id() ); 
     273     * Is a given user (or the current user if none is specified) linked to a WordPress.com user? 
     274     */ 
     275    function is_user_connected( $user_id = false ) { 
     276        $user_id = false === $user_id ? get_current_user_id() : absint( $user_id ); 
     277        if ( !$user_id ) { 
     278            return false; 
     279        } 
     280        return (bool) Jetpack_Data::get_access_token( $user_id ); 
    277281    } 
    278282 
     
    310314                        'orderby' => 'id', 
    311315                        'exclude' => array( $master_user_id ), 
    312                         'number'  => 1, 
    313316                    ) 
    314317                ); 
    315                 $new_master = isset( $query->results[0]->id ) ? absint( $query->results[0]->id ) : 0; 
     318                $new_master = false; 
     319                foreach ( $query->results as $result ) { 
     320                    $uid = absint( $result->id ); 
     321                    if ( $uid && $this->is_user_connected( $uid ) ) { 
     322                        $new_master = $uid; 
     323                        break; 
     324                    } 
     325                } 
     326 
    316327                if ( $new_master ) { 
    317328                    Jetpack::update_option( 'master_user', $new_master ); 
    318329                } 
     330                // else disconnect..? 
    319331            } 
    320332        } 
Note: See TracChangeset for help on using the changeset viewer.