Пример #1
0
function bp_wire_delete_post($wire_post_id, $component_name, $table_name = null)
{
    global $bp;
    if (!is_user_logged_in()) {
        return false;
    }
    if (!$table_name) {
        $table_name = $bp->{$component_name}->table_name_wire;
    }
    $wire_post = new BP_Wire_Post($table_name, $wire_post_id);
    if (!is_site_admin()) {
        if (!$bp->is_item_admin) {
            if ($wire_post->user_id != $bp->loggedin_user->id) {
                return false;
            }
        }
    }
    if (!$wire_post->delete()) {
        return false;
    }
    // Delete activity stream items
    bp_wire_delete_activity(array('user_id' => $wire_post->user_id, 'item_id' => $wire_post->id, 'component_name' => $component_name, 'component_action' => 'new_wire_post'));
    do_action('bp_wire_post_deleted', $wire_post->id, $wire_post->item_id, $wire_post->user_id);
    return true;
}