BP_Nouveau_Activity
Activity Loader class
Description
Source
File: bp-templates/bp-nouveau/includes/activity/loader.php
class BP_Nouveau_Activity {
/**
* 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() {
require $this->dir . 'functions.php';
require $this->dir . 'template-tags.php';
require $this->dir . 'widgets.php';
// 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() {
// AJAX condtion.
if ( defined( 'DOING_AJAX' ) && true === DOING_AJAX &&
// Check to see if action is activity-specific.
( false !== strpos( $_REQUEST['action'], 'activity' ) || ( 'post_update' === $_REQUEST['action'] ) )
) {
require $this->dir . 'ajax.php';
}
} );
}
}
/**
* Register do_action() hooks
*
* @since BuddyPress 3.0.0
*/
protected function setup_actions() {
add_action( 'bp_nouveau_enqueue_scripts', 'bp_nouveau_activity_enqueue_scripts' );
add_action( 'bp_widgets_init', array( 'BP_Latest_Activities', 'register_widget' ) );
add_action( 'bp_nouveau_notifications_init_filters', 'bp_nouveau_activity_notification_filters' );
$bp = buddypress();
if ( bp_is_akismet_active() && isset( $bp->activity->akismet ) ) {
remove_action( 'bp_activity_entry_meta', array( $bp->activity->akismet, 'add_activity_spam_button' ) );
remove_action( 'bp_activity_comment_options', array( $bp->activity->akismet, 'add_activity_comment_spam_button' ) );
}
}
/**
* Register add_filter() hooks
*
* @since BuddyPress 3.0.0
*/
protected function setup_filters() {
// Register customizer controls.
add_filter( 'bp_nouveau_customizer_controls', 'bp_nouveau_activity_customizer_controls', 10, 1 );
// Register activity scripts
add_filter( 'bp_nouveau_register_scripts', 'bp_nouveau_activity_register_scripts', 10, 1 );
// Localize Scripts
add_filter( 'bp_core_get_js_strings', 'bp_nouveau_activity_localize_scripts', 10, 1 );
add_filter( 'bp_get_activity_action_pre_meta', 'bp_nouveau_activity_secondary_avatars', 10, 2 );
add_filter( 'bp_get_activity_css_class', 'bp_nouveau_activity_scope_newest_class', 10, 1 );
}
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 3.0.0 | Introduced. |
Methods
- __construct — Constructor
- includes — Include needed files
- 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.