BP_Nouveau_Friends
Connections Loader class
Description
Source
File: bp-templates/bp-nouveau/includes/friends/loader.php
class BP_Nouveau_Friends {
/**
* Constructor
*
* @since BuddyPress 3.0.0
*/
public function __construct() {
$this->setup_globals();
$this->includes();
$this->setup_actions();
$this->setup_filters();
}
/**
* Globals
*
* @since BuddyPress 3.0.0
*/
protected function setup_globals() {
$this->dir = trailingslashit( dirname( __FILE__ ) );
}
/**
* Include needed files
*
* @since BuddyPress 3.0.0
*/
protected function includes() {
// Test suite requires the AJAX functions early.
if ( function_exists( 'tests_add_filter' ) ) {
require $this->dir . 'ajax.php';
// Load AJAX code only on AJAX requests.
} else {
add_action( 'admin_init', function() {
if ( defined( 'DOING_AJAX' ) && true === DOING_AJAX && 0 === strpos( $_REQUEST['action'], 'friends_' ) ) {
require $this->dir . 'ajax.php';
}
} );
}
}
/**
* Register do_action() hooks
*
* @since BuddyPress 3.0.0
*/
protected function setup_actions() {
// Remove BuddyPress action for the members loop
remove_action( 'bp_directory_members_actions', 'bp_member_add_friend_button' );
// Register the friends Notifications filters
add_action( 'bp_nouveau_notifications_init_filters', array( $this, 'notification_filters' ) );
}
/**
* Register add_filter() hooks
*
* @since BuddyPress 3.0.0
*/
protected function setup_filters() {
$buttons = array(
'friends_pending',
'friends_is_friend',
'friends_not_friends',
'friends_member_friendship',
'friends_accept_friendship',
'friends_reject_friendship',
);
foreach ( $buttons as $button ) {
add_filter( 'bp_button_' . $button, 'bp_nouveau_ajax_button', 10, 5 );
}
}
/**
* Register notifications filters for the friends component.
*
* @since BuddyPress 3.0.0
*/
public function notification_filters() {
$notifications = array(
array(
'id' => 'friendship_accepted',
'label' => __( 'Accepted connection requests', 'buddyboss' ),
'position' => 35,
),
array(
'id' => 'friendship_request',
'label' => __( 'Pending connection requests', 'buddyboss' ),
'position' => 45,
),
);
foreach ( $notifications as $notification ) {
bp_nouveau_notifications_register_filter( $notification );
}
}
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 3.0.0 | Introduced. |
Methods
- __construct — Constructor
- includes — Include needed files
- notification_filters — Register notifications filters for the friends component.
- setup_actions — Register do_action() hooks
- setup_filters — Register add_filter() hooks
- setup_globals — Globals
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.