Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
02/03/2010 09:06:27 PM (16 years ago)
Author:
apeatling
Message:

Fixes #1551 - also safeguarded all foreach loops with an array typecast.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-core/bp-core-classes.php

    r2533 r2576  
    181181
    182182        /* Get paginated results */
    183         $paged_users = $wpdb->get_results( $wpdb->prepare( join( ' ', (array)$sql ) ) );
     183        $paged_users = $wpdb->get_results( join( ' ', (array)$sql ) );
    184184
    185185        /* Re-jig the SQL so we can get the total user count */
     
    201201
    202202        /* Get total user results */
    203         $total_users = $wpdb->get_var( $wpdb->prepare( join( ' ', (array)$sql ) ) );
     203        $total_users = $wpdb->get_var( join( ' ', (array)$sql ) );
    204204
    205205        /***
     
    207207         * We can't add these to the main query above since only users who have this information will be returned (since the much of the data is in usermeta and won't support any type of directional join)
    208208         */
    209         foreach ( $paged_users as $user )
     209        foreach ( (array)$paged_users as $user )
    210210            $user_ids[] = $user->id;
    211211
     
    241241         * We can't add these to the main query above since only users who have this information will be returned (since the much of the data is in usermeta and won't support any type of directional join)
    242242         */
    243         foreach ( $paged_users as $user )
     243        foreach ( (array)$paged_users as $user )
    244244            $user_ids[] = $user->id;
    245245
     
    300300         * We can't add these to the main query above since only users who have this information will be returned (since the much of the data is in usermeta and won't support any type of directional join)
    301301         */
    302         foreach ( $paged_users as $user )
     302        foreach ( (array)$paged_users as $user )
    303303            $user_ids[] = $user->id;
    304304
     
    322322            $names = $wpdb->get_results( $wpdb->prepare( "SELECT pd.user_id as id, pd.value as fullname FROM {$bp->profile->table_name_fields} pf, {$bp->profile->table_name_data} pd WHERE pf.id = pd.field_id AND pf.name = %s AND pd.user_id IN ( {$user_ids} )", BP_XPROFILE_FULLNAME_FIELD_NAME ) );
    323323            for ( $i = 0; $i < count( $paged_users ); $i++ ) {
    324                 foreach ( $names as $name ) {
     324                foreach ( (array)$names as $name ) {
    325325                    if ( $name->id == $paged_users[$i]->id )
    326326                        $paged_users[$i]->fullname = $name->fullname;
     
    333333            $friend_count = $wpdb->get_results( "SELECT user_id as id, meta_value as total_friend_count FROM " . CUSTOM_USER_META_TABLE . " WHERE meta_key = 'total_friend_count' AND user_id IN ( {$user_ids} )" );
    334334            for ( $i = 0; $i < count( $paged_users ); $i++ ) {
    335                 foreach ( $friend_count as $count ) {
     335                foreach ( (array)$friend_count as $count ) {
    336336                    if ( $count->id == $paged_users[$i]->id )
    337337                        $paged_users[$i]->total_friend_count = (int)$count->total_friend_count;
     
    344344            $friend_status = $wpdb->get_results( $wpdb->prepare( "SELECT initiator_user_id, friend_user_id, is_confirmed FROM {$bp->friends->table_name} WHERE (initiator_user_id = %d AND friend_user_id IN ( {$user_ids} ) ) OR (initiator_user_id IN ( {$user_ids} ) AND friend_user_id = %d )", $bp->loggedin_user->id, $bp->loggedin_user->id ) );
    345345            for ( $i = 0; $i < count( $paged_users ); $i++ ) {
    346                 foreach ( $friend_status as $status ) {
     346                foreach ( (array)$friend_status as $status ) {
    347347                    if ( $status->initiator_user_id == $paged_users[$i]->id || $status->friend_user_id == $paged_users[$i]->id )
    348348                        $paged_users[$i]->is_friend = $status->is_confirmed;
     
    354354            $user_activity = $wpdb->get_results( "SELECT user_id as id, meta_value as last_activity FROM " . CUSTOM_USER_META_TABLE . " WHERE meta_key = 'last_activity' AND user_id IN ( {$user_ids} )" );
    355355            for ( $i = 0; $i < count( $paged_users ); $i++ ) {
    356                 foreach ( $user_activity as $activity ) {
     356                foreach ( (array)$user_activity as $activity ) {
    357357                    if ( $activity->id == $paged_users[$i]->id )
    358358                        $paged_users[$i]->last_activity = $activity->last_activity;
     
    365365            $user_activity = $wpdb->get_results( "SELECT user_id as id, meta_value as last_activity FROM " . CUSTOM_USER_META_TABLE . " WHERE meta_key = 'last_activity' AND user_id IN ( {$user_ids} )" );
    366366            for ( $i = 0; $i < count( $paged_users ); $i++ ) {
    367                 foreach ( $user_activity as $activity ) {
     367                foreach ( (array)$user_activity as $activity ) {
    368368                    if ( $activity->id == $paged_users[$i]->id )
    369369                        $paged_users[$i]->last_activity = $activity->last_activity;
     
    375375        $user_update = $wpdb->get_results( "SELECT user_id as id, meta_value as latest_update FROM " . CUSTOM_USER_META_TABLE . " WHERE meta_key = 'bp_latest_update' AND user_id IN ( {$user_ids} )" );
    376376        for ( $i = 0; $i < count( $paged_users ); $i++ ) {
    377             foreach ( $user_update as $update ) {
     377            foreach ( (array)$user_update as $update ) {
    378378                if ( $update->id == $paged_users[$i]->id )
    379379                    $paged_users[$i]->latest_update = $update->latest_update;
Note: See TracChangeset for help on using the changeset viewer.