PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/veezar.kerihosting.com/wp-content/plugins/buddypress/bp-friends/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/veezar.kerihosting.com/wp-content/plugins/buddypress/bp-friends/bp-friends-cache.php |
<?php /** * BuddyPress Friends Caching. * * Caching functions handle the clearing of cached objects and pages on specific * actions throughout BuddyPress. * * @package BuddyPress * @subpackage FriendsCaching * @since 1.5.0 */ // Exit if accessed directly. defined( 'ABSPATH' ) || exit; /** * Clear friends-related cache for members of a specific friendship. * * @since 1.0.0 * * @param int $friendship_id ID of the friendship whose two members should * have their friends cache busted. * @return bool */ function friends_clear_friend_object_cache( $friendship_id ) { $friendship = new BP_Friends_Friendship( $friendship_id ); if ( ! $friendship ) { return false; } wp_cache_delete( 'friends_friend_ids_' . $friendship->initiator_user_id, 'bp' ); wp_cache_delete( 'friends_friend_ids_' . $friendship->friend_user_id, 'bp' ); } // List actions to clear object caches on. add_action( 'friends_friendship_accepted', 'friends_clear_friend_object_cache' ); add_action( 'friends_friendship_deleted', 'friends_clear_friend_object_cache' ); /** * Clear friendship caches on friendship changes. * * @since 2.7.0 * * @param int $friendship_id ID of the friendship that has changed. * @param int $initiator_user_id ID of the first user. * @param int $friend_user_id ID of the second user. */ function bp_friends_clear_bp_friends_friendships_cache( $friendship_id, $initiator_user_id, $friend_user_id ) { // Clear friendship ID cache for each user. wp_cache_delete( $initiator_user_id, 'bp_friends_friendships_for_user' ); wp_cache_delete( $friend_user_id, 'bp_friends_friendships_for_user' ); // Clear the friendship object cache. wp_cache_delete( $friendship_id, 'bp_friends_friendships' ); // Clear incremented cache. $friendship = new stdClass; $friendship->initiator_user_id = $initiator_user_id; $friendship->friend_user_id = $friend_user_id; bp_friends_delete_cached_friendships_on_friendship_save( $friendship ); } add_action( 'friends_friendship_requested', 'bp_friends_clear_bp_friends_friendships_cache', 10, 3 ); add_action( 'friends_friendship_accepted', 'bp_friends_clear_bp_friends_friendships_cache', 10, 3 ); add_action( 'friends_friendship_deleted', 'bp_friends_clear_bp_friends_friendships_cache', 10, 3 ); /** * Clear friendship caches on friendship changes. * * @since 2.7.0 * * @param int $friendship_id The friendship ID. * @param BP_Friends_Friendship $friendship The friendship object. */ function bp_friends_clear_bp_friends_friendships_cache_remove( $friendship_id, $friendship ) { // Clear friendship ID cache for each user. wp_cache_delete( $friendship->initiator_user_id, 'bp_friends_friendships_for_user' ); wp_cache_delete( $friendship->friend_user_id, 'bp_friends_friendships_for_user' ); // Clear the friendship object cache. wp_cache_delete( $friendship_id, 'bp_friends_friendships' ); // Clear incremented cache. bp_friends_delete_cached_friendships_on_friendship_save( $friendship ); } add_action( 'friends_friendship_withdrawn', 'bp_friends_clear_bp_friends_friendships_cache_remove', 10, 2 ); add_action( 'friends_friendship_rejected', 'bp_friends_clear_bp_friends_friendships_cache_remove', 10, 2 ); /** * Clear the friend request cache for the user not initiating the friendship. * * @since 2.0.0 * * @param int $friend_user_id The user ID not initiating the friendship. */ function bp_friends_clear_request_cache( $friend_user_id ) { wp_cache_delete( $friend_user_id, 'bp_friends_requests' ); } /** * Clear the friend request cache when a friendship is saved. * * A friendship is deemed saved when a friendship is requested or accepted. * * @since 2.0.0 * * @param int $friendship_id The friendship ID. * @param int $initiator_user_id The user ID initiating the friendship. * @param int $friend_user_id The user ID not initiating the friendship. */ function bp_friends_clear_request_cache_on_save( $friendship_id, $initiator_user_id, $friend_user_id ) { bp_friends_clear_request_cache( $friend_user_id ); } add_action( 'friends_friendship_requested', 'bp_friends_clear_request_cache_on_save', 10, 3 ); add_action( 'friends_friendship_accepted', 'bp_friends_clear_request_cache_on_save', 10, 3 ); /** * Clear the friend request cache when a friendship is removed. * * A friendship is deemed removed when a friendship is withdrawn or rejected. * * @since 2.0.0 * * @param int $friendship_id The friendship ID. * @param BP_Friends_Friendship $friendship The friendship object. */ function bp_friends_clear_request_cache_on_remove( $friendship_id, $friendship ) { bp_friends_clear_request_cache( $friendship->friend_user_id ); } add_action( 'friends_friendship_withdrawn', 'bp_friends_clear_request_cache_on_remove', 10, 2 ); add_action( 'friends_friendship_rejected', 'bp_friends_clear_request_cache_on_remove', 10, 2 ); /** * Delete individual friendships from the cache when they are changed. * * @since 3.0.0 * * @param BP_Friends_Friendship $friendship The friendship object. */ function bp_friends_delete_cached_friendships_on_friendship_save( $friendship ) { bp_core_delete_incremented_cache( $friendship->friend_user_id . ':' . $friendship->initiator_user_id, 'bp_friends' ); bp_core_delete_incremented_cache( $friendship->initiator_user_id . ':' . $friendship->friend_user_id, 'bp_friends' ); } add_action( 'friends_friendship_after_save', 'bp_friends_delete_cached_friendships_on_friendship_save' ); // List actions to clear super cached pages on, if super cache is installed. add_action( 'friends_friendship_rejected', 'bp_core_clear_cache' ); add_action( 'friends_friendship_accepted', 'bp_core_clear_cache' ); add_action( 'friends_friendship_deleted', 'bp_core_clear_cache' ); add_action( 'friends_friendship_requested', 'bp_core_clear_cache' );