Skip to:
Content

bbPress.org


Ignore:
Timestamp:
02/18/2021 06:33:29 AM (3 years ago)
Author:
johnjamesjacoby
Message:

Post Statuses: Audit forum/topic/reply, new/edit handlers.

This change normalizes the approaches between post types and actions, to ensure predictable behavior and avoid PHP notices from undefined status variables in certain situations.

It also adds a capability check to the bbp_topic_status condition, so that it is not engaged when the UI was not exposed in the posted form.

Props dd32.

In branches/2.6 for 2.6.7. Fixes #3420.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.6/src/includes/forums/functions.php

    r7169 r7192  
    243243    /** Forum Moderation ******************************************************/
    244244
    245     $post_status = bbp_get_public_status_id();
     245    // Default to published
     246    $forum_status = bbp_get_public_status_id();
     247
     248    // Maybe force into pending
    246249    if ( ! bbp_check_for_moderation( $anonymous_data, $forum_author, $forum_title, $forum_content ) ) {
    247         $post_status = bbp_get_pending_status_id();
     250        $forum_status = bbp_get_pending_status_id();
    248251    }
    249252
     
    266269        'post_content'   => $forum_content,
    267270        'post_parent'    => $forum_parent_id,
    268         'post_status'    => $post_status,
     271        'post_status'    => $forum_status,
    269272        'post_type'      => bbp_get_forum_post_type(),
    270273        'comment_status' => 'closed'
     
    482485    /** Forum Moderation ******************************************************/
    483486
    484     $post_status = bbp_get_public_status_id();
     487    // Use existing post_status
     488    $forum_status = $forum->post_status;
     489
     490    // Maybe force into pending
    485491    if ( ! bbp_check_for_moderation( $anonymous_data, bbp_get_forum_author_id( $forum_id ), $forum_title, $forum_content ) ) {
    486         $post_status = bbp_get_pending_status_id();
     492        $forum_status = bbp_get_pending_status_id();
    487493    }
    488494
     
    504510        'post_title'   => $forum_title,
    505511        'post_content' => $forum_content,
    506         'post_status'  => $post_status,
     512        'post_status'  => $forum_status,
    507513        'post_parent'  => $forum_parent_id
    508514    ) );
Note: See TracChangeset for help on using the changeset viewer.