Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if ( !class_exists( 'E2E_News_Feed' ) ) :
- class E2E_News_Feed {
- function __construct() {
- add_action( 'init', array( $this, 'register_post_types' ) );
- add_action( 'save_post', array( $this, 'record_activity' ), 10, 2 );
- }
- // Be sure to set up FeedWordPress so that it imports to E2E Feed Items
- function register_post_types() {
- $feed_labels = array(
- 'name' => _x('E2E Feed Item', 'post type general name'),
- 'singular_name' => _x('E2E Feed Item', 'post type singular name'),
- 'add_new' => _x('Add New', 'book'),
- 'add_new_item' => __('Add New E2E Feed Item'),
- 'edit_item' => __('Edit E2E Feed Item'),
- 'new_item' => __('New E2E Feed Item'),
- 'view_item' => __('View E2E Feed Item'),
- 'search_items' => __('Search E2E Feed Items'),
- 'not_found' => __('No E2E Feed Items found'),
- 'not_found_in_trash' => __('No E2E Feed Items found in Trash'),
- 'parent_item_colon' => ''
- );
- register_post_type( 'e2e_feed_item', array(
- 'label' => 'E2E Feed Item',
- 'labels' => $feed_labels,
- 'public' => true,
- '_builtin' => false,
- 'show_ui' => true,
- 'hierarchical' => false,
- 'taxonomies' => array( 'post_tag', 'category' ),
- 'supports' => array('title', 'editor', 'revisions', 'excerpt'),
- 'query_var' => true,
- //'rewrite' => false
- 'rewrite' => array( "slug" => "feed-item", 'with_front' => false ), // Permalinks format
- ));
- }
- function record_activity( $post_id, $post, $user_id = false ) {
- global $bp, $wpdb;
- $post_id = (int)$post_id;
- $blog_id = (int)$wpdb->blogid;
- if ( !$user_id )
- $user_id = (int)$post->post_author;
- /* This is to stop infinite loops with Donncha's sitewide tags plugin */
- if ( (int)$bp->site_options['tags_blog_id'] == (int)$blog_id )
- return false;
- /* Don't record this if it's not a post */
- if ( $post->post_type != 'e2e_feed_item' )
- return false;
- if ( 'publish' == $post->post_status && '' == $post->post_password ) {
- if ( (int)get_blog_option( $blog_id, 'blog_public' ) || !bp_core_is_multisite() ) {
- /* Record this in activity streams */
- $post_permalink = get_permalink( $post_id );
- $activity_action = sprintf( __( '%s wrote a new blog post: %s', 'buddypress' ), bp_core_get_userlink( (int)$post->post_author ), '<a href="' . $post_permalink . '">' . $post->post_title . '</a>' );
- $activity_content = $post->post_content;
- bp_blogs_record_activity( array(
- 'user_id' => (int)$post->post_author,
- 'action' => apply_filters( 'bp_blogs_activity_new_post_action', $activity_action, &$post, $post_permalink ),
- 'content' => apply_filters( 'bp_blogs_activity_new_post_content', $activity_content, &$post, $post_permalink ),
- 'primary_link' => apply_filters( 'bp_blogs_activity_new_post_primary_link', $post_permalink, $post_id ),
- 'type' => 'new_blog_post',
- 'item_id' => $blog_id,
- 'secondary_item_id' => $post_id,
- 'recorded_time' => $post->post_date_gmt
- ));
- }
- } else
- bp_blogs_remove_post( $post_id, $blog_id );
- bp_blogs_update_blogmeta( $blog_id, 'last_activity', bp_core_current_time() );
- do_action( 'bp_blogs_new_blog_post', $post_id, $post, $user_id );
- }
- }
- endif;
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement