bp_legacy_theme_post_update()
Processes Activity updates received via a POST request.
Description Description
Return Return
(string|null) HTML
Source Source
File: bp-templates/bp-legacy/buddypress-functions.php
function bp_legacy_theme_post_update() { $bp = buddypress(); if ( ! bp_is_post_request() ) { return; } // Check the nonce. check_admin_referer( 'post_update', '_wpnonce_post_update' ); if ( ! is_user_logged_in() ) exit( '-1' ); if ( empty( $_POST['content'] ) ) exit( '-1<div id="message" class="error bp-ajax-message"><p>' . __( 'Please enter some content to post.', 'buddypress' ) . '</p></div>' ); $activity_id = 0; $item_id = 0; $object = ''; // Try to get the item id from posted variables. if ( ! empty( $_POST['item_id'] ) ) { $item_id = (int) $_POST['item_id']; } // Try to get the object from posted variables. if ( ! empty( $_POST['object'] ) ) { $object = sanitize_key( $_POST['object'] ); // If the object is not set and we're in a group, set the item id and the object } elseif ( bp_is_group() ) { $item_id = bp_get_current_group_id(); $object = 'groups'; } if ( ! $object && bp_is_active( 'activity' ) ) { $activity_id = bp_activity_post_update( array( 'content' => $_POST['content'], 'error_type' => 'wp_error' ) ); } elseif ( 'groups' === $object ) { if ( $item_id && bp_is_active( 'groups' ) ) $activity_id = groups_post_update( array( 'content' => $_POST['content'], 'group_id' => $item_id, 'error_type' => 'wp_error' ) ); } else { /** This filter is documented in bp-activity/actions/post.php */ $activity_id = apply_filters( 'bp_activity_custom_update', false, $object, $item_id, $_POST['content'] ); } if ( false === $activity_id ) { exit( '-1<div id="message" class="error bp-ajax-message"><p>' . __( 'There was a problem posting your update. Please try again.', 'buddypress' ) . '</p></div>' ); } elseif ( is_wp_error( $activity_id ) && $activity_id->get_error_code() ) { exit( '-1<div id="message" class="error bp-ajax-message"><p>' . $activity_id->get_error_message() . '</p></div>' ); } $last_recorded = ! empty( $_POST['since'] ) ? date( 'Y-m-d H:i:s', intval( $_POST['since'] ) ) : 0; if ( $last_recorded ) { $activity_args = array( 'since' => $last_recorded ); $bp->activity->last_recorded = $last_recorded; add_filter( 'bp_get_activity_css_class', 'bp_activity_newest_class', 10, 1 ); } else { $activity_args = array( 'include' => $activity_id ); } if ( bp_has_activities ( $activity_args ) ) { while ( bp_activities() ) { bp_the_activity(); bp_get_template_part( 'activity/entry' ); } } if ( ! empty( $last_recorded ) ) { remove_filter( 'bp_get_activity_css_class', 'bp_activity_newest_class', 10 ); } exit; }
Changelog Changelog
Version | Description |
---|---|
1.2.0 | Introduced. |