function cjtheme_activity_posted_update($content, $user_id, $activity_id) { global $wpdb, $current_user; $table_activity = $wpdb->prefix . 'bp_activity'; // Create post object $my_post = array('post_title' => cjtheme_trim_text($content, 30), 'post_content' => $content, 'post_status' => 'publish', 'post_type' => $_POST['category'], 'post_author' => $current_user->ID); // Insert the post into the database $post_id = wp_insert_post($my_post); $new_activity_id = $wpdb->get_row("SELECT * FROM {$table_activity} WHERE secondary_item_id = '{$post_id}'"); bp_activity_delete_by_activity_id($activity_id); return $new_activity_id->id; }
/** * Generic method to delete a media * * @param type $media_id * * @return boolean */ function delete($id, $core = false, $delete_activity = true) { do_action('rtmedia_before_delete_media', $id); $media = $this->model->get(array('id' => $id), false, false); $status = 0; if ($media) { /* delete meta */ //delete_rtmedia_meta($id); if ($delete_activity) { if ($media[0]->activity_id && function_exists('bp_activity_delete_by_activity_id')) { $related_media = $this->model->get(array('activity_id' => $media[0]->activity_id), false, false); if (count($related_media) > 1) { $activity_media = array(); foreach ($related_media as $temp_media) { if ($temp_media->id == $id) { continue; } $activity_media[] = $temp_media->id; } $objActivity = new RTMediaActivity($activity_media); global $wpdb, $bp; $wpdb->update($bp->activity->table_name, array("type" => "rtmedia_update", "content" => $objActivity->create_activity_html()), array("id" => $media[0]->activity_id)); } else { if (isset($media[0]) && isset($media[0]->activity_id)) { bp_activity_delete_by_activity_id($media[0]->activity_id); } } } } if (!$core) { wp_delete_attachment($media[0]->media_id, true); } $status = $this->model->delete(array('id' => $id)); //delete media meta (view) from wp_rt_rtm_media_meta $delete_rtmedia_views = delete_rtmedia_meta($id, 'view'); if ($status != 0 && ($media[0]->media_type == "album" || $media[0]->media_type == "playlist")) { $status = wp_delete_post($media[0]->media_id); } $rtMediaNav = new RTMediaNav(); 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)); } } if (!$status) { return false; } else { global $rtmedia_points_media_id; $rtmedia_points_media_id = $id; do_action('rtmedia_after_delete_media', $id); return true; } }
/** * Generic method to delete a media * * @param int $id * @param bool $core * @param bool $delete_activity * * @return bool * */ function delete($id, $core = false, $delete_activity = true) { do_action('rtmedia_before_delete_media', $id); $media = $this->model->get(array('id' => $id), false, false); $status = 0; if ($media) { /* delete meta */ if ($delete_activity) { if ($media[0]->activity_id && function_exists('bp_activity_delete_by_activity_id')) { $related_media = $this->model->get(array('activity_id' => $media[0]->activity_id), false, false); if (count($related_media) > 1) { $activity_media = array(); foreach ($related_media as $temp_media) { if ($temp_media->id === $id) { continue; } $activity_media[] = $temp_media->id; } $obj_activity = new RTMediaActivity($activity_media); global $wpdb, $bp; $wpdb->update($bp->activity->table_name, array('type' => 'rtmedia_update', 'content' => $obj_activity->create_activity_html()), array('id' => $media[0]->activity_id)); } else { if (isset($media[0]) && isset($media[0]->activity_id)) { bp_activity_delete_by_activity_id($media[0]->activity_id); } } // Deleting like and comment activity for media if (function_exists('bp_activity_delete')) { bp_activity_delete(array('item_id' => $media[0]->id)); } } } if (!$core) { wp_delete_attachment($media[0]->media_id, true); } $status = $this->model->delete(array('id' => $id)); //delete media meta (view) from wp_rt_rtm_media_meta $delete_rtmedia_views = delete_rtmedia_meta($id, 'view'); if (0 !== $status && ('album' === $media[0]->media_type || 'playlist' === $media[0]->media_type)) { $status = wp_delete_post($media[0]->media_id); } $rtmedia_nav = new RTMediaNav(); if ('group' === $media[0]->context) { $rtmedia_nav->refresh_counts($media[0]->context_id, array('context' => $media[0]->context, 'context_id' => $media[0]->context_id)); } else { $rtmedia_nav->refresh_counts($media[0]->media_author, array('context' => 'profile', 'media_author' => $media[0]->media_author)); } } if (!$status) { return false; } else { global $rtmedia_points_media_id; $rtmedia_points_media_id = $id; do_action('rtmedia_after_delete_media', $id); return true; } }
/** * @group bp_activity_new_comment * @group BP5907 */ public function test_bp_activity_comment_on_deleted_activity() { $u = $this->factory->user->create(); $a = $this->factory->activity->create(); bp_activity_delete_by_activity_id($a); $c = bp_activity_new_comment(array('activity_id' => $a, 'parent_id' => $a, 'content' => 'foo', 'user_id' => $u)); $this->assertEmpty($c); }
function bp_media_entry_delete() { global $bp; if (bp_loggedin_user_id() != bp_displayed_user_id()) { bp_core_no_access(array('message' => __('You do not have access to this page.', 'buddypress'), 'root' => bp_displayed_user_domain(), 'redirect' => false)); exit; } if (!isset($bp->action_variables[1])) { @setcookie('bp-message', 'The requested url does not exist', time() + 60 * 60 * 24, COOKIEPATH); @setcookie('bp-message-type', 'error', time() + 60 * 60 * 24, COOKIEPATH); wp_redirect(trailingslashit(bp_displayed_user_domain() . BP_MEDIA_IMAGES_SLUG)); exit; } global $bp_media_current_entry; try { $bp_media_current_entry = new BP_Media_Host_Wordpress($bp->action_variables[1]); } catch (Exception $e) { /* Send the values to the cookie for page reload display */ @setcookie('bp-message', $e->getMessage(), time() + 60 * 60 * 24, COOKIEPATH); @setcookie('bp-message-type', 'error', time() + 60 * 60 * 24, COOKIEPATH); wp_redirect(trailingslashit(bp_displayed_user_domain() . BP_MEDIA_IMAGES_SLUG)); exit; } $post_id = $bp_media_current_entry->get_id(); $activity_id = get_post_meta($post_id, 'bp_media_child_activity', true); bp_activity_delete_by_activity_id($activity_id); $bp_media_current_entry->delete_media(); @setcookie('bp-message', __('Media deleted successfully', 'bp-media'), time() + 60 * 60 * 24, COOKIEPATH); @setcookie('bp-message-type', 'success', time() + 60 * 60 * 24, COOKIEPATH); wp_redirect(trailingslashit(bp_displayed_user_domain() . BP_MEDIA_IMAGES_SLUG)); exit; }
function bp_media_delete_media_handler($media_id) { /* @var $media BP_Media_Host_Wordpress */ remove_action('bp_before_activity_delete', 'bp_media_delete_activity_handler'); $activity_id = get_post_meta($media_id, 'bp_media_child_activity', true); if ($activity_id == NULL) { return false; } bp_activity_delete_by_activity_id($activity_id); }