/** * Update a user's last activity. * * @since 1.9.0 * * @param int $user_id ID of the user being updated. * @param string $time Time of last activity, in 'Y-m-d H:i:s' format. * @return bool True on success, false on failure. */ function bp_update_user_last_activity($user_id = 0, $time = '') { // Fall back on current user. if (empty($user_id)) { $user_id = bp_loggedin_user_id(); } // Bail if the user id is 0, as there's nothing to update. if (empty($user_id)) { return false; } // Fall back on current time. if (empty($time)) { $time = bp_core_current_time(); } // As of BuddyPress 2.0, last_activity is no longer stored in usermeta. // However, we mirror it there for backward compatibility. Do not use! // Remove our warning and re-add. remove_filter('update_user_metadata', '_bp_update_user_meta_last_activity_warning', 10); remove_filter('get_user_metadata', '_bp_get_user_meta_last_activity_warning', 10); bp_update_user_meta($user_id, 'last_activity', $time); add_filter('update_user_metadata', '_bp_update_user_meta_last_activity_warning', 10, 4); add_filter('get_user_metadata', '_bp_get_user_meta_last_activity_warning', 10, 3); return BP_Core_User::update_last_activity($user_id, $time); }
/** * @group last_activity */ public function test_delete_last_activity() { $u = $this->factory->user->create(); $time = bp_core_current_time(); BP_Core_User::update_last_activity($u, $time); $a = BP_Core_User::get_last_activity($u); $found = isset($a[$u]['date_recorded']) ? $a[$u]['date_recorded'] : ''; $this->assertEquals($time, $found); BP_Core_User::delete_last_activity($u); $a = BP_Core_User::get_last_activity($u); $found = isset($a[$u]['date_recorded']) ? $a[$u]['date_recorded'] : ''; $this->assertEquals('', $found); }