/** * 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; } }