Skip to:
Content

bbPress.org


Ignore:
Timestamp:
02/18/2021 06:31:34 AM (4 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 trunk for 2.7.0. See #3420.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/includes/replies/functions.php

    r7177 r7191  
    319319    /** Reply Status **********************************************************/
    320320
    321     // Maybe put into moderation
     321    // Default to published
     322    $reply_status = bbp_get_public_status_id();
     323
     324    // Maybe force into pending
    322325    if ( bbp_is_topic_pending( $topic_id ) || ! bbp_check_for_moderation( $anonymous_data, $reply_author, $reply_title, $reply_content ) ) {
    323326        $reply_status = bbp_get_pending_status_id();
    324 
    325     // Default
    326     } else {
    327         $reply_status = bbp_get_public_status_id();
    328327    }
    329328
     
    634633    /** Reply Status **********************************************************/
    635634
    636     // Maybe put into moderation
    637     if ( ! bbp_check_for_moderation( $anonymous_data, $reply_author, $reply_title, $reply_content ) ) {
    638 
    639         // Set post status to pending if public
    640         if ( bbp_get_public_status_id() === $reply->post_status ) {
    641             $reply_status = bbp_get_pending_status_id();
    642         }
    643 
    644635    // Use existing post_status
    645     } else {
    646         $reply_status = $reply->post_status;
     636    $reply_status = $reply->post_status;
     637
     638    // Maybe force into pending
     639    if ( bbp_is_reply_public( $reply_id ) && ! bbp_check_for_moderation( $anonymous_data, $reply_author, $reply_title, $reply_content ) ) {
     640        $reply_status = bbp_get_pending_status_id();
    647641    }
    648642
Note: See TracChangeset for help on using the changeset viewer.