Changeset 14076 for trunk/src/bp-groups/classes/class-bp-groups-member.php
- Timestamp:
- 11/03/2024 10:01:19 PM (20 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-groups/classes/class-bp-groups-member.php
r13890 r14076 148 148 149 149 // User and group are not empty, and ID is. 150 if ( ! empty( $user_id ) && !empty( $group_id ) && empty( $id ) ) {150 if ( ! empty( $user_id ) && ! empty( $group_id ) && empty( $id ) ) { 151 151 $this->user_id = $user_id; 152 152 $this->group_id = $group_id; 153 153 154 if ( ! empty( $populate ) ) {154 if ( ! empty( $populate ) ) { 155 155 $this->populate(); 156 156 } … … 158 158 159 159 // ID is not empty. 160 if ( ! empty( $id ) ) {160 if ( ! empty( $id ) ) { 161 161 $this->id = $id; 162 162 163 if ( ! empty( $populate ) ) {163 if ( ! empty( $populate ) ) { 164 164 $this->populate(); 165 165 } … … 171 171 * 172 172 * @since 1.6.0 173 * 174 * @global wpdb $wpdb WordPress database abstraction object. 173 175 */ 174 176 public function populate() { … … 177 179 $bp = buddypress(); 178 180 179 if ( $this->user_id && $this->group_id && ! $this->id )181 if ( $this->user_id && $this->group_id && ! $this->id ) { 180 182 $sql = $wpdb->prepare( "SELECT * FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d", $this->user_id, $this->group_id ); 181 182 if ( !empty( $this->id ) ) 183 } 184 185 if ( ! empty( $this->id ) ) { 183 186 $sql = $wpdb->prepare( "SELECT * FROM {$bp->groups->table_name_members} WHERE id = %d", $this->id ); 184 185 $member = $wpdb->get_row($sql); 186 187 if ( !empty( $member ) ) { 187 } 188 189 $member = $wpdb->get_row( $sql ); 190 191 if ( ! empty( $member ) ) { 188 192 $this->id = (int) $member->id; 189 193 $this->group_id = (int) $member->group_id; … … 210 214 */ 211 215 public function __get( $key ) { 212 switch ( $key) {213 case 'user' :214 return $this->get_user_object( $this->user_id );216 if ( $key == 'user' ) { 217 // @todo fix this. 218 return $this->get_user_object( $this->user_id ); 215 219 } 216 220 } … … 226 230 public function __isset( $key ) { 227 231 switch ( $key ) { 228 case 'user' :232 case 'user': 229 233 return true; 230 234 231 default :235 default: 232 236 return isset( $this->{$key} ); 233 237 } … … 256 260 * @since 1.6.0 257 261 * 262 * @global wpdb $wpdb WordPress database abstraction object. 263 * 258 264 * @return bool 259 265 */ … … 263 269 $bp = buddypress(); 264 270 265 $this->user_id = apply_filters( 'groups_member_user_id_before_save', $this->user_id,$this->id );266 $this->group_id = apply_filters( 'groups_member_group_id_before_save', $this->group_id,$this->id );267 $this->inviter_id = apply_filters( 'groups_member_inviter_id_before_save', $this->inviter_id,$this->id );268 $this->is_admin = apply_filters( 'groups_member_is_admin_before_save', $this->is_admin,$this->id );269 $this->is_mod = apply_filters( 'groups_member_is_mod_before_save', $this->is_mod,$this->id );270 $this->is_banned = apply_filters( 'groups_member_is_banned_before_save', $this->is_banned,$this->id );271 $this->user_title = apply_filters( 'groups_member_user_title_before_save', $this->user_title,$this->id );271 $this->user_id = apply_filters( 'groups_member_user_id_before_save', $this->user_id, $this->id ); 272 $this->group_id = apply_filters( 'groups_member_group_id_before_save', $this->group_id, $this->id ); 273 $this->inviter_id = apply_filters( 'groups_member_inviter_id_before_save', $this->inviter_id, $this->id ); 274 $this->is_admin = apply_filters( 'groups_member_is_admin_before_save', $this->is_admin, $this->id ); 275 $this->is_mod = apply_filters( 'groups_member_is_mod_before_save', $this->is_mod, $this->id ); 276 $this->is_banned = apply_filters( 'groups_member_is_banned_before_save', $this->is_banned, $this->id ); 277 $this->user_title = apply_filters( 'groups_member_user_title_before_save', $this->user_title, $this->id ); 272 278 $this->date_modified = apply_filters( 'groups_member_date_modified_before_save', $this->date_modified, $this->id ); 273 $this->is_confirmed = apply_filters( 'groups_member_is_confirmed_before_save', $this->is_confirmed,$this->id );274 $this->comments = apply_filters( 'groups_member_comments_before_save', $this->comments,$this->id );275 $this->invite_sent = apply_filters( 'groups_member_invite_sent_before_save', $this->invite_sent,$this->id );279 $this->is_confirmed = apply_filters( 'groups_member_is_confirmed_before_save', $this->is_confirmed, $this->id ); 280 $this->comments = apply_filters( 'groups_member_comments_before_save', $this->comments, $this->id ); 281 $this->invite_sent = apply_filters( 'groups_member_invite_sent_before_save', $this->invite_sent, $this->id ); 276 282 277 283 /** … … 291 297 } 292 298 293 if ( ! empty( $this->id ) ) {299 if ( ! empty( $this->id ) ) { 294 300 $sql = $wpdb->prepare( "UPDATE {$bp->groups->table_name_members} SET inviter_id = %d, is_admin = %d, is_mod = %d, is_banned = %d, user_title = %s, date_modified = %s, is_confirmed = %d, comments = %s, invite_sent = %d WHERE id = %d", $this->inviter_id, $this->is_admin, $this->is_mod, $this->is_banned, $this->user_title, $this->date_modified, $this->is_confirmed, $this->comments, $this->invite_sent, $this->id ); 295 301 } else { … … 302 308 } 303 309 304 if ( ! $wpdb->query( $sql ) )310 if ( ! $wpdb->query( $sql ) ) { 305 311 return false; 312 } 306 313 307 314 $this->id = $wpdb->insert_id; … … 371 378 */ 372 379 public function ban() { 373 if ( ! empty( $this->is_admin ) )380 if ( ! empty( $this->is_admin ) ) { 374 381 return false; 375 376 $this->is_mod = 0; 382 } 383 384 $this->is_mod = 0; 377 385 $this->is_banned = 1; 378 386 … … 388 396 */ 389 397 public function unban() { 390 if ( ! empty( $this->is_admin ) )398 if ( ! empty( $this->is_admin ) ) { 391 399 return false; 400 } 392 401 393 402 $this->is_banned = 0; … … 413 422 */ 414 423 public function accept_request() { 415 $this->is_confirmed = 1;424 $this->is_confirmed = 1; 416 425 $this->date_modified = bp_core_current_time(); 417 426 } … … 421 430 * 422 431 * @since 1.6.0 432 * 433 * @global wpdb $wpdb WordPress database abstraction object. 423 434 * 424 435 * @return bool … … 439 450 $sql = $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d", $this->user_id, $this->group_id ); 440 451 441 if ( ! $result = $wpdb->query( $sql ) )452 if ( ! $result = $wpdb->query( $sql ) ) { 442 453 return false; 454 } 443 455 444 456 // Update the user's group count. … … 473 485 * Refresh the `total_member_count` for a group. 474 486 * 475 * The request skip the current cache so that we always grab the la stest total count.487 * The request skip the current cache so that we always grab the latest total count. 476 488 * 477 489 * @since 1.8.0 … … 488 500 * 489 501 * @since 1.6.0 502 * 503 * @global wpdb $wpdb WordPress database abstraction object. 490 504 * 491 505 * @param int $user_id ID of the user. … … 529 543 * 530 544 * @since 1.6.0 545 * 546 * @global wpdb $wpdb WordPress database abstraction object. 531 547 * 532 548 * @param int $user_id ID of the user. … … 544 560 545 561 $pag_sql = ''; 546 if ( !empty( $limit ) && !empty( $page ) ) 547 $pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) ); 562 if ( ! empty( $limit ) && ! empty( $page ) ) { 563 $pag_sql = $wpdb->prepare( ' LIMIT %d, %d', intval( ( $page - 1 ) * $limit ), intval( $limit ) ); 564 } 548 565 549 566 $bp = buddypress(); … … 551 568 // If the user is logged in and viewing their own groups, we can show hidden and private groups. 552 569 if ( $user_id != bp_loggedin_user_id() ) { 553 $group_sql = $wpdb->prepare( "SELECT DISTINCT m.group_id FROM {$bp->groups->table_name_members} m, {$bp->groups->table_name} g WHERE g.status != 'hidden' AND m.user_id = %d AND m.is_confirmed = 1 AND m.is_banned = 0{$pag_sql}", $user_id );570 $group_sql = $wpdb->prepare( "SELECT DISTINCT m.group_id FROM {$bp->groups->table_name_members} m, {$bp->groups->table_name} g WHERE g.status != 'hidden' AND m.user_id = %d AND m.is_confirmed = 1 AND m.is_banned = 0{$pag_sql}", $user_id ); 554 571 $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 g.status != 'hidden' AND m.user_id = %d AND m.is_confirmed = 1 AND m.is_banned = 0", $user_id ) ); 555 572 } else { 556 $group_sql = $wpdb->prepare( "SELECT DISTINCT group_id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND is_confirmed = 1 AND is_banned = 0{$pag_sql}", $user_id );573 $group_sql = $wpdb->prepare( "SELECT DISTINCT group_id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND is_confirmed = 1 AND is_banned = 0{$pag_sql}", $user_id ); 557 574 $total_groups = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(DISTINCT group_id) FROM {$bp->groups->table_name_members} WHERE user_id = %d AND is_confirmed = 1 AND is_banned = 0", $user_id ) ); 558 575 } … … 560 577 $groups = $wpdb->get_col( $group_sql ); 561 578 562 return array( 'groups' => $groups, 'total' => (int) $total_groups ); 579 return array( 580 'groups' => $groups, 581 'total' => (int) $total_groups, 582 ); 563 583 } 564 584 … … 567 587 * 568 588 * @since 1.6.0 589 * 590 * @global wpdb $wpdb WordPress database abstraction object. 569 591 * 570 592 * @param int $user_id ID of the user. … … 583 605 global $wpdb; 584 606 585 $user_id_sql = $pag_sql = $hidden_sql = $filter_sql = ''; 586 607 $pag_sql = $hidden_sql = $filter_sql = ''; 587 608 $user_id_sql = $wpdb->prepare( 'm.user_id = %d', $user_id ); 588 609 589 if ( !empty( $limit ) && !empty( $page ) ) 590 $pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) ); 591 592 if ( !empty( $filter ) ) { 610 if ( ! empty( $limit ) && ! empty( $page ) ) { 611 $pag_sql = $wpdb->prepare( ' LIMIT %d, %d', intval( ( $page - 1 ) * $limit ), intval( $limit ) ); 612 } 613 614 if ( ! empty( $filter ) ) { 593 615 $search_terms_like = '%' . bp_esc_like( $filter ) . '%'; 594 $filter_sql = $wpdb->prepare( " AND ( g.name LIKE %s OR g.description LIKE %s )", $search_terms_like, $search_terms_like );595 } 596 597 if ( $user_id != bp_loggedin_user_id() ) 616 $filter_sql = $wpdb->prepare( ' AND ( g.name LIKE %s OR g.description LIKE %s )', $search_terms_like, $search_terms_like ); 617 } 618 619 if ( $user_id != bp_loggedin_user_id() ) { 598 620 $hidden_sql = " AND g.status != 'hidden'"; 621 } 599 622 600 623 $bp = buddypress(); … … 603 626 $total_groups = $wpdb->get_var( "SELECT COUNT(DISTINCT m.group_id) FROM {$bp->groups->table_name_members} m, {$bp->groups->table_name} g WHERE m.group_id = g.id{$hidden_sql}{$filter_sql} AND {$user_id_sql} AND m.is_banned = 0 AND m.is_confirmed = 1 ORDER BY m.date_modified DESC" ); 604 627 605 return array( 'groups' => $paged_groups, 'total' => $total_groups ); 628 return array( 629 'groups' => $paged_groups, 630 'total' => $total_groups, 631 ); 606 632 } 607 633 … … 610 636 * 611 637 * @since 1.6.0 638 * 639 * @global wpdb $wpdb WordPress database abstraction object. 612 640 * 613 641 * @param int $user_id ID of the user. … … 626 654 global $wpdb; 627 655 628 $user_id_sql = $pag_sql = $hidden_sql = $filter_sql = ''; 629 656 $pag_sql = $hidden_sql = $filter_sql = ''; 630 657 $user_id_sql = $wpdb->prepare( 'm.user_id = %d', $user_id ); 631 658 632 if ( !empty( $limit ) && !empty( $page ) ) 633 $pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) ); 634 635 if ( !empty( $filter ) ) { 659 if ( ! empty( $limit ) && ! empty( $page ) ) { 660 $pag_sql = $wpdb->prepare( ' LIMIT %d, %d', intval( ( $page - 1 ) * $limit ), intval( $limit ) ); 661 } 662 663 if ( ! empty( $filter ) ) { 636 664 $search_terms_like = '%' . bp_esc_like( $filter ) . '%'; 637 $filter_sql = $wpdb->prepare( " AND ( g.name LIKE %s OR g.description LIKE %s )", $search_terms_like, $search_terms_like );638 } 639 640 if ( $user_id != bp_loggedin_user_id() ) 665 $filter_sql = $wpdb->prepare( ' AND ( g.name LIKE %s OR g.description LIKE %s )', $search_terms_like, $search_terms_like ); 666 } 667 668 if ( $user_id != bp_loggedin_user_id() ) { 641 669 $hidden_sql = " AND g.status != 'hidden'"; 670 } 642 671 643 672 $bp = buddypress(); … … 646 675 $total_groups = $wpdb->get_var( "SELECT COUNT(DISTINCT m.group_id) FROM {$bp->groups->table_name_members} m, {$bp->groups->table_name} g WHERE m.group_id = g.id{$hidden_sql}{$filter_sql} AND {$user_id_sql} AND m.is_confirmed = 1 AND m.is_banned = 0 AND m.is_admin = 1 ORDER BY date_modified ASC" ); 647 676 648 return array( 'groups' => $paged_groups, 'total' => $total_groups ); 677 return array( 678 'groups' => $paged_groups, 679 'total' => $total_groups, 680 ); 649 681 } 650 682 … … 653 685 * 654 686 * @since 1.6.0 687 * 688 * @global wpdb $wpdb WordPress database abstraction object. 655 689 * 656 690 * @param int $user_id ID of the user. … … 673 707 $user_id_sql = $wpdb->prepare( 'm.user_id = %d', $user_id ); 674 708 675 if ( !empty( $limit ) && !empty( $page ) ) 676 $pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) ); 677 678 if ( !empty( $filter ) ) { 709 if ( ! empty( $limit ) && ! empty( $page ) ) { 710 $pag_sql = $wpdb->prepare( ' LIMIT %d, %d', intval( ( $page - 1 ) * $limit ), intval( $limit ) ); 711 } 712 713 if ( ! empty( $filter ) ) { 679 714 $search_terms_like = '%' . bp_esc_like( $filter ) . '%'; 680 $filter_sql = $wpdb->prepare( " AND ( g.name LIKE %s OR g.description LIKE %s )", $search_terms_like, $search_terms_like );681 } 682 683 if ( $user_id != bp_loggedin_user_id() ) 715 $filter_sql = $wpdb->prepare( ' AND ( g.name LIKE %s OR g.description LIKE %s )', $search_terms_like, $search_terms_like ); 716 } 717 718 if ( $user_id != bp_loggedin_user_id() ) { 684 719 $hidden_sql = " AND g.status != 'hidden'"; 720 } 685 721 686 722 $bp = buddypress(); … … 689 725 $total_groups = $wpdb->get_var( "SELECT COUNT(DISTINCT m.group_id) FROM {$bp->groups->table_name_members} m, {$bp->groups->table_name} g WHERE m.group_id = g.id{$hidden_sql}{$filter_sql} AND {$user_id_sql} AND m.is_confirmed = 1 AND m.is_banned = 0 AND m.is_mod = 1 ORDER BY date_modified ASC" ); 690 726 691 return array( 'groups' => $paged_groups, 'total' => $total_groups ); 727 return array( 728 'groups' => $paged_groups, 729 'total' => $total_groups, 730 ); 692 731 } 693 732 … … 696 735 * 697 736 * @since 2.4.0 737 * 738 * @global wpdb $wpdb WordPress database abstraction object. 698 739 * 699 740 * @param int $user_id ID of the user. … … 718 759 719 760 if ( $limit && $page ) { 720 $pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit ), intval( $limit ) );761 $pag_sql = $wpdb->prepare( ' LIMIT %d, %d', intval( ( $page - 1 ) * $limit ), intval( $limit ) ); 721 762 } 722 763 723 764 if ( $filter ) { 724 765 $search_terms_like = '%' . bp_esc_like( $filter ) . '%'; 725 $filter_sql = $wpdb->prepare( " AND ( g.name LIKE %s OR g.description LIKE %s )", $search_terms_like, $search_terms_like );766 $filter_sql = $wpdb->prepare( ' AND ( g.name LIKE %s OR g.description LIKE %s )', $search_terms_like, $search_terms_like ); 726 767 } 727 768 … … 733 774 $total_groups = $wpdb->get_var( "SELECT COUNT(DISTINCT m.group_id) FROM {$bp->groups->table_name_members} m, {$bp->groups->table_name} g WHERE m.group_id = g.id{$hidden_sql}{$filter_sql} AND {$user_id_sql} AND m.is_banned = 1 ORDER BY date_modified ASC" ); 734 775 735 return array( 'groups' => $paged_groups, 'total' => $total_groups ); 776 return array( 777 'groups' => $paged_groups, 778 'total' => $total_groups, 779 ); 736 780 } 737 781 … … 740 784 * 741 785 * @since 1.6.0 786 * 787 * @global wpdb $wpdb WordPress database abstraction object. 742 788 * 743 789 * @param int $user_id Optional. Default: ID of the displayed user. … … 747 793 global $wpdb; 748 794 749 if ( empty( $user_id ) ) 795 if ( empty( $user_id ) ) { 750 796 $user_id = bp_displayed_user_id(); 751 752 $bp = buddypress(); 753 754 if ( $user_id != bp_loggedin_user_id() && !bp_current_user_can( 'bp_moderate' ) ) { 797 } 798 799 $bp = buddypress(); 800 801 if ( $user_id != bp_loggedin_user_id() && ! bp_current_user_can( 'bp_moderate' ) ) { 755 802 return (int) $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 g.status != 'hidden' AND m.user_id = %d AND m.is_confirmed = 1 AND m.is_banned = 0", $user_id ) ); 756 } else {757 return (int) $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.user_id = %d AND m.is_confirmed = 1 AND m.is_banned = 0", $user_id ) ); 758 }803 } 804 805 return (int) $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.user_id = %d AND m.is_confirmed = 1 AND m.is_banned = 0", $user_id ) ); 759 806 } 760 807 … … 797 844 * @since 4.0.0 798 845 * 799 * @param int $user_id ID of the user. 846 * @global wpdb $wpdb WordPress database abstraction object. 847 * 848 * @param int $user_id ID of the user. 800 849 * @param array $args { 801 850 * Array of optional arguments. … … 814 863 $bp = buddypress(); 815 864 816 $r = array_merge( array( 817 'page' => 1, 818 'per_page' => 20, 819 'type' => 'membership', 820 ), $args ); 865 $r = array_merge( 866 array( 867 'page' => 1, 868 'per_page' => 20, 869 'type' => 'membership', 870 ), 871 $args 872 ); 821 873 822 874 $sql = array( … … 828 880 829 881 switch ( $r['type'] ) { 830 case 'pending_request' : 831 return groups_get_requests( array( 832 'user_id' => $user_id, 833 'page' => $r['page'], 834 'per_page' => $r['per_page'], 835 ) ); 836 break; 837 838 case 'pending_received_invitation' : 839 return groups_get_invites( array( 840 'user_id' => $user_id, 841 'page' => $r['page'], 842 'per_page' => $r['per_page'], 843 ) ); 844 break; 845 846 case 'pending_sent_invitation' : 847 return groups_get_invites( array( 848 'inviter_id' => $user_id, 849 'page' => $r['page'], 850 'per_page' => $r['per_page'], 851 ) ); 852 break; 853 854 case 'membership' : 855 default : 856 $sql['where'] = $wpdb->prepare( "user_id = %d AND is_confirmed = 1", $user_id ); 857 break; 882 case 'pending_request': 883 return groups_get_requests( 884 array( 885 'user_id' => $user_id, 886 'page' => $r['page'], 887 'per_page' => $r['per_page'], 888 ) 889 ); 890 891 case 'pending_received_invitation': 892 return groups_get_invites( 893 array( 894 'user_id' => $user_id, 895 'page' => $r['page'], 896 'per_page' => $r['per_page'], 897 ) 898 ); 899 900 case 'pending_sent_invitation': 901 return groups_get_invites( 902 array( 903 'inviter_id' => $user_id, 904 'page' => $r['page'], 905 'per_page' => $r['per_page'], 906 ) 907 ); 908 909 case 'membership': 910 default: 911 $sql['where'] = $wpdb->prepare( 'user_id = %d AND is_confirmed = 1', $user_id ); 912 break; 858 913 } 859 914 860 915 if ( $r['page'] && $r['per_page'] ) { 861 $sql['limits'] = $wpdb->prepare( "LIMIT %d, %d", ( $r['page'] - 1 ) * $r['per_page'], $r['per_page'] );916 $sql['limits'] = $wpdb->prepare( 'LIMIT %d, %d', ( $r['page'] - 1 ) * $r['per_page'], $r['per_page'] ); 862 917 } 863 918 … … 931 986 * @param int $user_id ID of the user. 932 987 * @param int $group_id ID of the group. 933 * @return int Number of records deleted.988 * @return int|false Number of records deleted. False if the user is not a member of the group. 934 989 */ 935 990 public static function delete_request( $user_id, $group_id ) { … … 941 996 * 942 997 * @since 1.6.0 998 * 999 * @global wpdb $wpdb WordPress database abstraction object. 943 1000 * 944 1001 * @param int $user_id ID of the user. … … 949 1006 global $wpdb; 950 1007 951 if ( empty( $user_id ) ) 1008 if ( empty( $user_id ) ) { 952 1009 return false; 1010 } 953 1011 954 1012 $bp = buddypress(); … … 961 1019 * 962 1020 * @since 1.6.0 1021 * 1022 * @global wpdb $wpdb WordPress database abstraction object. 963 1023 * 964 1024 * @param int $user_id ID of the user. … … 969 1029 global $wpdb; 970 1030 971 if ( empty( $user_id ) ) 1031 if ( empty( $user_id ) ) { 972 1032 return false; 1033 } 973 1034 974 1035 $bp = buddypress(); … … 981 1042 * 982 1043 * @since 1.6.0 1044 * 1045 * @global wpdb $wpdb WordPress database abstraction object. 983 1046 * 984 1047 * @param int $user_id ID of the user. … … 989 1052 global $wpdb; 990 1053 991 if ( empty( $user_id ) ) 1054 if ( empty( $user_id ) ) { 992 1055 return false; 1056 } 993 1057 994 1058 $bp = buddypress(); … … 1001 1065 * 1002 1066 * @since 1.6.0 1067 * 1068 * @global wpdb $wpdb WordPress database abstraction object. 1003 1069 * 1004 1070 * @param int $user_id ID of the user. … … 1010 1076 global $wpdb; 1011 1077 1012 if ( empty( $user_id ) ) 1078 if ( empty( $user_id ) ) { 1013 1079 return false; 1080 } 1014 1081 1015 1082 $bp = buddypress(); … … 1024 1091 * 1025 1092 * @since 1.2.6 1093 * 1094 * @global wpdb $wpdb WordPress database abstraction object. 1026 1095 * 1027 1096 * @param int $user_id ID of the user. … … 1032 1101 global $wpdb; 1033 1102 1034 if ( empty( $user_id ) ) 1103 if ( empty( $user_id ) ) { 1035 1104 return false; 1105 } 1036 1106 1037 1107 $bp = buddypress(); … … 1060 1130 * @since 1.6.0 1061 1131 * 1132 * @global wpdb $wpdb WordPress database abstraction object. 1133 * 1062 1134 * @param int $user_id ID of the user. 1063 1135 * @param int $total_groups Max number of group IDs to return. Default: 5. … … 1072 1144 if ( bp_is_my_profile() ) { 1073 1145 return array_map( 'intval', $wpdb->get_col( $wpdb->prepare( "SELECT DISTINCT group_id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND is_confirmed = 1 AND is_banned = 0 ORDER BY rand() LIMIT %d", $user_id, $total_groups ) ) ); 1074 } else {1075 return array_map( 'intval', $wpdb->get_col( $wpdb->prepare( "SELECT DISTINCT m.group_id FROM {$bp->groups->table_name_members} m, {$bp->groups->table_name} g WHERE m.group_id = g.id AND g.status != 'hidden' AND m.user_id = %d AND m.is_confirmed = 1 AND m.is_banned = 0 ORDER BY rand() LIMIT %d", $user_id, $total_groups ) ) ); 1076 }1146 } 1147 1148 return array_map( 'intval', $wpdb->get_col( $wpdb->prepare( "SELECT DISTINCT m.group_id FROM {$bp->groups->table_name_members} m, {$bp->groups->table_name} g WHERE m.group_id = g.id AND g.status != 'hidden' AND m.user_id = %d AND m.is_confirmed = 1 AND m.is_banned = 0 ORDER BY rand() LIMIT %d", $user_id, $total_groups ) ) ); 1077 1149 } 1078 1150 … … 1081 1153 * 1082 1154 * @since 1.6.0 1155 * 1156 * @global wpdb $wpdb WordPress database abstraction object. 1083 1157 * 1084 1158 * @param int $group_id ID of the group. … … 1098 1172 * @since 1.6.0 1099 1173 * 1100 * @param int $group_id ID of the group.1174 * @param int $group_id ID of the group. 1101 1175 * @return array Info about group admins (user_id + date_modified). 1102 1176 */ … … 1131 1205 * @since 2.7.0 1132 1206 * 1207 * @global wpdb $wpdb WordPress database abstraction object. 1208 * 1133 1209 * @param array $group_ids IDs of the groups. 1134 * @return bool1135 1210 */ 1136 1211 public static function prime_group_admins_mods_cache( $group_ids ) { … … 1140 1215 1141 1216 if ( $uncached ) { 1142 $bp = buddypress();1143 $uncached_sql = implode( ',', array_map( 'intval', $uncached ) );1217 $bp = buddypress(); 1218 $uncached_sql = implode( ',', array_map( 'intval', $uncached ) ); 1144 1219 $group_admin_mods = $wpdb->get_results( "SELECT user_id, group_id, date_modified, is_admin, is_mod FROM {$bp->groups->table_name_members} WHERE group_id IN ({$uncached_sql}) AND ( is_admin = 1 OR is_mod = 1 ) AND is_banned = 0" ); 1145 1220 … … 1147 1222 if ( $group_admin_mods ) { 1148 1223 foreach ( $group_admin_mods as $group_admin_mod ) { 1149 $obj = new stdClass();1150 $obj->user_id = $group_admin_mod->user_id;1224 $obj = new stdClass(); 1225 $obj->user_id = $group_admin_mod->user_id; 1151 1226 $obj->date_modified = $group_admin_mod->date_modified; 1152 1227 … … 1209 1284 * @since 2.6.0 1210 1285 * 1286 * @global wpdb $wpdb WordPress database abstraction object. 1287 * 1211 1288 * @param int|string|array $membership_ids Single membership ID or comma-separated/array list of membership IDs. 1212 1289 * @return array … … 1218 1295 1219 1296 $membership_ids = implode( ',', wp_parse_id_list( $membership_ids ) ); 1297 1220 1298 return $wpdb->get_results( "SELECT * FROM {$bp->groups->table_name_members} WHERE id IN ({$membership_ids})" ); 1221 1299 } … … 1235 1313 /** 1236 1314 * Get members of a group. 1315 * 1316 * @global wpdb $wpdb WordPress database abstraction object. 1237 1317 * 1238 1318 * @deprecated 1.6.0 … … 1252 1332 1253 1333 $pag_sql = ''; 1254 if ( !empty( $limit ) && !empty( $page ) ) 1255 $pag_sql = $wpdb->prepare( "LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) ); 1334 if ( ! empty( $limit ) && ! empty( $page ) ) { 1335 $pag_sql = $wpdb->prepare( 'LIMIT %d, %d', intval( ( $page - 1 ) * $limit ), intval( $limit ) ); 1336 } 1256 1337 1257 1338 $exclude_admins_sql = ''; 1258 if ( !empty( $exclude_admins_mods ) ) 1259 $exclude_admins_sql = "AND is_admin = 0 AND is_mod = 0"; 1339 if ( ! empty( $exclude_admins_mods ) ) { 1340 $exclude_admins_sql = 'AND is_admin = 0 AND is_mod = 0'; 1341 } 1260 1342 1261 1343 $banned_sql = ''; 1262 if ( !empty( $exclude_banned ) ) 1263 $banned_sql = " AND is_banned = 0"; 1344 if ( ! empty( $exclude_banned ) ) { 1345 $banned_sql = ' AND is_banned = 0'; 1346 } 1264 1347 1265 1348 $exclude_sql = ''; 1266 if ( ! empty( $exclude ) ) {1349 if ( ! empty( $exclude ) ) { 1267 1350 $exclude = implode( ',', wp_parse_id_list( $exclude ) ); 1268 1351 $exclude_sql = " AND m.user_id NOT IN ({$exclude})"; … … 1306 1389 1307 1390 // Fetch whether or not the user is a friend. 1308 foreach ( (array) $members as $user ) 1391 foreach ( (array) $members as $user ) { 1309 1392 $user_ids[] = $user->user_id; 1393 } 1310 1394 1311 1395 $user_ids = implode( ',', wp_parse_id_list( $user_ids ) ); … … 1315 1399 for ( $i = 0, $count = count( $members ); $i < $count; ++$i ) { 1316 1400 foreach ( (array) $friend_status as $status ) { 1317 if ( $status->initiator_user_id == $members[ $i]->user_id || $status->friend_user_id == $members[$i]->user_id ) {1318 $members[ $i]->is_friend = $status->is_confirmed;1401 if ( $status->initiator_user_id == $members[ $i ]->user_id || $status->friend_user_id == $members[ $i ]->user_id ) { 1402 $members[ $i ]->is_friend = $status->is_confirmed; 1319 1403 } 1320 1404 } … … 1322 1406 } 1323 1407 1324 return array( 'members' => $members, 'count' => $total_member_count ); 1408 return array( 1409 'members' => $members, 1410 'count' => $total_member_count, 1411 ); 1325 1412 } 1326 1413 … … 1329 1416 * 1330 1417 * @since 2.6.0 1418 * 1419 * @global wpdb $wpdb WordPress database abstraction object. 1331 1420 * 1332 1421 * @param int $user_id ID of the user. … … 1347 1436 * 1348 1437 * @since 1.6.0 1438 * 1439 * @global wpdb $wpdb WordPress database abstraction object. 1349 1440 * 1350 1441 * @param int $group_id ID of the group. … … 1373 1464 */ 1374 1465 public static function delete_all_for_user( $user_id ) { 1375 $group_ids = BP_Groups_Member::get_group_ids( $user_id );1466 $group_ids = self::get_group_ids( $user_id ); 1376 1467 1377 1468 foreach ( $group_ids['groups'] as $group_id ) { … … 1379 1470 // If the user is a sole group admin, install a site admin as their replacement. 1380 1471 if ( count( groups_get_group_admins( $group_id ) ) < 2 ) { 1381 $admin = get_users( array( 1382 'blog_id' => bp_get_root_blog_id(), 1383 'fields' => 'id', 1384 'number' => 1, 1385 'orderby' => 'ID', 1386 'role' => 'administrator', 1387 ) ); 1472 $admin = get_users( 1473 array( 1474 'blog_id' => bp_get_root_blog_id(), 1475 'fields' => 'id', 1476 'number' => 1, 1477 'orderby' => 'ID', 1478 'role' => 'administrator', 1479 ) 1480 ); 1388 1481 1389 1482 if ( ! empty( $admin ) ) { … … 1396 1489 } 1397 1490 1398 BP_Groups_Member::delete( $user_id, $group_id );1491 self::delete( $user_id, $group_id ); 1399 1492 } 1400 1493
Note: See TracChangeset
for help on using the changeset viewer.