Changeset 9613
- Timestamp:
- 03/11/2015 04:26:05 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-notifications/classes/class-bp-notifications-notification.php
r9574 r9613 570 570 571 571 return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM {$bp->core->table_name_notifications} WHERE id = %d AND user_id = %d", $notification_id, $user_id ) ); 572 } 573 574 /** 575 * Parse notifications query arguments 576 * 577 * @since BuddyPress 2.3.0 578 * 579 * @param mixed $args 580 * @return array 581 */ 582 public static function parse_args( $args = '' ) { 583 return wp_parse_args( $args, array( 584 'id' => false, 585 'user_id' => false, 586 'item_id' => false, 587 'secondary_item_id' => false, 588 'component_name' => bp_notifications_get_registered_components(), 589 'component_action' => false, 590 'is_new' => true, 591 'search_terms' => '', 592 'order_by' => false, 593 'sort_order' => false, 594 'page' => false, 595 'per_page' => false, 596 'meta_query' => false, 597 'date_query' => false, 598 'update_meta_cache' => true 599 ) ); 572 600 } 573 601 … … 613 641 614 642 // Parse the arguments 615 $r = wp_parse_args( $args, array( 616 'id' => false, 617 'user_id' => false, 618 'item_id' => false, 619 'secondary_item_id' => false, 620 'component_name' => bp_notifications_get_registered_components(), 621 'component_action' => false, 622 'is_new' => true, 623 'search_terms' => '', 624 'order_by' => false, 625 'sort_order' => false, 626 'page' => false, 627 'per_page' => false, 628 'meta_query' => false, 629 'date_query' => false, 630 'update_meta_cache' => true, 631 'count_total' => false, 632 ) ); 643 $r = self::parse_args( $args ); 633 644 634 645 // Get BuddyPress … … 669 680 $pag_sql = self::get_paged_sql( array( 670 681 'page' => $r['page'], 671 'per_page' => $r['per_page'] ,682 'per_page' => $r['per_page'] 672 683 ) ); 673 684 … … 692 703 global $wpdb; 693 704 694 /** 695 * Default component_name to active_components 696 * 697 * @see http://buddypress.trac.wordpress.org/ticket/5300 698 */ 699 $args = wp_parse_args( $args, array( 700 'component_name' => bp_notifications_get_registered_components() 701 ) ); 705 // Parse the arguments 706 $r = self::parse_args( $args ); 702 707 703 708 // Load BuddyPress 704 709 $bp = buddypress(); 705 710 706 // Build the query 711 // METADATA 712 $meta_query_sql = self::get_meta_query_sql( $r['meta_query'] ); 713 714 // SELECT 707 715 $select_sql = "SELECT COUNT(*)"; 708 $from_sql = "FROM {$bp->notifications->table_name}"; 709 $where_sql = self::get_where_sql( $args ); 710 $sql = "{$select_sql} {$from_sql} {$where_sql}"; 716 717 // FROM 718 $from_sql = "FROM {$bp->notifications->table_name} n "; 719 720 // JOIN 721 $join_sql = $meta_query_sql['join']; 722 723 // WHERE 724 $where_sql = self::get_where_sql( array( 725 'id' => $r['id'], 726 'user_id' => $r['user_id'], 727 'item_id' => $r['item_id'], 728 'secondary_item_id' => $r['secondary_item_id'], 729 'component_name' => $r['component_name'], 730 'component_action' => $r['component_action'], 731 'is_new' => $r['is_new'], 732 'search_terms' => $r['search_terms'], 733 'date_query' => $r['date_query'] 734 ), $select_sql, $from_sql, $join_sql, $meta_query_sql ); 735 736 // Concatenate query parts 737 $sql = "{$select_sql} {$from_sql} {$join_sql} {$where_sql}"; 711 738 712 739 // Return the queried results
Note: See TracChangeset
for help on using the changeset viewer.