- Timestamp:
- 02/07/2016 04:59:52 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-activity/classes/class-bp-activity-list-table.php
r10516 r10546 85 85 // Option defaults. 86 86 $filter = array(); 87 $filter_query = false; 87 88 $include_id = false; 88 89 $search_terms = false; … … 111 112 112 113 // Filter. 113 if ( ! empty( $_REQUEST['activity_type'] ) )114 if ( ! empty( $_REQUEST['activity_type'] ) ) { 114 115 $filter = array( 'action' => $_REQUEST['activity_type'] ); 116 117 /** 118 * Filter here to override the filter with a filter query 119 * 120 * @since 2.5.0 121 * 122 * @param array $filter 123 */ 124 $has_filter_query = apply_filters( 'bp_activity_list_table_filter_activity_type_items', $filter ); 125 126 if ( ! empty( $has_filter_query['filter_query'] ) ) { 127 // Reset the filter 128 $filter = array(); 129 130 // And use the filter query instead 131 $filter_query = $has_filter_query['filter_query']; 132 } 133 } 115 134 116 135 // Are we doing a search? … … 140 159 'per_page' => $per_page, 141 160 'search_terms' => $search_terms, 161 'filter_query' => $filter_query, 142 162 'show_hidden' => true, 143 163 // 'sort' => $sort, … … 743 763 * 744 764 * @since 2.0.0 765 * @since 2.5.0 Include Post type activities types 745 766 * 746 767 * @param array $item An array version of the BP_Activity_Activity object. … … 748 769 */ 749 770 protected function can_comment( $item ) { 750 $can_comment = true; 751 752 if ( $this->disable_blogforum_comments ) { 753 switch ( $item['type'] ) { 754 case 'new_blog_post' : 755 case 'new_blog_comment' : 756 case 'new_forum_topic' : 757 case 'new_forum_post' : 758 $can_comment = false; 759 break; 771 $can_comment = bp_activity_type_supports( $item['type'], 'comment-reply' ); 772 773 if ( ! $this->disable_blogforum_comments && bp_is_active( 'blogs' ) ) { 774 $parent_activity = false; 775 776 if ( bp_activity_type_supports( $item['type'], 'post-type-comment-tracking' ) ) { 777 $parent_activity = (object) $item; 778 } elseif ( 'activity_comment' === $item['type'] ) { 779 $parent_activity = new BP_Activity_Activity( $item['item_id'] ); 760 780 } 761 781 762 // Activity comments supported. 763 } else { 764 // Activity comment. 765 if ( 'activity_comment' == $item['type'] ) { 766 // Blogs. 767 if ( bp_is_active( 'blogs' ) ) { 768 // Grab the parent activity entry. 769 $parent_activity = new BP_Activity_Activity( $item['item_id'] ); 770 771 // Fetch blog post comment depth and if the blog post's comments are open. 772 bp_blogs_setup_activity_loop_globals( $parent_activity ); 773 774 // Check if the activity item can be replied to. 775 if ( false === bp_blogs_can_comment_reply( true, $item ) ) { 776 $can_comment = false; 777 } 778 } 779 780 // Blog post. 781 } elseif ( 'new_blog_post' == $item['type'] ) { 782 if ( bp_is_active( 'blogs' ) ) { 783 bp_blogs_setup_activity_loop_globals( (object) $item ); 784 785 if ( empty( buddypress()->blogs->allow_comments[$item['id']] ) ) { 786 $can_comment = false; 787 } 788 } 782 if ( isset( $parent_activity->type ) && bp_activity_post_type_get_tracking_arg( $parent_activity->type, 'post_type' ) ) { 783 // Fetch blog post comment depth and if the blog post's comments are open. 784 bp_blogs_setup_activity_loop_globals( $parent_activity ); 785 786 $can_comment = bp_blogs_can_comment_reply( true, $item ); 789 787 } 790 788 } … … 794 792 * 795 793 * @since 2.0.0 796 * 797 * @param bool $can_comment Whether an activity item can be commented on or not. 794 * @since 2.5.0 Add a second parameter to include the activity item into the filter. 795 * 796 * @param bool $can_comment Whether an activity item can be commented on or not. 797 * @param array $item An array version of the BP_Activity_Activity object. 798 798 */ 799 return apply_filters( 'bp_activity_list_table_can_comment', $can_comment );799 return apply_filters( 'bp_activity_list_table_can_comment', $can_comment, $item ); 800 800 } 801 801
Note: See TracChangeset
for help on using the changeset viewer.