/** * Sets what menu to add to the admin bar. * * @since 3.5 * @action add_admin_bar_menus * * @access public */ public function add_admin_bar_items() { if (!is_user_logged_in()) { return; } $user = wp_get_current_user(); if ($user->has_cap('membershipadmin') || $user->has_cap('manage_options') || is_super_admin($user->ID)) { $method = Membership_Plugin::is_enabled() ? 'add_view_site_as_menu' : 'add_enabled_protection_menu'; add_action('admin_bar_menu', array($this, $method), 8); } }
/** * Instantiates the plugin and setups all modules. * * @since 3.5 */ function membership_launch() { // setup environment membership_setup_contsants(); // database tables membership_setup_db_table_constants(); // plugin setup $plugin = Membership_Plugin::instance(); $plugin->set_factory(new Membership_Factory()); $plugin->set_module(Membership_Module_System::NAME); $plugin->set_module(Membership_Module_Upgrade::NAME); $plugin->set_module(Membership_Module_Menu::NAME); if (Membership_Plugin::is_enabled()) { $plugin->set_module(Membership_Module_Protection::NAME); } $plugin->set_module(Membership_Module_Adminbar::NAME); $plugin->set_module(Membership_Module_Frontend_Registration::NAME); if (is_admin()) { // $plugin->set_module( Membership_Module_Backend_Rules_Metabox::NAME ); // temporary deactivated, not ready to release } else { $plugin->set_module(Membership_Module_Frontend::NAME); } // take care of new users Membership_Plugin::factory()->hook_new_user_registration(); do_action('membership_loaded', $plugin); }
function membership_exclude_inactive_users($bp_user_query) { global $wpdb; if (Membership_Plugin::is_enabled()) { $query = new WP_User_Query(array('meta_key' => membership_db_prefix($wpdb, 'membership_active', false), 'meta_value' => 'no', 'meta_compare' => '=')); if ($query->get_total() > 0) { $bp_user_query->query_vars['exclude'] = wp_list_pluck($query->get_results(), 'ID'); } } }