/** * * @global type $rtmedia_interaction */ function sanitize_object() { if (!$this->has_context()) { global $rtmedia_interaction; $this->upload['context'] = $rtmedia_interaction->context->type; $this->upload['context_id'] = $rtmedia_interaction->context->id; } if (!is_array($this->upload['taxonomy'])) { $this->upload['taxonomy'] = array($this->upload['taxonomy']); } if (!is_array($this->upload['custom_fields'])) { $this->upload['custom_fields'] = array($this->upload['custom_fields']); } if (!$this->has_album_id() || !$this->has_album_permissions()) { $this->set_album_id(); } if (!$this->has_author()) { $this->set_author(); } if (is_rtmedia_privacy_enable()) { if (is_rtmedia_privacy_user_overide()) { if (!isset($_POST["privacy"])) { $this->upload['privacy'] = get_rtmedia_default_privacy(); } else { $this->upload['privacy'] = $_POST["privacy"]; } } else { $this->upload['privacy'] = get_rtmedia_default_privacy(); } } else { $this->upload['privacy'] = 0; } }
/** * * @global type $rtmedia_interaction */ function sanitize_object() { if (!$this->has_context()) { // Set context_id to Logged in user id if context is profile and context_id is not provided if ('profile' === $this->upload['context'] || 'bp_member' === $this->upload['context']) { $this->upload['context'] = 'profile'; $this->upload['context_id'] = get_current_user_id(); } else { global $rtmedia_interaction; $this->upload['context'] = $rtmedia_interaction->context->type; $this->upload['context_id'] = $rtmedia_interaction->context->id; } } if (!is_array($this->upload['taxonomy'])) { $this->upload['taxonomy'] = array($this->upload['taxonomy']); } if (!is_array($this->upload['custom_fields'])) { $this->upload['custom_fields'] = array($this->upload['custom_fields']); } if (!$this->has_album_id() || !$this->has_album_permissions()) { $this->set_album_id(); } if (!$this->has_author()) { $this->set_author(); } if (is_rtmedia_privacy_enable()) { if (is_rtmedia_privacy_user_overide()) { $privacy = filter_input(INPUT_POST, 'privacy', FILTER_SANITIZE_NUMBER_INT); if (is_null($privacy)) { $this->upload['privacy'] = get_rtmedia_default_privacy(); } else { $this->upload['privacy'] = $privacy; } } else { $this->upload['privacy'] = get_rtmedia_default_privacy(); } } else { $this->upload['privacy'] = 0; } }
function content() { if (buddypress()->current_action != 'privacy') { return; } if (isset($_POST["rtmedia-default-privacy"])) { update_user_meta(get_current_user_id(), 'rtmedia-default-privacy', $_POST["rtmedia-default-privacy"]); } $default_privacy = get_user_meta(get_current_user_id(), 'rtmedia-default-privacy', true); if ($default_privacy === false || $default_privacy === '') { $default_privacy = get_rtmedia_default_privacy(); } global $rtmedia; ?> <form method='post'> <div class="rtm_bp_default_privacy"> <div class="section"> <div class="columns large-2"><h2><?php _e("Default Privacy", "rtmedia"); ?> </h2></div> <div class="columns large-5"> <?php foreach ($rtmedia->privacy_settings['levels'] as $level => $data) { ?> <label><input type='radio' value='<?php echo $level; ?> ' name ='rtmedia-default-privacy' <?php echo $default_privacy == $level ? "checked" : ""; ?> /> <?php _e($data); ?> </label><br/> <?php } ?> </div> </div> </div> <br/> <div class="submit"> <input type="submit" name="submit" value="<?php esc_attr_e('Save Changes', 'rtmedia'); ?> " id="submit" class="auto"> </div> </form> <?php }
function bp_activity_posted_update($content, $user_id, $activity_id) { global $wpdb, $bp; $updated_content = ''; // hook for rtmedia buddypress before activity posted do_action('rtmedia_bp_before_activity_posted', $content, $user_id, $activity_id); if (isset($_POST['rtMedia_attached_files']) && is_array($_POST['rtMedia_attached_files'])) { $updated_content = $wpdb->get_var("select content from {$bp->activity->table_name} where id= {$activity_id}"); $objActivity = new RTMediaActivity($_POST['rtMedia_attached_files'], 0, $updated_content); $html_content = $objActivity->create_activity_html(); bp_activity_update_meta($activity_id, 'bp_old_activity_content', $html_content); bp_activity_update_meta($activity_id, 'bp_activity_text', $updated_content); $wpdb->update($bp->activity->table_name, array('type' => 'rtmedia_update', 'content' => $html_content), array('id' => $activity_id)); $mediaObj = new RTMediaModel(); $sql = "update {$mediaObj->table_name} set activity_id = '" . $activity_id . "' where blog_id = '" . get_current_blog_id() . "' and id in (" . implode(',', $_POST['rtMedia_attached_files']) . ')'; $wpdb->query($sql); } // hook for rtmedia buddypress after activity posted do_action('rtmedia_bp_activity_posted', $updated_content, $user_id, $activity_id); if (isset($_POST['rtmedia-privacy'])) { $privacy = -1; if (is_rtmedia_privacy_enable()) { if (is_rtmedia_privacy_user_overide()) { $privacy = $_POST['rtmedia-privacy']; } else { $privacy = get_rtmedia_default_privacy(); } } bp_activity_update_meta($activity_id, 'rtmedia_privacy', $privacy); // insert/update activity details in rtmedia activity table $rtmedia_activity_model = new RTMediaActivityModel(); if (!$rtmedia_activity_model->check($activity_id)) { $rtmedia_activity_model->insert(array('activity_id' => $activity_id, 'user_id' => $user_id, 'privacy' => $privacy)); } else { $rtmedia_activity_model->update(array('activity_id' => $activity_id, 'user_id' => $user_id, 'privacy' => $privacy), array('activity_id' => $activity_id)); } } }
function content() { if (buddypress()->current_action != 'privacy') { return; } $default_privacy = get_user_meta(get_current_user_id(), 'rtmedia-default-privacy', true); if ($default_privacy === false || $default_privacy === '') { $default_privacy = get_rtmedia_default_privacy(); } global $rtmedia; ?> <form method="post"> <div class="rtm_bp_default_privacy"> <?php wp_nonce_field('rtmedia_member_settings_privacy', 'rtmedia_member_settings_privacy'); ?> <div class="section"> <div class="rtm-title"><h3><?php esc_html_e('Default Privacy', 'buddypress-media'); ?> </h3></div> <div class="rtm-privacy-levels"> <?php foreach ($rtmedia->privacy_settings['levels'] as $level => $data) { ?> <label><input type='radio' value='<?php echo $level; ?> ' name ='rtmedia-default-privacy' <?php echo $default_privacy == $level ? "checked" : ""; ?> /> <?php echo $data; ?> </label><br/> <?php } ?> </div> </div> </div> <div class="submit"> <input type="submit" name="submit" value="<?php esc_attr_e('Save Changes', 'buddypress-media'); ?> " id="submit" class="auto"> </div> </form> <?php }
function rtmedia_api_process_rtmedia_upload_media_request() { $this->rtmediajsonapifunction->rtmedia_api_verfiy_token(); //Error Codes for new look $ec_no_file = 140001; $msg_no_file = __('no file', 'rtmedia'); $ec_invalid_file_string = 140005; $msg_invalid_file_string = __('invalid file string', 'rtmedia'); $ec_image_type_missing = 140006; $msg_image_type_missing = __('image type missing', 'rtmedia'); $ec_no_file_title = 140002; $msg_no_file_title = __('no title', 'rtmedia'); $ec_invalid_image = 140003; $msg_invalid_image = __('upload failed, check size and file type', 'rtmedia'); $ec_look_updated = 140004; $msg_look_updated = __('media updated', 'rtmedia'); $description = ''; extract($_POST); $updated = FALSE; $uploaded_look = FALSE; if (empty($_POST['rtmedia_file']) && empty($_FILES['rtmedia_file'])) { echo $this->rtmedia_api_response_object('FALSE', $ec_no_file, $msg_no_file); exit; } if (!empty($_POST['rtmedia_file'])) { if (empty($_POST['image_type'])) { echo $this->rtmedia_api_response_object('FALSE', $ec_image_type_missing, $msg_image_type_missing); exit; } if (empty($title)) { echo $this->rtmedia_api_response_object('FALSE', $ec_no_file_title, $msg_no_file_title); exit; } } if (!empty($_FILES['rtmedia_file'])) { $_POST['rtmedia_upload_nonce'] = $_REQUEST['rtmedia_upload_nonce'] = wp_create_nonce('rtmedia_upload_nonce'); $_POST['rtmedia_simple_file_upload'] = $_REQUEST['rtmedia_simple_file_upload'] = 1; $_POST['context'] = $_REQUEST['context'] = !empty($_REQUEST['context']) ? $_REQUEST['context'] : 'profile'; $_POST['context_id'] = $_REQUEST['context_id'] = !empty($_REQUEST['context_id']) ? $_REQUEST['context_id'] : $this->user_id; $_POST['mode'] = $_REQUEST['mode'] = 'file_upload'; $_POST['media_author'] = $_REQUEST['media_author'] = $this->user_id; $upload = new RTMediaUploadEndpoint(); $uploaded_look = $upload->template_redirect(); } else { //Process rtmedia_file $img = $rtmedia_file; $image_type = $_POST['image_type']; $str_replace = 'data:image/' . $image_type . ';base64,'; $img = str_replace($str_replace, '', $img); // $img = str_replace(' ', '+', $img); $rtmedia_file = base64_decode($img); if (!$rtmedia_file) { echo $this->rtmedia_api_response_object('FALSE', $ec_invalid_file_string, $msg_invalid_file_string); exit; } define('UPLOAD_DIR_LOOK', sys_get_temp_dir() . '/'); $tmp_name = UPLOAD_DIR_LOOK . $title; $file = $tmp_name . '.' . $image_type; $success = file_put_contents($file, $rtmedia_file); add_filter('upload_dir', array($this, 'api_new_media_upload_dir')); // echo $file; $new_look = wp_upload_bits($title . '.' . $image_type, '', $rtmedia_file); $new_look['type'] = 'image/' . $image_type; remove_filter('upload_dir', array($this, 'api_new_media_upload_dir')); foreach ($new_look as $key => $value) { $new_look[0][$key] = $value; unset($new_look[$key]); } //Jugaad if (!empty($tags)) { $tags = explode(',', $tags); } $uploaded['rtmedia_upload_nonce'] = wp_create_nonce('rtmedia_upload_nonce'); $uploaded['rtmedia_simple_file_upload'] = 1; $uploaded['context'] = !empty($_POST['context']) ? $_POST['context'] : 'profile'; $uploaded['context_id'] = !empty($_POST['context_id']) ? $_POST['context_id'] : $this->user_id; $uploaded['mode'] = 'file_upload'; $uploaded['media_author'] = $this->user_id; $uploaded['album_id'] = !empty($_POST['album_id']) ? $_POST['album_id'] : RTMediaAlbum::get_default(); $uploaded['privacy'] = !empty($_POST['privacy']) ? $_POST['privacy'] : get_rtmedia_default_privacy(); $uploaded['title'] = $title; $uploaded['description'] = $description; $uploaded['taxonomy'] = array(); $uploaded['custom_fields'] = array(); $rtmedia = new RTMediaMedia(); $rtupload = $rtmedia->add($uploaded, $new_look); $id = rtmedia_media_id($rtupload[0]); if (!empty($_POST['tags'])) { wp_set_post_terms($id, $_POST["tags"], 'media-category', true); } $media = $rtmedia->model->get(array('id' => $rtupload[0])); $rtMediaNav = new RTMediaNav(); $perma_link = ""; if (isset($media) && sizeof($media) > 0) { $perma_link = get_rtmedia_permalink($media[0]->id); if ($media[0]->media_type == "photo") { $thumb_image = rtmedia_image("rt_media_thumbnail", $rtupload[0], false); } elseif ($media[0]->media_type == "music") { $thumb_image = $media[0]->cover_art; } else { $thumb_image = ""; } if ($media[0]->context == "group") { $rtMediaNav->refresh_counts($media[0]->context_id, array("context" => $media[0]->context, 'context_id' => $media[0]->context_id)); } else { $rtMediaNav->refresh_counts($media[0]->media_author, array("context" => "profile", 'media_author' => $media[0]->media_author)); } $activity_id = $rtmedia->insert_activity($media[0]->media_id, $media[0]); $rtmedia->model->update(array('activity_id' => $activity_id), array('id' => $rtupload[0])); // $same_medias = $rtmedia->model->get(array('activity_id' => $activity_id)); $update_activity_media = array(); foreach ($same_medias as $a_media) { $update_activity_media[] = $a_media->id; } $privacy = 0; $objActivity = new RTMediaActivity($update_activity_media, $privacy, false); global $wpdb, $bp; $updated = $wpdb->update($bp->activity->table_name, array("type" => "rtmedia_update", "content" => $objActivity->create_activity_html()), array("id" => $activity_id)); // if there is only single media the $updated value will be false even if the value we are passing to check is correct. // So we need to hardcode the $updated to true if there is only single media for same activity if (sizeof($same_medias) == 1 && $activity_id) { $updated = true; } } } if ($updated || $uploaded_look) { echo $this->rtmedia_api_response_object('TRUE', $ec_look_updated, $msg_look_updated); exit; } else { echo $this->rtmedia_api_response_object('TRUE', $ec_invalid_image, $msg_invalid_image); exit; } }
function rtmedia_api_process_rtmedia_upload_media_request() { $this->rtmediajsonapifunction->rtmedia_api_verfiy_token(); //Error Codes for new look $ec_no_file = 140001; $msg_no_file = esc_html__('no file', 'buddypress-media'); $ec_invalid_file_string = 140005; $msg_invalid_file_string = esc_html__('invalid file string', 'buddypress-media'); $ec_image_type_missing = 140006; $msg_image_type_missing = esc_html__('image type missing', 'buddypress-media'); $ec_no_file_title = 140002; $msg_no_file_title = esc_html__('no title', 'buddypress-media'); $ec_invalid_image = 140003; $msg_invalid_image = esc_html__('upload failed, check size and file type', 'buddypress-media'); $ec_look_updated = 140004; $msg_look_updated = esc_html__('media updated', 'buddypress-media'); $description = ''; $rtmedia_file = filter_input(INPUT_POST, 'rtmedia_file', FILTER_SANITIZE_STRING); $image_type = filter_input(INPUT_POST, 'image_type', FILTER_SANITIZE_STRING); $title = filter_input(INPUT_POST, 'title', FILTER_SANITIZE_STRING); $updated = false; $uploaded_look = false; if (empty($rtmedia_file) && empty($_FILES['rtmedia_file'])) { wp_send_json($this->rtmedia_api_response_object('FALSE', $ec_no_file, $msg_no_file)); } if (!empty($rtmedia_file)) { if (empty($image_type)) { wp_send_json($this->rtmedia_api_response_object('FALSE', $ec_image_type_missing, $msg_image_type_missing)); } if (empty($title)) { wp_send_json($this->rtmedia_api_response_object('FALSE', $ec_no_file_title, $msg_no_file_title)); } } if (!empty($_FILES['rtmedia_file'])) { $_POST['rtmedia_upload_nonce'] = $_REQUEST['rtmedia_upload_nonce'] = wp_create_nonce('rtmedia_upload_nonce'); $_POST['rtmedia_simple_file_upload'] = $_REQUEST['rtmedia_simple_file_upload'] = 1; $_POST['context'] = $_REQUEST['context'] = !empty($_REQUEST['context']) ? wp_unslash($_REQUEST['context']) : 'profile'; $_POST['context_id'] = $_REQUEST['context_id'] = !empty($_REQUEST['context_id']) ? absint($_REQUEST['context_id']) : $this->user_id; $_POST['mode'] = $_REQUEST['mode'] = 'file_upload'; $_POST['media_author'] = $_REQUEST['media_author'] = $this->user_id; $upload = new RTMediaUploadEndpoint(); //todo refactor below function so it takes param also and use if passed else use POST request $uploaded_look = $upload->template_redirect(); } else { //Process rtmedia_file $img = $rtmedia_file; $str_replace = 'data:image/' . $image_type . ';base64,'; $img = str_replace($str_replace, '', $img); $rtmedia_file = base64_decode($img); if (!$rtmedia_file) { wp_send_json($this->rtmedia_api_response_object('FALSE', $ec_invalid_file_string, $msg_invalid_file_string)); } define('UPLOAD_DIR_LOOK', sys_get_temp_dir() . '/'); $tmp_name = UPLOAD_DIR_LOOK . $title; $file = $tmp_name . '.' . $image_type; $success = file_put_contents($file, $rtmedia_file); add_filter('upload_dir', array($this, 'api_new_media_upload_dir')); $new_look = wp_upload_bits($title . '.' . $image_type, '', $rtmedia_file); $new_look['type'] = 'image/' . $image_type; remove_filter('upload_dir', array($this, 'api_new_media_upload_dir')); foreach ($new_look as $key => $value) { $new_look[0][$key] = $value; unset($new_look[$key]); } //Jugaad if (!empty($tags)) { $tags = explode(',', $tags); } $album_id = filter_input(INPUT_POST, 'album_id', FILTER_SANITIZE_NUMBER_INT); $context_id = filter_input(INPUT_POST, 'context_id', FILTER_SANITIZE_NUMBER_INT); $context = filter_input(INPUT_POST, 'context', FILTER_SANITIZE_STRING); $privacy = filter_input(INPUT_POST, 'privacy', FILTER_SANITIZE_STRING); $tags = filter_input(INPUT_POST, 'tags', FILTER_SANITIZE_STRING); $uploaded['rtmedia_upload_nonce'] = wp_create_nonce('rtmedia_upload_nonce'); $uploaded['rtmedia_simple_file_upload'] = 1; $uploaded['context'] = !empty($context) ? $context : 'profile'; $uploaded['context_id'] = !empty($context_id) ? $context_id : $this->user_id; $uploaded['mode'] = 'file_upload'; $uploaded['media_author'] = $this->user_id; $uploaded['album_id'] = !empty($album_id) ? $album_id : RTMediaAlbum::get_default(); $uploaded['privacy'] = !empty($privacy) ? $privacy : get_rtmedia_default_privacy(); $uploaded['title'] = $title; $uploaded['description'] = $description; $uploaded['taxonomy'] = array(); $uploaded['custom_fields'] = array(); $rtmedia = new RTMediaMedia(); $rtupload = $rtmedia->add($uploaded, $new_look); $id = rtmedia_media_id($rtupload[0]); if (!empty($tags)) { wp_set_post_terms($id, $tags, 'media-category', true); } $media = $rtmedia->model->get(array('id' => $rtupload[0])); $rtmedia_nav = new RTMediaNav(); if (isset($media) && count($media) > 0) { $perma_link = get_rtmedia_permalink($media[0]->id); if ('photo' === $media[0]->media_type) { $thumb_image = rtmedia_image('rt_media_thumbnail', $rtupload[0], false); } elseif ('music' === $media[0]->media_type) { $thumb_image = $media[0]->cover_art; } else { $thumb_image = ''; } if ('group' === $media[0]->context) { $rtmedia_nav->refresh_counts($media[0]->context_id, array('context' => sanitize_text_field($media[0]->context), 'context_id' => intval($media[0]->context_id))); } else { $rtmedia_nav->refresh_counts($media[0]->media_author, array('context' => 'profile', 'media_author' => sanitize_text_field($media[0]->media_author))); } $activity_id = $rtmedia->insert_activity($media[0]->media_id, $media[0]); $rtmedia->model->update(array('activity_id' => $activity_id), array('id' => intval($rtupload[0]))); // $same_medias = $rtmedia->model->get(array('activity_id' => $activity_id)); $update_activity_media = array(); foreach ($same_medias as $a_media) { $update_activity_media[] = $a_media->id; } $privacy = 0; $obj_activity = new RTMediaActivity($update_activity_media, $privacy, false); global $wpdb, $bp; $updated = $wpdb->update($bp->activity->table_name, array('type' => 'rtmedia_update', 'content' => $obj_activity->create_activity_html()), array('id' => $activity_id)); // if there is only single media the $updated value will be false even if the value we are passing to check is correct. // So we need to hardcode the $updated to true if there is only single media for same activity if (1 === count($same_medias) && $activity_id) { $updated = true; } } } if ($updated || $uploaded_look) { wp_send_json($this->rtmedia_api_response_object('TRUE', $ec_look_updated, $msg_look_updated)); } else { wp_send_json($this->rtmedia_api_response_object('TRUE', $ec_invalid_image, $msg_invalid_image)); } }
function bp_activity_posted_update($content, $user_id, $activity_id) { global $wpdb, $bp; $updated_content = ""; // hook for rtmedia buddypress before activity posted do_action('rtmedia_bp_before_activity_posted', $content, $user_id, $activity_id); if (isset($_POST["rtMedia_attached_files"]) && is_array($_POST["rtMedia_attached_files"])) { $updated_content = $wpdb->get_var("select content from {$bp->activity->table_name} where id= {$activity_id}"); $objActivity = new RTMediaActivity($_POST["rtMedia_attached_files"], 0, $updated_content); $html_content = $objActivity->create_activity_html(); bp_activity_update_meta($activity_id, "bp_old_activity_content", $html_content); bp_activity_update_meta($activity_id, "bp_activity_text", $updated_content); $wpdb->update($bp->activity->table_name, array("type" => "rtmedia_update", "content" => $html_content), array("id" => $activity_id)); $mediaObj = new RTMediaModel(); $sql = "update {$mediaObj->table_name} set activity_id = '" . $activity_id . "' where blog_id = '" . get_current_blog_id() . "' and id in (" . implode(",", $_POST["rtMedia_attached_files"]) . ")"; $wpdb->query($sql); } // hook for rtmedia buddypress after activity posted do_action('rtmedia_bp_activity_posted', $updated_content, $user_id, $activity_id); if (isset($_POST['rtmedia-privacy'])) { $privacy = -1; if (is_rtmedia_privacy_enable()) { if (is_rtmedia_privacy_user_overide()) { $privacy = $_POST['rtmedia-privacy']; } else { $privacy = get_rtmedia_default_privacy(); } } bp_activity_update_meta($activity_id, 'rtmedia_privacy', $privacy); } }
function bp_activity_posted_update($content, $user_id, $activity_id) { global $wpdb, $bp; $updated_content = ''; // hook for rtmedia buddypress before activity posted do_action('rtmedia_bp_before_activity_posted', $content, $user_id, $activity_id); $rtmedia_attached_files = filter_input(INPUT_POST, 'rtMedia_attached_files', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY); if (is_array($rtmedia_attached_files)) { $updated_content = $wpdb->get_var("select content from {$bp->activity->table_name} where id= {$activity_id} limit 1"); // @codingStandardsIgnoreLine $obj_activity = new RTMediaActivity($rtmedia_attached_files, 0, $updated_content); $html_content = $obj_activity->create_activity_html(); bp_activity_update_meta($activity_id, 'bp_old_activity_content', $html_content); bp_activity_update_meta($activity_id, 'bp_activity_text', $updated_content); $wpdb->update($bp->activity->table_name, array('type' => 'rtmedia_update', 'content' => $html_content), array('id' => $activity_id)); $media_obj = new RTMediaModel(); //Credit faisal : https://gist.github.com/faishal/c4306ae7267fff976465 $in_str_arr = array_fill(0, count($rtmedia_attached_files), '%d'); $in_str = join(',', $in_str_arr); $sql = $wpdb->prepare("update {$media_obj->table_name} set activity_id = %d where blog_id = %d and ", $activity_id, get_current_blog_id()); // @codingStandardsIgnoreLine $form_id_where = $wpdb->prepare("id IN ({$in_str})", $rtmedia_attached_files); $sql .= $form_id_where; $wpdb->query($sql); // @codingStandardsIgnoreLine } // hook for rtmedia buddypress after activity posted do_action('rtmedia_bp_activity_posted', $updated_content, $user_id, $activity_id); $rtmedia_privacy = filter_input(INPUT_POST, 'rtmedia-privacy', FILTER_SANITIZE_NUMBER_INT); if (null !== $rtmedia_privacy) { $privacy = -1; if (is_rtmedia_privacy_enable()) { if (is_rtmedia_privacy_user_overide()) { $privacy = $rtmedia_privacy; } else { $privacy = get_rtmedia_default_privacy(); } } bp_activity_update_meta($activity_id, 'rtmedia_privacy', $privacy); // insert/update activity details in rtmedia activity table $rtmedia_activity_model = new RTMediaActivityModel(); if (!$rtmedia_activity_model->check($activity_id)) { $rtmedia_activity_model->insert(array('activity_id' => $activity_id, 'user_id' => $user_id, 'privacy' => $privacy)); } else { $rtmedia_activity_model->update(array('activity_id' => $activity_id, 'user_id' => $user_id, 'privacy' => $privacy), array('activity_id' => $activity_id)); } } }