[ Index ]

PHP Cross Reference of BuddyPress

title

Body

[close]

/src/bp-templates/bp-nouveau/includes/messages/ -> loader.php (source)

   1  <?php
   2  /**
   3   * BP Nouveau Messages
   4   *
   5   * @since 3.0.0
   6   * @version 3.0.0
   7   */
   8  
   9  // Exit if accessed directly.
  10  defined( 'ABSPATH' ) || exit;
  11  
  12  /**
  13   * Messages Loader class
  14   *
  15   * @since 3.0.0
  16   */
  17  class BP_Nouveau_Messages {
  18      /**
  19       * Constructor
  20       *
  21       * @since 3.0.0
  22       */
  23  	public function __construct() {
  24          $this->setup_globals();
  25          $this->includes();
  26          $this->setup_actions();
  27          $this->setup_filters();
  28      }
  29  
  30      /**
  31       * Globals
  32       *
  33       * @since 3.0.0
  34       */
  35  	protected function setup_globals() {
  36          $this->dir = trailingslashit( dirname( __FILE__ ) );
  37      }
  38  
  39      /**
  40       * Include needed files
  41       *
  42       * @since 3.0.0
  43       */
  44  	protected function includes() {
  45          require $this->dir . 'functions.php';
  46          require $this->dir . 'template-tags.php';
  47  
  48          // Test suite requires the AJAX functions early.
  49          if ( function_exists( 'tests_add_filter' ) ) {
  50              require $this->dir . 'ajax.php';
  51  
  52          // Load AJAX code only on AJAX requests.
  53          } else {
  54              add_action( 'admin_init', function() {
  55                  if ( defined( 'DOING_AJAX' ) && true === DOING_AJAX && 0 === strpos( $_REQUEST['action'], 'messages_' ) ) {
  56                      require bp_nouveau()->messages->dir . 'ajax.php';
  57                  }
  58              } );
  59          }
  60      }
  61  
  62      /**
  63       * Register do_action() hooks
  64       *
  65       * @since 3.0.0
  66       */
  67  	protected function setup_actions() {
  68          // Notices
  69          add_action( 'widgets_init', 'bp_nouveau_unregister_notices_widget' );
  70          add_action( 'bp_init', 'bp_nouveau_push_sitewide_notices', 99 );
  71  
  72          // Messages
  73          add_action( 'bp_messages_setup_nav', 'bp_nouveau_messages_adjust_nav' );
  74  
  75          // Remove deprecated scripts
  76          remove_action( 'bp_enqueue_scripts', 'messages_add_autocomplete_js' );
  77  
  78          // Enqueue the scripts for the new UI
  79          add_action( 'bp_nouveau_enqueue_scripts', 'bp_nouveau_messages_enqueue_scripts' );
  80  
  81          // Register the Messages Notifications filters
  82          add_action( 'bp_nouveau_notifications_init_filters', 'bp_nouveau_messages_notification_filters' );
  83      }
  84  
  85      /**
  86       * Register add_filter() hooks
  87       *
  88       * @since 3.0.0
  89       */
  90  	protected function setup_filters() {
  91          // Enqueue specific styles
  92          add_filter( 'bp_nouveau_enqueue_styles', 'bp_nouveau_messages_enqueue_styles', 10, 1 );
  93  
  94          // Register messages scripts
  95          add_filter( 'bp_nouveau_register_scripts', 'bp_nouveau_messages_register_scripts', 10, 1 );
  96  
  97          // Localize Scripts
  98          add_filter( 'bp_core_get_js_strings', 'bp_nouveau_messages_localize_scripts', 10, 1 );
  99  
 100          // Notices
 101          add_filter( 'bp_messages_single_new_message_notification', 'bp_nouveau_format_notice_notification_for_user', 10, 1 );
 102          add_filter( 'bp_notifications_get_all_notifications_for_user', 'bp_nouveau_add_notice_notification_for_user', 10, 2 );
 103  
 104          // Messages
 105          add_filter( 'bp_messages_admin_nav', 'bp_nouveau_messages_adjust_admin_nav', 10, 1 );
 106      }
 107  }
 108  
 109  /**
 110   * Launch the Messages loader class.
 111   *
 112   * @since 3.0.0
 113   */
 114  function bp_nouveau_messages( $bp_nouveau = null ) {
 115      if ( is_null( $bp_nouveau ) ) {
 116          return;
 117      }
 118  
 119      $bp_nouveau->messages = new BP_Nouveau_Messages();
 120  }
 121  add_action( 'bp_nouveau_includes', 'bp_nouveau_messages', 10, 1 );


Generated: Fri Nov 15 01:01:37 2019 Cross-referenced by PHPXref 0.7.1