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;
}
Example #2
0
 /**
  * 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;
     }
 }
Example #3
0
 /**
  * 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;
     }
 }
Example #4
0
 /**
  * @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);
}