Skip to:
Content

BuddyPress.org

Ticket #4989: 4898.patch

File 4898.patch, 4.5 KB (added by johnjamesjacoby, 11 years ago)
  • bp-groups/bp-groups-classes.php

     
    371371                        $sql['user'] = $wpdb->prepare( " AND m.user_id = %d AND m.is_confirmed = 1 AND m.is_banned = 0", $user_id );
    372372
    373373                if ( !empty( $include ) ) {
    374                         if ( is_array( $include ) )
    375                                 $include = implode( ',', $include );
    376 
    377                         $include = $wpdb->escape( $include );
     374                        $include        = wp_parse_id_list( $r['include'] );
     375                        $include        = $wpdb->escape( implode( ',', $include ) );
    378376                        $sql['include'] = " AND g.id IN ({$include})";
    379377                }
    380378
    381379                if ( !empty( $exclude ) ) {
    382                         if ( is_array( $exclude ) )
    383                                 $exclude = implode( ',', $exclude );
    384 
    385                         $exclude = $wpdb->escape( $exclude );
     380                        $exclude        = wp_parse_id_list( $r['exclude'] );
     381                        $exclude        = $wpdb->escape( implode( ',', $exclude ) );
    386382                        $sql['exclude'] = " AND g.id NOT IN ({$exclude})";
    387383                }
    388384
     
    484480                }
    485481
    486482                if ( !empty( $exclude ) ) {
    487                         $exclude = $wpdb->escape( $exclude );
    488                         $exclude_sql = " AND g.id NOT IN ({$exclude})";
     483                        $exclude     = wp_parse_id_list( $exclude );
     484                        $exclude_sql = $wpdb->prepare( " AND g.id NOT IN (%s)", implode( ',', $exclude ) );
    489485                }
    490486
    491487                if ( !empty( $user_id ) ) {
     
    525521                }
    526522
    527523                if ( !empty( $exclude ) ) {
    528                         $exclude = $wpdb->escape( $exclude );
    529                         $exclude_sql = " AND g.id NOT IN ({$exclude})";
     524                        $exclude     = wp_parse_id_list( $exclude );
     525                        $exclude_sql = $wpdb->prepare( " AND g.id NOT IN (%s)", implode( ',', $exclude ) );
    530526                }
    531527
    532528                if ( !empty( $user_id ) ) {
     
    562558                }
    563559
    564560                if ( !empty( $exclude ) ) {
    565                         $exclude = $wpdb->escape( $exclude );
    566                         $exclude_sql = " AND g.id NOT IN ({$exclude})";
     561                        $exclude     = wp_parse_id_list( $exclude );
     562                        $exclude_sql = $wpdb->prepare( " AND g.id NOT IN (%s)", implode( ',', $exclude ) );
    567563                }
    568564
    569565                if ( !bp_current_user_can( 'bp_moderate' ) )
     
    606602                }
    607603
    608604                if ( !empty( $exclude ) ) {
    609                         $exclude = $wpdb->escape( $exclude );
    610                         $exclude_sql = " AND g.id NOT IN ({$exclude})";
     605                        $exclude     = wp_parse_id_list( $exclude );
     606                        $exclude_sql = $wpdb->prepare( " AND g.id NOT IN (%s)", implode( ',', $exclude ) );
    611607                }
    612608
    613609                if ( !empty( $user_id ) ) {
     
    10721068
    10731069                $pag_sql = ( !empty( $limit ) && !empty( $page ) ) ? $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) ) : '';
    10741070
    1075                 $exclude_sql = !empty( $exclude ) ? $wpdb->prepare( " AND g.id NOT IN (%s)", $exclude ) : '';
     1071                if ( !empty( $exclude ) ) {
     1072                        $exclude     = wp_parse_id_list( $exclude );
     1073                        $exclude_sql = $wpdb->prepare( " AND g.id NOT IN (%s)", implode( ',', $exclude ) );
     1074                }
    10761075
    10771076                $paged_groups = $wpdb->get_results( $wpdb->prepare( "SELECT g.*, gm1.meta_value as total_member_count, gm2.meta_value as last_activity FROM {$bp->groups->table_name_groupmeta} gm1, {$bp->groups->table_name_groupmeta} gm2, {$bp->groups->table_name_members} m, {$bp->groups->table_name} g WHERE g.id = m.group_id AND g.id = gm1.group_id AND g.id = gm2.group_id AND gm2.meta_key = 'last_activity' AND gm1.meta_key = 'total_member_count' AND m.is_confirmed = 0 AND m.inviter_id != 0 AND m.invite_sent = 1 AND m.user_id = %d {$exclude_sql} ORDER BY m.date_modified ASC {$pag_sql}", $user_id ) );
    10781077                $total_groups = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(DISTINCT m.group_id) FROM {$bp->groups->table_name_members} m, {$bp->groups->table_name} g WHERE m.group_id = g.id AND m.is_confirmed = 0 AND m.inviter_id != 0 AND m.invite_sent = 1 AND m.user_id = %d {$exclude_sql} ORDER BY date_modified ASC", $user_id ) );
     
    12271226
    12281227                $exclude_sql = '';
    12291228                if ( !empty( $exclude ) ) {
    1230                         $exclude = implode( ',', wp_parse_id_list( $exclude ) );
    1231                         $exclude_sql = " AND m.user_id NOT IN ({$exclude})";
     1229                        $exclude     = wp_parse_id_list( $exclude );
     1230                        $exclude_sql = $wpdb->prepare( " AND g.id NOT IN (%s)", implode( ',', $exclude ) );
    12321231                }
    12331232
    12341233                if ( bp_is_active( 'xprofile' ) ) {
  • bp-themes/bp-default/_inc/ajax.php

     
    124124
    125125        // If page and search_terms have been passed via the AJAX post request, use those.
    126126        if ( ! empty( $_POST['page'] ) && '-1' != $_POST['page'] )
    127                 $qs[] = 'page=' . $_POST['page'];
     127                $qs[] = 'page=' . absint( $_POST['page'] );
    128128
    129129        $object_search_text = bp_get_search_default_text( $object );
    130130        if ( ! empty( $_POST['search_terms'] ) && $object_search_text != $_POST['search_terms'] && 'false' != $_POST['search_terms'] && 'undefined' != $_POST['search_terms'] )