Plugin Directory

Changeset 916052


Ignore:
Timestamp:
05/17/2014 09:57:39 AM (12 years ago)
Author:
megainfo
Message:

new update

Location:
buddypress-activity-privacy/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • buddypress-activity-privacy/trunk/history.txt

    r896735 r916052  
    1919--------------------------------------------------------------
    2020
    21 - Integration With Buddypress Follow plugin :P.
     21- Integration With Buddypress Follow plugin.
    2222- Integration With Buddypress Activity Plus plugin :XD.
    2323- Fix the array of privacy levels.
     
    9494- Work on Multisite network.
    9595- Fix "new post" activities dropdown privacy as profile activites privacy.
     96
     97Version 1.3.2 (Mai 17, 2014)
     98--------------------------------------------------------------
     99- Fix issues when Buddypress Follow is activate
     100- Fix visibility of "Last update" activity on member header and members loop.
     101- Beta Integration with buddypress-media plugin (rtMedia for WordPress, BuddyPress and bbPress).
  • buddypress-activity-privacy/trunk/includes/bp-activity-privacy-actions.php

    r896735 r916052  
    3333    if( isset( $_POST['visibility'] ) && in_array( esc_attr( $_POST['visibility'] ), $levels ) )
    3434        $visibility = esc_attr($_POST['visibility']);
    35    
     35
    3636    bp_activity_update_meta( $activity_id, 'activity-privacy', $visibility );
    3737}
     
    5050
    5151    $levels = bp_get_groups_activity_privacy_levels();
    52 
    5352    if( isset( $_POST['visibility'] ) && in_array( esc_attr( $_POST['visibility'] ), $levels ) )
    5453        $visibility = esc_attr($_POST['visibility']);
    55    
     54
    5655    bp_activity_update_meta( $activity_id, 'activity-privacy', $visibility );
    5756}
  • buddypress-activity-privacy/trunk/includes/bp-activity-privacy-cssjs.php

    r896735 r916052  
    4444    // $srcs = array_map('basename', (array) wp_list_pluck($wp_styles->registered, 'src') );
    4545    // if ( !in_array('font-awesome.css', $srcs) && !in_array('font-awesome.min.css', $srcs)  ) {
    46     wp_enqueue_style( 'bp-font-awesome-css', plugins_url( 'css/font-awesome/css/font-awesome.min.css' ,  __FILE__ ));
     46    wp_enqueue_style( 'bp-activity-privacy-font-awesome-css', plugins_url( 'css/font-awesome/css/font-awesome.min.css' ,  __FILE__ ));
    4747    // }
    4848    wp_enqueue_style( 'bp-activity-privacy-css', plugins_url( 'css/bp-activity-privacy.css' ,  __FILE__ ));
  • buddypress-activity-privacy/trunk/includes/bp-activity-privacy-filters.php

    r896735 r916052  
    99if ( !defined( 'ABSPATH' ) ) exit;
    1010
     11
     12 /* Check if the loggedin member can view the activity
     13 * @param  [Activity] $activity          [description]
     14 * @param  [int] $bp_loggedin_user_id [description]
     15 * @param [boolean]$is_super_admin             [description]
     16 * @param [int]$bp_displayed_user_id             [description]
     17 * @return [boolean]
     18 */
     19function bp_visibility_is_activity_invisible( $activity, $bp_loggedin_user_id, $is_super_admin ) {
     20
     21    if( $bp_loggedin_user_id == $activity->user_id )
     22       return false;
     23
     24    $visibility = bp_activity_get_meta( $activity->id, 'activity-privacy' );
     25    $remove_from_stream = false;
     26 
     27
     28    switch ( $visibility ) {
     29        //Logged in users
     30        case 'loggedin' :
     31            if( !$bp_loggedin_user_id )
     32                $remove_from_stream = true;
     33            break;
     34
     35        //My friends   
     36        case 'friends' :
     37            if ( bp_is_active( 'friends' ) ) {
     38                $is_friend = friends_check_friendship( $bp_loggedin_user_id, $activity->user_id );
     39                if( !$is_friend )
     40                    $remove_from_stream = true;
     41            }
     42            break;   
     43
     44        //@Mentioned Only 
     45        case 'mentionedonly' :
     46            $usernames = bp_activity_find_mentions( $activity->content );
     47            $is_mentioned = array_key_exists( $bp_loggedin_user_id,  (array)$usernames );
     48
     49            if( !$is_mentioned )
     50                $remove_from_stream = true;
     51            break;   
     52
     53        //My friends in the group   
     54        case 'groupfriends' :
     55            if ( bp_is_active( 'friends' ) ) {
     56                $is_friend = friends_check_friendship( $bp_loggedin_user_id, $activity->user_id );
     57            } else
     58                 $is_friend = true;
     59
     60            if ( bp_is_active( 'groups' ) ) {     
     61                $group_is_user_member = groups_is_user_member( $bp_loggedin_user_id, $activity->item_id );
     62            } else
     63                return true;
     64
     65            if( !$is_friend || !$group_is_user_member)
     66                $remove_from_stream = true;
     67            break;
     68
     69        //Only group members   
     70        case 'grouponly' :
     71            $group_is_user_member = groups_is_user_member( $bp_loggedin_user_id, $activity->item_id );
     72            if( !$group_is_user_member )
     73                $remove_from_stream = true;
     74            break; 
     75
     76        //Only group moderators   
     77        case 'groupmoderators' :
     78            $group_is_user_mod = groups_is_user_mod( $bp_loggedin_user_id, $activity->item_id );
     79            if( !$group_is_user_mod )
     80                $remove_from_stream = true;
     81            break; 
     82
     83        //Only group admins   
     84        case 'groupadmins' :
     85            $group_is_user_admin = groups_is_user_admin( $bp_loggedin_user_id, $activity->item_id );
     86            if( !$group_is_user_admin )
     87                $remove_from_stream = true;
     88            break; 
     89
     90        //Only Admins   
     91        case 'adminsonly' :
     92            if( !$is_super_admin )
     93                $remove_from_stream = true;
     94            break;   
     95
     96        //Only Me   
     97        case 'onlyme' :
     98            if( $bp_loggedin_user_id != $activity->user_id )
     99                $remove_from_stream = true;
     100            break;             
     101
     102        default:
     103            //public
     104            break;
     105    }
     106
     107    // mentioned members can always see the acitivity whatever the privacy level
     108    if ( $visibility != 'mentionedonly' && $bp_loggedin_user_id && $remove_from_stream ){
     109        $usernames = bp_activity_find_mentions( $activity->content );
     110        $is_mentioned = array_key_exists( $bp_loggedin_user_id,  (array)$usernames );
     111        if( $is_mentioned ) {
     112            $remove_from_stream = false;
     113        }
     114    }
     115 
     116    $remove_from_stream = apply_filters( 'bp_more_visibility_activity_filter', $remove_from_stream, $visibility, $activity);
     117
     118    return $remove_from_stream;
     119
     120}
    11121/**
    12122 * bp_visibility_activity_filter
     
    24134    foreach ( $activities->activities as $key => $activity ) {
    25135
     136        /*
    26137        if( $bp_loggedin_user_id == $activity->user_id  )
    27138            continue;
     139
    28140        $visibility = bp_activity_get_meta( $activity->id, 'activity-privacy' );
    29141        $remove_from_stream = false;
     
    39151            //My friends   
    40152            case 'friends' :
    41                 $is_friend = friends_check_friendship( $bp_loggedin_user_id, $activity->user_id );
    42                 if( !$is_friend )
    43                     $remove_from_stream = true;
     153                if ( bp_is_active( 'friends' ) ) {
     154                    $is_friend = friends_check_friendship( $bp_loggedin_user_id, $activity->user_id );
     155                    if( !$is_friend )
     156                        $remove_from_stream = true;
     157                }
    44158                break;   
    45159
     
    55169            //My friends in the group   
    56170            case 'groupfriends' :
    57                 $is_friend = friends_check_friendship( $bp_loggedin_user_id, $activity->user_id );
    58                 $group_is_user_member = groups_is_user_member( $bp_loggedin_user_id, $activity->item_id );
     171                if ( bp_is_active( 'friends' ) ) {
     172                    $is_friend = friends_check_friendship( $bp_loggedin_user_id, $activity->user_id );
     173                } else
     174                     $is_friend = true;
     175
     176                if ( bp_is_active( 'groups' ) ) {     
     177                    $group_is_user_member = groups_is_user_member( $bp_loggedin_user_id, $activity->item_id );
     178                } else
     179                    return true;
    59180
    60181                if( !$is_friend || !$group_is_user_member)
     
    110231     
    111232        $remove_from_stream = apply_filters( 'bp_more_visibility_activity_filter', $remove_from_stream, $visibility, $activity);
    112 
     233        */
     234
     235        $remove_from_stream = bp_visibility_is_activity_invisible( $activity, $bp_loggedin_user_id, $is_super_admin );
     236       
    113237        if ( $remove_from_stream && isset( $activities->activity_count ) ) {
    114238            $activities->activity_count = $activities->activity_count - 1;
     
    117241    }
    118242
    119    
    120243    $activities_new = array_values( $activities->activities );
    121 
    122244    $activities->activities = $activities_new;
    123245   
     
    125247}
    126248add_action( 'bp_has_activities', 'bp_visibility_activity_filter', 10, 2 );
    127 
    128 
    129 
    130249
    131250//add_filter( 'bp_get_last_activity', 'bp_activity_privacy_last_activity', 10, 1);
     
    175294}
    176295
     296// prevent members to see last activity on members loop
    177297add_filter('bp_get_member_latest_update', 'bp_activity_privacy_member_latest_update',10, 1);
    178298function bp_activity_privacy_member_latest_update( $update_content ){
     
    182302    if ( !empty( $latest_update ) ) {
    183303        $activity_id = $latest_update['id'];
    184         $activity = bp_activity_get_specific( array( 'activity_ids' => $activity_id ) );
     304        $activities = bp_activity_get_specific( array( 'activity_ids' => $activity_id ) );
    185305
    186306        // single out the activity
    187         $activity_single = $activity["activities"][0];
    188 
     307        $activity = $activities["activities"][0];
     308
     309        /*
    189310        $has_activities = false;
    190311        $activities = new stdClass();
    191312        $activities->activities = array();
    192         $activities->activities[] = $activity_single;
     313        $activities->activities[] = $activity;
    193314
    194315        bp_visibility_activity_filter( $has_activities, $activities );
    195 
    196316        if ( empty( $activities->activities ) )
    197             return '';
    198  
    199     }
     317         return '';
     318        */
     319
     320        $is_super_admin = is_super_admin();
     321        $bp_displayed_user_id = bp_displayed_user_id();
     322        $bp_loggedin_user_id = bp_loggedin_user_id();
     323   
     324        $remove_from_stream = bp_visibility_is_activity_invisible( $activity, $bp_loggedin_user_id, $is_super_admin );
     325     
     326        if ($remove_from_stream)
     327            return false;
     328       
     329    }
     330
    200331    return $update_content;
    201332}
     333
     334// prevent members to see last activity on member header page
     335add_filter('get_user_metadata', 'last_activimeta',10, 3);
     336function last_activimeta( $retval, $object_id, $meta_key ){
     337    if ($meta_key == 'bp_latest_update') {
     338         remove_filter('get_user_metadata', 'last_activimeta');
     339         $retval = get_metadata('user', $object_id, $meta_key);
     340         if( isset($retval) && is_array($retval) ) {
     341            $activity_id = $retval['id'];
     342
     343            $is_super_admin = is_super_admin();
     344            $bp_displayed_user_id = bp_displayed_user_id();
     345            $bp_loggedin_user_id = bp_loggedin_user_id();
     346
     347            $activities = bp_activity_get_specific( array( 'activity_ids' => $activity_id ) );
     348            $activity = $activities["activities"][0];
     349            $remove_from_stream = bp_visibility_is_activity_invisible( $activity, $bp_loggedin_user_id, $is_super_admin, $bp_displayed_user_id );
     350            if ($remove_from_stream) {
     351                return false;
     352            }   
     353         }
     354         return $retval;
     355       
     356    }
     357}
  • buddypress-activity-privacy/trunk/includes/bp-activity-privacy-integrations.php

    r848838 r916052  
    6161    add_filter('bp_groups_activity_privacy_levels_filter', 'bp_get_profile__follow_groups_privacy_levels', 10, 1);
    6262    function bp_get_profile__follow_groups_privacy_levels($groups_activity_privacy_levels){
    63         $profile_activity_privacy_levels [] = 'followers';
     63        $groups_activity_privacy_levels [] = 'followers';
    6464        //followers in the group
    65         $profile_activity_privacy_levels [] = 'groupfollowers';
    66 
    67         return $profile_activity_privacy_levels;
     65        $groups_activity_privacy_levels [] = 'groupfollowers';
     66
     67        return $groups_activity_privacy_levels;
    6868    }
    6969
     
    157157   
    158158}
     159
     160
     161
     162
     163// Integration with rTmedia
     164
     165
     166/**
     167 * Check the privacy for each medias and remove
     168 * the not authorized medias from media array
     169 */
     170function bp_ap_rtmedia(){
     171    global $rtmedia_query;
     172    have_rtmedia ();
     173
     174    $is_super_admin = is_super_admin();
     175    $bp_displayed_user_id = bp_displayed_user_id();
     176    $bp_loggedin_user_id = bp_loggedin_user_id();
     177
     178    if ( ( !empty($bp_displayed_user_id)  && $bp_displayed_user_id == $bp_loggedin_user_id ) ||  $is_super_admin )
     179        return;
     180
     181    $count_removed_media = 0;
     182    if (!empty($rtmedia_query->media)) {
     183        foreach ($rtmedia_query->media as $key => $media) {
     184
     185            $activities = bp_activity_get_specific( array( 'activity_ids' => $media->activity_id ) );
     186            $activity = $activities["activities"][0];
     187           
     188            $remove_from_stream = bp_visibility_is_activity_invisible( $activity, $bp_loggedin_user_id, $is_super_admin, $bp_displayed_user_id );
     189            if ($remove_from_stream) {
     190                unset($rtmedia_query->media[$key]);
     191                $count_removed_media++;
     192            }   
     193        }
     194        //rearrange array keys
     195        $rtmedia_query->media = array_values($rtmedia_query->media);
     196
     197        $rtmedia_query->media_count = $rtmedia_query->media_count - $count_removed_media;
     198    }
     199}
     200add_action('rtmedia_before_media', 'bp_ap_rtmedia');
     201add_action('rtmedia_after_media_gallery_title', 'bp_ap_rtmedia');
     202
     203/**
     204 * Update media count user meta each time a user
     205 * visit the profile page.
     206 */
     207function bp_ap_rtmedia_update_member_medias_count(){
     208    global $bp, $wpdb;
     209
     210    $is_super_admin = is_super_admin();
     211    $bp_displayed_user_id = bp_displayed_user_id();
     212    $bp_loggedin_user_id = bp_loggedin_user_id();
     213    //if ($bp_displayed_user_id == $bp_loggedin_user_id)
     214    //  return;
     215
     216    global $rtmedia, $rtmedia_query;
     217
     218    $allowed_media_types = array();
     219    foreach ( $rtmedia->allowed_types as $value ) {
     220        $allowed_media_types[ ] = $value['name'];
     221    }
     222    $allowed_media_types = implode("','", $allowed_media_types);
     223    $allowed_media_types = "'".$allowed_media_types."'";
     224
     225    $table_name = $rtmedia_query->model->table_name;
     226
     227    $r = $wpdb->get_results( $wpdb->prepare( "SELECT activity_id, media_type
     228                               from {$table_name}
     229                              where media_type IN ({$allowed_media_types})
     230                                and context = 'profile'
     231                                and media_author = %d   
     232                                and blog_id = %d", $bp_displayed_user_id, get_current_blog_id() ) );
     233
     234
     235    $removed_media_count = array();
     236    foreach ( $r as $my_r ) {
     237        $activities = bp_activity_get_specific( array( 'activity_ids' => $my_r->activity_id ) );
     238        $activity = $activities["activities"][0];
     239
     240        $remove_from_stream = bp_visibility_is_activity_invisible( $activity, $bp_loggedin_user_id, $is_super_admin, $bp_displayed_user_id );
     241       
     242        if ($remove_from_stream) {
     243            $removed_media_count[$my_r->media_type]++;
     244        }
     245 
     246    }
     247
     248    $rtMediaNav = new RTMediaNav();
     249    $rtMediaNav->refresh_counts( $bp_displayed_user_id, array( "context" => 'profile', 'media_author' => $bp_displayed_user_id )  );
     250    $media_count = $rtMediaNav->get_counts( $bp_displayed_user_id );
     251
     252    $count = array();
     253    $count[0] = new stdClass();
     254    if ( !empty($media_count) ){
     255        // merga and sum all media by privacy
     256        foreach ($media_count as $media) {
     257            foreach ($media as $key => $value) {
     258                if ( !isset($count[0]->{$key}) )
     259                    $count[0]->{$key} = 0;
     260
     261                $count[0]->{$key} += $value;
     262            }
     263        }
     264        $media_count = $count;
     265    }
     266
     267    $total = null;
     268    if ( !empty($removed_media_count) && !empty($media_count) ) {
     269        $total = 0;
     270        foreach ($removed_media_count as $key => $value) {
     271            $media_count[0]->{$key} -= $value;
     272            $total += $media_count[0]->{$key};
     273        }
     274    }
     275
     276    if ( isset($total) ) {
     277        $slug = apply_filters('rtmedia_media_tab_slug', RTMEDIA_MEDIA_SLUG );
     278
     279        foreach ($bp->bp_nav as $key => $value) {
     280            if ($value['slug'] == $slug) {
     281                $bp->bp_nav[$key]['name'] = RTMEDIA_MEDIA_LABEL . '<span>' . $total . '</span>';
     282                break;
     283            }
     284        }
     285    }
     286
     287    // update metadata
     288    update_user_meta ( $bp_displayed_user_id, 'rtmedia_counts_' . get_current_blog_id(), $media_count );
     289}
     290add_action('bp_after_member_header', 'bp_ap_rtmedia_update_member_medias_count');
     291
     292
     293/**
     294 * clear the media count user meta to force recomputing
     295 * it after each visit of profile page
     296 */
     297function bp_ap_rtmedia_reset_member_medias_count(){
     298    global $bp;
     299    $bp_displayed_user_id = bp_displayed_user_id();
     300    update_user_meta ( $bp_displayed_user_id, 'rtmedia_counts_' . get_current_blog_id(), null );
     301}
     302add_action('bp_after_member_body', 'bp_ap_rtmedia_reset_member_medias_count');
     303//add_action('rtmedia_after_media_gallery', 'bp_activity_privacy_rtmedia_reset_count');
     304
     305
     306/**
     307 * Update media count user meta each time a user
     308 * visit the profile page.
     309 */
     310function bp_ap_rtmedia_update_group_medias_count(){
     311    global $bp, $wpdb;
     312
     313    $is_super_admin = is_super_admin();
     314    $bp_group_id = bp_get_group_id();
     315    $bp_loggedin_user_id = bp_loggedin_user_id();
     316    //if ($bp_displayed_user_id == $bp_loggedin_user_id)
     317    //  return;
     318   
     319    global $rtmedia, $rtmedia_query;
     320
     321    $allowed_media_types = array();
     322    foreach ( $rtmedia->allowed_types as $value ) {
     323        $allowed_media_types[ ] = $value['name'];
     324    }
     325    $allowed_media_types = implode("','", $allowed_media_types);
     326    $allowed_media_types = "'".$allowed_media_types."'";
     327
     328    $table_name = $rtmedia_query->model->table_name;
     329
     330    $r = $wpdb->get_results( $wpdb->prepare( "SELECT activity_id, media_type
     331                               from {$table_name}
     332                              where media_type IN ({$allowed_media_types})
     333                                and context = 'group'
     334                                and context_id = %d 
     335                                and blog_id = %d", $bp_group_id, get_current_blog_id() ) );
     336
     337    $removed_media_count = array();
     338    foreach ( $r as $my_r ) {
     339        $activities = bp_activity_get_specific( array( 'activity_ids' => $my_r->activity_id ) );
     340        $activity = $activities["activities"][0];
     341
     342        $remove_from_stream = bp_visibility_is_activity_invisible( $activity, $bp_loggedin_user_id, $is_super_admin, $bp_displayed_user_id );
     343       
     344        if ($remove_from_stream) {
     345            $removed_media_count[$my_r->media_type]++;
     346        }
     347
     348    }
     349
     350    $rtMediaNav = new RTMediaNav();
     351    $rtMediaNav->refresh_counts( $bp_group_id, array( "context" => 'group', 'context_id' => $bp_group_id ) );
     352    $media_count = $rtMediaNav->get_counts( $bp_group_id, array( "context" => 'group', 'context_id' => $bp_group_id ) );
     353
     354    $count = array();
     355    $count[0] = new stdClass();
     356    if ( !empty($media_count) ){
     357        // merga and sum all media by privacy
     358        foreach ($media_count as $media) {
     359            foreach ($media as $key => $value) {
     360                if ( !isset($count[0]->{$key}) )
     361                    $count[0]->{$key} = 0;
     362
     363                $count[0]->{$key} += $value;
     364            }
     365        }
     366        $media_count = $count;
     367    }
     368
     369    $total = 0;
     370    if ( !empty($removed_media_count) && !empty($media_count) ) {
     371        foreach ($removed_media_count as $key => $value) {
     372            $media_count[0]->{$key} -= $value;
     373            $total += $media_count[0]->{$key};
     374        }
     375
     376        $slug = apply_filters('rtmedia_media_tab_slug', RTMEDIA_MEDIA_SLUG );
     377        $nav = reset($bp->bp_options_nav);
     378        $kkey = key($bp->bp_options_nav);
     379        foreach ($nav as $key => $value) {
     380            if ($value['slug'] == $slug)  {
     381                $bp->bp_options_nav[$kkey][$key]['name'] = RTMEDIA_MEDIA_LABEL . '<span>' . $total . '</span>';
     382                break;
     383            }
     384        }
     385
     386    }
     387
     388    // update metadata
     389    groups_update_groupmeta ( $bp_group_id, 'rtmedia_counts_' . get_current_blog_id(), $media_count );
     390
     391}
     392add_action('bp_after_group_header', 'bp_ap_rtmedia_update_group_medias_count');
     393
     394
     395
     396/**
     397 * clear the media count user meta to force recomputing
     398 * it after each visit of profile page
     399 */
     400function bp_ap_rtmedia_reset_group_medias_count(){
     401    global $bp, $groups_template;
     402
     403    $bp_group_id = bp_get_group_id();
     404    if ( !isset($bp_group_id) ) {
     405        $bp_group_id = $groups_template->group->group_id;
     406    }
     407    //  bp_get_group_id() return null in media tab ( $groups_template->group is  stdClass on bp_after_group_body)
     408   
     409    groups_update_groupmeta ( $bp_group_id, 'rtmedia_counts_' . get_current_blog_id(), null );
     410
     411}
     412add_action('bp_after_group_body', 'bp_ap_rtmedia_reset_group_medias_count');
     413
     414
     415
     416function bp_ap_rtmedia_add_edit_fields(){
     417    global $bp, $rtmedia_query, $rtmedia_media;
     418
     419    if ( isset($rtmedia_media) ) {
     420        $activity_id = $rtmedia_media->activity_id;
     421        /*
     422        if ( isset( $rtmedia_query->query[ 'context' ] ) && $rtmedia_query->query[ 'context' ] == 'group' ){
     423            //if context is group i.e editing a group media, dont show the privacy dropdown
     424            // group media
     425        } else {
     426            // profile media
     427        }
     428        */
     429
     430        $visibility = bp_activity_get_meta( $activity_id, 'activity-privacy' );
     431
     432        global $bp_activity_privacy;
     433
     434        if ($rtmedia_media->context == 'group')
     435            $group_id = $rtmedia_media->context_id;
     436        else
     437            $group_id = null;
     438
     439        //if is not a group activity or a new blog post
     440        if( !isset( $group_id ) )
     441            $visibility_levels = bp_get_profile_activity_visibility_levels();   
     442        else
     443            $visibility_levels = bp_get_groups_activity_visibility_levels();
     444       
     445        //sort visibility_levels by position
     446        uasort ($visibility_levels, 'bp_activity_privacy_cmp_position');
     447
     448        $html = '<select class="bp-ap-media-selectbox" name="visibility" >';
     449        foreach ($visibility_levels as $visibility_level) {
     450            if( $visibility_level["disabled"] )
     451                continue;
     452            $html .= '<option class="" ' . ( $visibility_level['id'] == $visibility ? " selected='selected'" : '' ) . ' value="' . $visibility_level["id"] . '">&nbsp;' . $visibility_level["label"] . '</option>';
     453        }
     454        $html .= '</select>';
     455
     456        $html = apply_filters( 'bp_get_update_activitiy_visibility_selectbox', $html );
     457
     458        echo "<div class=''><label for='privacy'>" . __( 'Privacy : ', 'rtmedia' ) . "</label>   " . $html . "  </div>";
     459
     460    }
     461}
     462add_action('rtmedia_add_edit_fields', 'bp_ap_rtmedia_add_edit_fields');
     463
     464/**
     465 * Update the privacy value of the activity related to the media
     466 */
     467function bp_ap_rtmedia_after_update_media( $media_id ){
     468  if ( isset($media_id) ){
     469    global $bp, $wpdb, $rtmedia, $rtmedia_query;
     470
     471    // get the activity id related to the media
     472    $table_name = $rtmedia_query->model->table_name;
     473    $activity_id = $wpdb->get_var( $wpdb->prepare( "SELECT activity_id
     474                               from {$table_name}
     475                              where id = %d", $media_id ) );
     476
     477    $visibility = esc_attr($_POST['visibility']);
     478    bp_activity_update_meta( $activity_id, 'activity-privacy', $visibility );
     479
     480  }
     481
     482}
     483add_action('rtmedia_after_update_media', 'bp_ap_rtmedia_after_update_media');
     484
  • buddypress-activity-privacy/trunk/languages/buddypress-activity-privacy.pot

    r911298 r916052  
    33"Project-Id-Version: buddypress-activity-privacy\n"
    44"POT-Creation-Date: 2014-05-09 20:49-0000\n"
    5 "PO-Revision-Date: 2014-05-09 20:49-0000\n"
     5"PO-Revision-Date: 2014-05-09 21:33-0000\n"
    66"Last-Translator: \n"
    77"Language-Team: \n"
Note: See TracChangeset for help on using the changeset viewer.