current_component == $bp->wire->slug ) { $this->table_name = $bp->profile->table_name_wire; // If the user is viewing their own wire, delete the notifications. if ( 'all-posts' == $bp->current_action && bp_is_home() ) bp_core_delete_notifications_for_user_by_type( $bp->loggedin_user->id, 'xprofile', 'new_wire_post' ); } else $this->table_name = $bp->{$bp->active_components[$component_slug]}->table_name_wire; $this->pag_page = isset( $_REQUEST['wpage'] ) ? intval( $_REQUEST['wpage'] ) : 1; $this->pag_num = isset( $_REQUEST['num'] ) ? intval( $_REQUEST['num'] ) : $per_page; $this->wire_posts = BP_Wire_Post::get_all_for_item( $item_id, $this->table_name, $this->pag_page, $this->pag_num ); $this->total_wire_post_count = (int)$this->wire_posts['count']; $this->wire_posts = $this->wire_posts['wire_posts']; $this->wire_post_count = count($this->wire_posts); if ( is_site_admin() || ( (int)get_site_option('non-friend-wire-posting') && ( $bp->current_component == $bp->profile->slug || $bp->current_component == $bp->wire->slug ) ) ) $this->can_post = 1; else $this->can_post = $can_post; $this->pag_links = paginate_links( array( 'base' => add_query_arg( 'wpage', '%#%', $bp->displayed_user->domain ), 'format' => '', 'total' => ceil($this->total_wire_post_count / $this->pag_num), 'current' => $this->pag_page, 'prev_text' => '«', 'next_text' => '»', 'mid_size' => 1 )); } function has_wire_posts() { if ( $this->wire_post_count ) return true; return false; } function next_wire_post() { $this->current_wire_post++; $this->wire_post = $this->wire_posts[$this->current_wire_post]; return $this->wire_post; } function rewind_wire_posts() { $this->current_wire_post = -1; if ( $this->wire_post_count > 0 ) { $this->wire_post = $this->wire_posts[0]; } } function user_wire_posts() { if ( $this->current_wire_post + 1 < $this->wire_post_count ) { return true; } elseif ( $this->current_wire_post + 1 == $this->wire_post_count ) { do_action('bp_wire_loop_end'); // Do some cleaning up after the loop $this->rewind_wire_posts(); } $this->in_the_loop = false; return false; } function the_wire_post() { global $wire_post; $this->in_the_loop = true; $this->wire_post = $this->next_wire_post(); if ( 0 == $this->current_wire_post ) // loop has just started do_action('bp_wire_loop_start'); } } function bp_has_wire_posts( $args = '' ) { global $wire_posts_template, $bp; $defaults = array( 'item_id' => false, 'component_slug' => $bp->current_component, 'can_post' => true, 'per_page' => 5, 'max' => false ); $r = wp_parse_args( $args, $defaults ); extract( $r, EXTR_SKIP ); if ( !$item_id ) return false; $wire_posts_template = new BP_Wire_Posts_Template( $item_id, $component_slug, $can_post, $per_page, $max ); return apply_filters( 'bp_has_wire_posts', $wire_posts_template->has_wire_posts(), &$wire_posts_template ); } function bp_wire_posts() { global $wire_posts_template; return $wire_posts_template->user_wire_posts(); } function bp_the_wire_post() { global $wire_posts_template; return $wire_posts_template->the_wire_post(); } function bp_wire_get_post_list( $item_id = null, $title = null, $empty_message = null, $can_post = true, $show_email_notify = false ) { global $bp_item_id, $bp_wire_header, $bp_wire_msg, $bp_wire_can_post, $bp_wire_show_email_notify; if ( !$item_id ) return false; if ( !$empty_message ) $empty_message = __("There are currently no wire posts.", 'buddypress'); if ( !$title ) $title = __('Wire', 'buddypress'); /* Pass them as globals, using the same name doesn't work. */ $bp_item_id = $item_id; $bp_wire_header = $title; $bp_wire_msg = $empty_message; $bp_wire_can_post = $can_post; $bp_wire_show_email_notify = $show_email_notify; locate_template( array( '/wire/post-list.php' ), true ); } function bp_wire_title() { echo bp_get_wire_title(); } function bp_get_wire_title() { global $bp_wire_header; return apply_filters( 'bp_get_wire_title', $bp_wire_header ); } function bp_wire_item_id( $deprecated = false ) { global $bp_item_id; if ( $deprecated ) echo bp_get_wire_item_id(); else return bp_get_wire_item_id(); } function bp_get_wire_item_id() { global $bp_item_id; return apply_filters( 'bp_get_wire_item_id', $bp_item_id ); } function bp_wire_no_posts_message() { echo bp_get_wire_no_posts_message(); } function bp_get_wire_no_posts_message() { global $bp_wire_msg; return apply_filters( 'bp_get_wire_no_posts_message', $bp_wire_msg ); } function bp_wire_can_post() { global $bp_wire_can_post; return apply_filters( 'bp_wire_can_post', $bp_wire_can_post ); } function bp_wire_show_email_notify() { global $bp_wire_show_email_notify; return apply_filters( 'bp_wire_show_email_notify', $bp_wire_show_email_notify ); } function bp_wire_post_id( $deprecated = true ) { global $wire_posts_template; if ( !$deprecated ) return bp_get_wire_post_id(); else echo bp_get_wire_post_id(); } function bp_get_wire_post_id() { global $wire_posts_template; return apply_filters( 'bp_get_wire_post_id', $wire_posts_template->wire_post->id ); } function bp_wire_post_content() { echo bp_get_wire_post_content(); } function bp_get_wire_post_content() { global $wire_posts_template; return apply_filters( 'bp_get_wire_post_content', $wire_posts_template->wire_post->content ); } function bp_wire_needs_pagination() { global $wire_posts_template; if ( $wire_posts_template->total_wire_post_count > $wire_posts_template->pag_num ) return true; return false; } function bp_wire_pagination() { echo bp_get_wire_pagination(); wp_nonce_field( 'get_wire_posts' ); } function bp_get_wire_pagination() { global $wire_posts_template; return apply_filters( 'bp_get_wire_pagination', $wire_posts_template->pag_links ); } function bp_wire_pagination_count() { echo bp_get_wire_pagination_count(); } function bp_get_wire_pagination_count() { global $wire_posts_template; $from_num = intval( ( $wire_posts_template->pag_page - 1 ) * $wire_posts_template->pag_num ) + 1; $to_num = ( $from_num + ( $wire_posts_template->pag_num - 1) > $wire_posts_template->total_wire_post_count ) ? $wire_posts_template->total_wire_post_count : $from_num + ( $wire_posts_template->pag_num - 1); return apply_filters( 'bp_get_wire_pagination_count', sprintf( __( 'Viewing post %d to %d (%d total posts)', 'buddypress' ), $from_num, $to_num, $wire_posts_template->total_wire_post_count ) ); } function bp_wire_ajax_loader_src() { echo bp_get_wire_ajax_loader_src(); } function bp_get_wire_ajax_loader_src() { global $bp; return apply_filters( 'bp_get_wire_ajax_loader_src', $bp->wire->image_base . '/ajax-loader.gif' ); } function bp_wire_post_date( $deprecated = null, $deprecated2 = true ) { global $wire_posts_template; if ( !$deprecated2 ) return bp_get_wire_post_date(); else echo bp_get_wire_post_date(); } function bp_get_wire_post_date() { global $wire_posts_template; return apply_filters( 'bp_get_wire_post_date', mysql2date( get_blog_option( BP_ROOT_BLOG, 'date_format'), $wire_posts_template->wire_post->date_posted ) ); } function bp_wire_post_author_name( $deprecated = true ) { global $wire_posts_template; if ( !$deprecated ) return bp_get_wire_post_author_name(); else echo bp_get_wire_post_author_name(); } function bp_get_wire_post_author_name() { global $wire_posts_template; return apply_filters( 'bp_get_wire_post_author_name', bp_core_get_userlink( $wire_posts_template->wire_post->user_id ) ); } function bp_wire_post_author_avatar() { echo bp_get_wire_post_author_avatar(); } function bp_get_wire_post_author_avatar() { global $wire_posts_template; return apply_filters( 'bp_get_wire_post_author_avatar', bp_core_fetch_avatar( array( 'item_id' => $wire_posts_template->wire_post->user_id, 'type' => 'thumb' ) ) ); } function bp_wire_get_post_form() { global $wire_posts_template; if ( is_user_logged_in() && $wire_posts_template->can_post ) locate_template( array( '/wire/post-form.php' ), true ); } function bp_wire_get_action() { echo bp_get_wire_get_action(); } function bp_get_wire_get_action() { global $bp; if ( empty( $bp->current_item ) ) $uri = $bp->current_action; else $uri = $bp->current_item; if ( $bp->current_component == $bp->wire->slug || $bp->current_component == $bp->profile->slug ) { return apply_filters( 'bp_get_wire_get_action', $bp->displayed_user->domain . $bp->wire->slug . '/post/' ); } else { return apply_filters( 'bp_get_wire_get_action', site_url() . '/' . $bp->{$bp->active_components[$bp->current_component]}->slug . '/' . $uri . '/' . $bp->wire->slug . '/post/' ); } } function bp_wire_poster_avatar() { echo bp_get_wire_poster_avatar(); } function bp_get_wire_poster_avatar() { global $bp; return apply_filters( 'bp_get_wire_poster_avatar', bp_core_fetch_avatar( array( 'item_id' => $bp->loggedin_user->id, 'type' => 'thumb' ) ) ); } function bp_wire_poster_name( $deprecated = true ) { if ( !$deprecated ) return bp_get_wire_poster_name(); else echo bp_get_wire_poster_name(); } function bp_get_wire_poster_name() { global $bp; return apply_filters( 'bp_get_wire_poster_name', '' . __('You', 'buddypress') . '' ); } function bp_wire_poster_date( $deprecated = null, $deprecated2 = true ) { if ( !$deprecated2 ) return bp_get_wire_poster_date(); else echo bp_get_wire_poster_date(); } function bp_get_wire_poster_date() { return apply_filters( 'bp_get_wire_poster_date', mysql2date( get_blog_option( BP_ROOT_BLOG, 'date_format' ), date("Y-m-d H:i:s") ) ); } function bp_wire_delete_link() { echo bp_get_wire_delete_link(); } function bp_get_wire_delete_link() { global $wire_posts_template, $bp; if ( empty( $bp->current_item ) ) $uri = $bp->current_action; else $uri = $bp->current_item; if ( ( $wire_posts_template->wire_post->user_id == $bp->loggedin_user->id ) || $bp->is_item_admin || is_site_admin() ) { if ( $bp->wire->slug == $bp->current_component || $bp->profile->slug == $bp->current_component ) { return apply_filters( 'bp_get_wire_delete_link', '' . __('Delete', 'buddypress') . '' ); } else { return apply_filters( 'bp_get_wire_delete_link', '' . __('Delete', 'buddypress') . '' ); } } } function bp_wire_see_all_link() { echo bp_get_wire_see_all_link(); } function bp_get_wire_see_all_link() { global $bp; if ( empty( $bp->current_item ) ) $uri = $bp->current_action; else $uri = $bp->current_item; if ( $bp->current_component == $bp->wire->slug || $bp->current_component == $bp->profile->slug ) { return apply_filters( 'bp_get_wire_see_all_link', $bp->displayed_user->domain . $bp->wire->slug ); } else { return apply_filters( 'bp_get_wire_see_all_link', $bp->root_domain . '/' . $bp->groups->slug . '/' . $uri . '/wire' ); } } function bp_custom_wire_boxes_before() { do_action( 'bp_wire_custom_wire_boxes_before' ); } function bp_custom_wire_boxes_after() { do_action( 'bp_wire_custom_wire_boxes_after' ); } ?>