Changeset 9753 for trunk/src/bp-messages/bp-messages-cache.php
- Timestamp:
- 04/15/2015 10:44:55 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-messages/bp-messages-cache.php
r9482 r9753 47 47 48 48 /** 49 * Clear unread count cache for each recipient after a message is sent.49 * Clear message cache after a message is saved. 50 50 * 51 51 * @since BuddyPress (2.0.0) … … 53 53 * @param BP_Messages_Message $message 54 54 */ 55 function bp_messages_clear_unread_count_cache_on_message_save( BP_Messages_Message $message ) { 55 function bp_messages_clear_cache_on_message_save( BP_Messages_Message $message ) { 56 // Delete thread cache 57 wp_cache_delete( $message->thread_id, 'bp_messages_threads' ); 58 59 // Delete unread count for each recipient 56 60 foreach ( (array) $message->recipients as $recipient ) { 57 61 wp_cache_delete( $recipient->user_id, 'bp_messages_unread_count' ); 58 62 } 63 64 // Delete thread recipient cache 65 wp_cache_delete( 'thread_recipients_' . $message->thread_id, 'bp_messages' ); 59 66 } 60 add_action( 'messages_message_after_save', 'bp_messages_clear_ unread_count_cache_on_message_save' );67 add_action( 'messages_message_after_save', 'bp_messages_clear_cache_on_message_save' ); 61 68 62 69 /** 63 * Clear unread count cache for the logged-in user after a messageis deleted.70 * Clear message cache after a message thread is deleted. 64 71 * 65 72 * @since BuddyPress (2.0.0) … … 68 75 * array of thread IDs 69 76 */ 70 function bp_messages_clear_unread_count_cache_on_message_delete( $thread_ids ) { 77 function bp_messages_clear_cache_on_message_delete( $thread_ids ) { 78 // Delete thread and thread recipient cache 79 foreach( (array) $thread_ids as $thread_id ) { 80 wp_cache_delete( $thread_id, 'bp_messages_threads' ); 81 wp_cache_delete( "thread_recipients_{$thread_id}", 'bp_messages' ); 82 } 83 84 // Delete unread count for logged-in user 71 85 wp_cache_delete( bp_loggedin_user_id(), 'bp_messages_unread_count' ); 72 86 } 73 add_action( 'messages_ before_delete_thread', 'bp_messages_clear_unread_count_cache_on_message_delete' );87 add_action( 'messages_delete_thread', 'bp_messages_clear_cache_on_message_delete' ); 74 88 75 89 /** … … 85 99 add_action( 'messages_notice_after_save', 'bp_notices_clear_cache' ); 86 100 add_action( 'messages_notice_before_delete', 'bp_notices_clear_cache' ); 87 88 /**89 * Invalidate thread recipient cache on message update.90 *91 * @since BuddyPress (2.3.0)92 *93 * @param BP_Messages_Message $message Message object.94 */95 function bp_messages_clear_message_thread_recipient_cache_on_message_sent( BP_Messages_Message $message ) {96 wp_cache_delete( 'thread_recipients_' . $message->thread_id, 'bp_messages' );97 }98 add_action( 'messages_message_sent', 'bp_messages_clear_message_thread_recipient_cache_on_message_sent' );99 100 /**101 * Invalidate thread recipient cache on thread deletion.102 *103 * @since BuddyPress (2.3.0)104 *105 * @param int|array $thread_ids IDs of deleted threads.106 */107 function bp_messages_clear_message_thread_recipient_cache_on_thread_delete( $thread_ids ) {108 foreach ( (array) $thread_ids as $thread_id ) {109 wp_cache_delete( 'thread_recipients_' . $thread_id, 'bp_messages' );110 }111 }112 add_action( 'messages_delete_thread', 'bp_messages_clear_message_thread_recipient_cache_on_thread_delete' );
Note: See TracChangeset
for help on using the changeset viewer.