BP_Messages_Box_Template::__construct( array $args = array() )
Constructor method.
Description
Parameters
- $args
-
(Optional) Array of arguments. See bp_has_message_threads() for full description.
Default value: array()
Source
File: bp-messages/classes/class-bp-messages-box-template.php
public function __construct( $args = array() ) { // Backward compatibility with old method of passing arguments. if ( ! is_array( $args ) || func_num_args() > 1 ) { _deprecated_argument( __METHOD__, '2.2.0', sprintf( __( 'Arguments passed to %1$s should be in an associative array. See the inline documentation at %2$s for more details.', 'buddyboss' ), __METHOD__, __FILE__ ) ); $old_args_keys = array( 0 => 'user_id', 1 => 'box', 2 => 'per_page', 3 => 'max', 4 => 'type', 5 => 'search_terms', 6 => 'page_arg' ); $args = bp_core_parse_args_array( $old_args_keys, func_get_args() ); } $r = wp_parse_args( $args, array( 'page' => 1, 'per_page' => 10, 'page_arg' => 'mpage', 'box' => 'inbox', 'type' => 'all', 'user_id' => bp_loggedin_user_id(), 'max' => false, 'search_terms' => '', 'include' => false, 'meta_query' => array(), ) ); $this->pag_arg = sanitize_key( $r['page_arg'] ); $this->pag_page = bp_sanitize_pagination_arg( $this->pag_arg, $r['page'] ); $this->pag_num = bp_sanitize_pagination_arg( 'num', $r['per_page'] ); $this->user_id = $r['user_id']; $this->box = $r['box']; $this->type = $r['type']; $this->search_terms = $r['search_terms']; $this->include = $r['include']; if ( 'notices' === $this->box ) { $this->threads = BP_Messages_Notice::get_notices( array( 'pag_num' => $this->pag_num, 'pag_page' => $this->pag_page ) ); } else { $threads = BP_Messages_Thread::get_current_threads_for_user( array( 'user_id' => $this->user_id, 'box' => $this->box, 'type' => $this->type, 'limit' => $this->pag_num, 'page' => $this->pag_page, 'search_terms' => $this->search_terms, 'include' => $this->include, 'meta_query' => $r['meta_query'], ) ); $this->threads = $threads['threads']; $this->total_thread_count = $threads['total']; } if ( !$this->threads ) { $this->thread_count = 0; $this->total_thread_count = 0; } else { $total_notice_count = BP_Messages_Notice::get_total_notice_count(); if ( empty( $r['max'] ) || ( (int) $r['max'] >= (int) $total_notice_count ) ) { if ( 'notices' === $this->box ) { $this->total_thread_count = (int) $total_notice_count; } } else { $this->total_thread_count = (int) $r['max']; } if ( ! empty( $r['max'] ) ) { if ( (int) $r['max'] >= count( $this->threads ) ) { $this->thread_count = count( $this->threads ); } else { $this->thread_count = (int) $r['max']; } } else { $this->thread_count = count( $this->threads ); } } if ( (int) $this->total_thread_count && (int) $this->pag_num ) { $pag_args = array( $r['page_arg'] => '%#%', ); if ( defined( 'DOING_AJAX' ) && true === (bool) DOING_AJAX ) { $base = remove_query_arg( 's', wp_get_referer() ); } else { $base = ''; } $add_args = array(); if ( ! empty( $this->search_terms ) ) { $add_args['s'] = $this->search_terms; } $this->pag_links = paginate_links( array( 'base' => add_query_arg( $pag_args, $base ), 'format' => '', 'total' => ceil( (int) $this->total_thread_count / (int) $this->pag_num ), 'current' => $this->pag_page, 'prev_text' => __( '←', 'buddyboss' ), 'next_text' => __( '→', 'buddyboss' ), 'mid_size' => 1, 'add_args' => $add_args, ) ); } }
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.