Skip to:
Content

BuddyPress.org

Changeset 2542


Ignore:
Timestamp:
02/02/2010 06:29:33 PM (15 years ago)
Author:
apeatling
Message:

Fixes #1767

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-activity.php

    r2539 r2542  
    333333
    334334    $activity_id = $bp->action_variables[0];
     335    $activity = new BP_Activity_Activity( $activity_id );
    335336
    336337    /* Check access */
    337     if ( !is_site_admin() ) {
    338         $activity = new BP_Activity_Activity( $activity_id );
    339 
    340         if ( $activity->user_id != $bp->loggedin_user->id )
    341             return false;
    342     }
     338    if ( !is_site_admin() && $activity->user_id != $bp->loggedin_user->id )
     339        return false;
    343340
    344341    /* Now delete the activity item */
    345     if ( bp_activity_delete_by_activity_id( $activity_id ) )
     342    if ( bp_activity_delete( array( 'id' => $activity_id, 'user_id' => $activity->user_id  ) ) )
    346343        bp_core_add_message( __( 'Activity deleted', 'buddypress' ) );
    347344    else
     
    350347    do_action( 'bp_activity_action_delete_activity', $activity_id );
    351348
    352     bp_core_redirect( $_SERVER['HTTP_REFERER'] );
     349    bp_core_redirect( wp_get_referer() );
    353350}
    354351add_action( 'wp', 'bp_activity_action_delete_activity', 3 );
     
    697694        return false;
    698695
     696    /* Check if the user's latest update has been deleted */
     697    if ( empty( $args['user_id'] ) )
     698        $user_id = $bp->loggedin_user->id;
     699    else
     700        $user_id = $args['user_id'];
     701
     702    $latest_update = get_usermeta( $user_id, 'bp_latest_update' );
     703    if ( !empty( $latest_update ) ) {
     704        if ( in_array( (int)$latest_update['id'], (array)$activity_ids_deleted ) )
     705            delete_usermeta( $user_id, 'bp_latest_update' );
     706    }
     707
    699708    do_action( 'bp_activity_delete', $args );
    700709    do_action( 'bp_activity_deleted_activities', $activity_ids_deleted );
  • trunk/bp-themes/bp-default/_inc/ajax.php

    r2514 r2542  
    156156    }
    157157
    158     if ( empty( $_POST['id'] ) || !is_numeric( $_POST['id'] ) || !bp_activity_delete( array( 'id' => $_POST['id'] ) ) ) {
     158    $activity = new BP_Activity_Activity( $_POST['id'] );
     159
     160    /* Check access */
     161    if ( !is_site_admin() && $activity->user_id != $bp->loggedin_user->id )
     162        return false;
     163
     164    if ( empty( $_POST['id'] ) || !is_numeric( $_POST['id'] ) || !bp_activity_delete( array( 'id' => $_POST['id'], 'user_id' => $activity->user_id ) ) ) {
    159165        echo '-1<div id="message" class="error"><p>' . __( 'There was a problem when deleting. Please try again.', 'buddypress' ) . '</p></div>';
    160166        return false;
Note: See TracChangeset for help on using the changeset viewer.