bp_nouveau_activity_scope_newest_class( $classes = '' )
Add class to newest activities by type.
Description
Source
File: bp-templates/bp-nouveau/includes/activity/functions.php
function bp_nouveau_activity_scope_newest_class( $classes = '' ) { if ( ! is_user_logged_in() ) { return $classes; } $user_id = bp_loggedin_user_id(); $my_classes = array(); /* * HeartBeat requests will transport the scope. * See bp_nouveau_ajax_querystring(). */ $scope = ''; if ( ! empty( $_POST['data']['bp_heartbeat']['scope'] ) ) { $scope = sanitize_key( $_POST['data']['bp_heartbeat']['scope'] ); } // Add specific classes to perform specific actions on the client side. if ( $scope && bp_is_activity_directory() ) { $component = bp_get_activity_object_name(); /* * These classes will be used to count the number of newest activities for * the 'Mentions', 'My Groups' & 'My Connections' tabs */ if ( 'all' === $scope ) { if ( 'groups' === $component && bp_is_active( $component ) ) { // Is the current user a member of the group the activity is attached to? if ( groups_is_user_member( $user_id, bp_get_activity_item_id() ) ) { $my_classes[] = 'bp-my-groups'; } } // Connections can post in groups the user is a member of if ( bp_is_active( 'friends' ) && (int) $user_id !== (int) bp_get_activity_user_id() ) { if ( friends_check_friendship( $user_id, bp_get_activity_user_id() ) ) { $my_classes[] = 'bp-my-friends'; } } // A mention can be posted by a friend within a group if ( true === bp_activity_do_mentions() ) { $new_mentions = bp_get_user_meta( $user_id, 'bp_new_mentions', true ); // The current activity is one of the new mentions if ( is_array( $new_mentions ) && in_array( bp_get_activity_id(), $new_mentions ) ) { $my_classes[] = 'bp-my-mentions'; } } /* * This class will be used to highlight the newest activities when * viewing the 'Mentions', 'My Groups' or the 'My Connections' tabs */ } elseif ( 'friends' === $scope || 'groups' === $scope || 'mentions' === $scope ) { $my_classes[] = 'newest_' . $scope . '_activity'; } // Leave other components do their specific stuff if needed. /** * Filters the classes to be applied to the newest activity item. * * Leave other components do their specific stuff if needed. * * @since BuddyPress 3.0.0 * * @param array $my_classes Array of classes to output to class attribute. * @param string $scope Current scope for the activity type. */ $my_classes = (array) apply_filters( 'bp_nouveau_activity_scope_newest_class', $my_classes, $scope ); if ( ! empty( $my_classes ) ) { $classes .= ' ' . join( ' ', $my_classes ); } } return $classes; }
Changelog
Version | Description |
---|---|
BuddyPress 3.0.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.