Changeset 7109
- Timestamp:
- 06/09/2020 02:51:52 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.6/src/includes/extend/buddypress/notifications.php
r7097 r7109 93 93 $filter = 'bbp_single_new_subscription_notification'; 94 94 $text = ! empty( $secondary_item_id ) 95 ? sprintf( esc_html__( 'You have % d new reply to %2$s from %3$s', 'bbpress' ), $action_item_count, $topic_title, bp_core_get_user_displayname( $secondary_item_id ) )96 : sprintf( esc_html__( 'You have % d new reply to %s','bbpress' ), $action_item_count, $topic_title );95 ? sprintf( esc_html__( 'You have %1$d new reply to %2$s from %3$s', 'bbpress' ), $action_item_count, $topic_title, bp_core_get_user_displayname( $secondary_item_id ) ) 96 : sprintf( esc_html__( 'You have %1$d new reply to %2$s', 'bbpress' ), $action_item_count, $topic_title ); 97 97 } 98 98 … … 155 155 // Notify the topic author if not the current reply author 156 156 if ( $author_id !== $topic_author_id ) { 157 $args['secondary_item_id'] = $secondary_item_id 157 $args['secondary_item_id'] = $secondary_item_id; 158 158 159 159 bp_notifications_add_notification( $args ); … … 190 190 // Get required data 191 191 $user_id = bp_loggedin_user_id(); 192 $topic_id = intval( $_GET['topic_id'] ); 192 $topic_id = absint( $_GET['topic_id'] ); 193 194 // By default, Redirect to this topic ID 195 $redirect_id = $topic_id; 193 196 194 197 // Check nonce … … 204 207 if ( ! bbp_has_errors() ) { 205 208 206 // Attempt to clear notifications for the current user from this topic 207 $success = bp_notifications_mark_notifications_by_item_id( $user_id, $topic_id, bbp_get_component_name(), 'bbp_new_reply' ); 209 // Get these once 210 $post_type = bbp_get_reply_post_type(); 211 $component = bbp_get_component_name(); 212 213 // Attempt to clear notifications for this topic 214 $marked = bp_notifications_mark_notifications_by_item_id( $user_id, $topic_id, $component, 'bbp_new_reply' ); 215 216 // Get all reply IDs for the topic 217 $replies = bbp_get_all_child_ids( $topic_id, $post_type ); 218 219 // If topic has replies 220 if ( ! empty( $replies ) ) { 221 222 // Loop through each reply and attempt to mark it 223 foreach ( $replies as $reply_id ) { 224 225 // Attempt to mark notification for this reply ID 226 $marked = bp_notifications_mark_notifications_by_item_id( $user_id, $reply_id, $component, 'bbp_new_reply' ); 227 228 // If marked, redirect to this reply ID 229 if ( ! empty( $marked ) ) { 230 $redirect_id = $reply_id; 231 } 232 } 233 } 208 234 209 235 // Do additional subscriptions actions 210 do_action( 'bbp_notifications_handler', $ success, $user_id, $topic_id, $action );236 do_action( 'bbp_notifications_handler', $marked, $user_id, $topic_id, $action ); 211 237 } 212 238 213 239 // Redirect to the topic 214 $redirect = bbp_get_reply_url( $ topic_id );240 $redirect = bbp_get_reply_url( $redirect_id ); 215 241 216 242 // Redirect
Note: See TracChangeset
for help on using the changeset viewer.