This week only. Pastebin PRO Accounts Christmas Special! Don't miss out!Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Dec 29th, 2010  |  syntax: None  |  size: 1.87 KB  |  views: 128  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. class BP_Blog_Post_Fav {
  2.  
  3.         var $activity_id;
  4.  
  5.         function init() {
  6.                 add_action( 'the_post', array( &$this, 'get_blog_post_activity_id' ) );
  7.         }
  8.  
  9.         function get_blog_post_activity_id() {
  10.                 global $current_blog, $post;
  11.                
  12.                 if( isset($post->ID) ) :
  13.                         $activity_id = bp_activity_get_activity_id( array(
  14.                         'user_id' => $post->post_author,
  15.                         'type' => 'new_blog_post',
  16.                         'component' => 'blogs',
  17.                         'item_id' => $current_blog->blog_id,
  18.                         'secondary_item_id' => $post->ID) );
  19.  
  20.                         $this->activity_id = $activity_id;
  21.  
  22.                         if( !empty($this->activity_id) ) {
  23.                                 add_filter( 'bp_get_activity_favorite_link', array( &$this, 'bp_get_activity_favorite_link' ) );
  24.                                 add_filter( 'bp_get_activity_unfavorite_link', array( &$this, 'bp_get_activity_unfavorite_link' ) );   
  25.                                 add_filter( 'bp_get_activity_is_favorite', array( &$this, 'bp_get_activity_is_favorite' ) );
  26.                         }              
  27.  
  28.                 endif;
  29.  
  30.         }
  31.  
  32.         function bp_get_activity_favorite_link() {
  33.                 global $current_blog;
  34.  
  35.                 if( $current_blog->blog_id != BP_ROOT_BLOG )
  36.                         switch_to_blog( BP_ROOT_BLOG );
  37.  
  38.                 $nonce = wp_nonce_url( site_url( BP_ACTIVITY_SLUG . '/favorite/' . $this->activity_id . '/' ), 'mark_favorite' );
  39.  
  40.                 if( $current_blog->blog_id != BP_ROOT_BLOG )
  41.                         restore_current_blog();
  42.  
  43.                 return $nonce;
  44.         }
  45.  
  46.         function bp_get_activity_unfavorite_link() {
  47.                 global $current_blog;
  48.  
  49.                 if( $current_blog->blog_id != BP_ROOT_BLOG )
  50.                         switch_to_blog( BP_ROOT_BLOG );
  51.  
  52.                 $nonce = wp_nonce_url( site_url( BP_ACTIVITY_SLUG . '/unfavorite/' . $this->activity_id . '/' ), 'unmark_favorite' );
  53.  
  54.                 if( $current_blog->blog_id != BP_ROOT_BLOG )
  55.                         restore_current_blog();
  56.  
  57.                 return $nonce;
  58.         }
  59.  
  60.         function bp_get_activity_is_favorite() {
  61.                 global $bp;
  62.  
  63.                 return in_array( $this->activity_id, (array)bp_activity_get_user_favorites($bp->loggedin_user->id) );
  64.         }              
  65. }
  66. $my_bp_favorite = new BP_Blog_Post_Fav();
  67. $my_bp_favorite->init();
clone this paste RAW Paste Data