/** * Get a user's count viewable by others * * @since 1.2.2 * * @param int $count the number of files for the displayed user */ function buddydrive_view_add_script_data($count = 0) { global $wp_scripts; if (!bp_is_user() || bp_is_my_profile() || defined('DOING_AJAX') && DOING_AJAX) { return; } $data = $wp_scripts->get_data('buddydrive-view', 'data'); $count_data = array('id' => 'user-' . buddydrive_get_slug(), 'count' => $count); // Extend the script data $script = 'var BuddyDriveFilesCount = ' . json_encode($count_data) . ';'; if ($data) { $script = "{$data}\n{$script}"; } $wp_scripts->add_data('buddydrive-view', 'data', $script); }
/** * construct method to add some settings and hooks * * @uses buddydrive_get_name() to get the plugin name * @uses buddydrive_get_slug() to get the plugin slug */ public function __construct() { $args = array('slug' => buddydrive_get_slug(), 'name' => buddydrive_get_name(), 'visibility' => 'private', 'nav_item_position' => 31, 'enable_nav_item' => $this->enable_nav_item(), 'screens' => array('admin' => array('metabox_context' => 'side', 'metabox_priority' => 'core'), 'create' => array('enabled' => false), 'edit' => array('enabled' => true))); parent::init($args); }
/** * Handles plugin deactivation * * @uses bp_core_get_directory_page_ids() to get the BuddyPress component page ids * @uses buddydrive_get_slug() to get BuddyDrive slug * @uses wp_delete_post() to eventually delete the BuddyDrive page * @uses bp_core_update_directory_page_ids() to update the BuddyPres component pages ids */ function buddydrive_deactivation() { // Bail if config does not match what we need if (buddydrive::bail()) { return; } $directory_pages = bp_core_get_directory_page_ids(); $buddydrive_slug = buddydrive_get_slug(); if (!empty($directory_pages[$buddydrive_slug])) { // let's remove the page as the plugin is deactivated. $buddydrive_page_id = $directory_pages[$buddydrive_slug]; wp_delete_post($buddydrive_page_id, true); unset($directory_pages[$buddydrive_slug]); bp_core_update_directory_page_ids($directory_pages); } do_action('buddydrive_deactivation'); }
/** * Are we on a group's BuddyDrive ? * * @uses bp_is_groups_component() to check we're on the group component * @uses bp_is_single_item() to check we're in a single group * @uses bp_is_current_action() to check the acction is BuddyDrive * @return boolean true or false */ function buddydrive_is_group() { if (bp_is_groups_component() && bp_is_single_item() && bp_is_current_action(buddydrive_get_slug())) { return true; } else { return false; } }
/** * Adds buddydrive's slug to the groups forbidden names * * @since version 1.1 * * @param array $names the groups forbidden names * @uses buddydrive_get_slug() to get the plugin's slug * @return array the same names + buddydrive's slug. */ function buddydrive_add_to_group_forbidden_names($names = array()) { $names[] = buddydrive_get_slug(); return $names; }
/** * Builds the user's navigation in WP Admin Bar * * @uses buddydrive_get_slug() to get BuddyDrive slug * @uses is_user_logged_in() to check if the user is logged in * @uses bp_loggedin_user_domain() to get current user's profile link * @uses buddydrive_get_name() to get BuddyDrive plugin name * @uses buddydrive_get_user_subnav_name() to get main subnav name * @uses buddydrive_get_friends_subnav_name() to get friends subnav name * @uses buddydrive_get_friends_subnav_slug() to get friends subnav slug * @uses bp_is_active() to check for the friends component */ public function setup_admin_bar($wp_admin_nav = array()) { // Prevent debug notices $wp_admin_nav = array(); $buddydrive_slug = buddydrive_get_slug(); // Menus for logged in user if (is_user_logged_in()) { // Setup the logged in user variables $buddydrive_link = trailingslashit(bp_loggedin_user_domain() . $buddydrive_slug); // Add main BuddyDrive menu $wp_admin_nav[] = array('parent' => 'my-account-buddypress', 'id' => 'my-account-' . $buddydrive_slug, 'title' => buddydrive_get_name(), 'href' => trailingslashit($buddydrive_link)); // Add BuddyDrive submenu $wp_admin_nav[] = array('parent' => 'my-account-' . $buddydrive_slug, 'id' => 'my-account-' . $buddydrive_slug . '-files', 'title' => buddydrive_get_user_subnav_name(), 'href' => trailingslashit($buddydrive_link)); if (bp_is_active('friends')) { // Add shared by friends BuddyDrive submenu $wp_admin_nav[] = array('parent' => 'my-account-' . $buddydrive_slug, 'id' => 'my-account-' . $buddydrive_slug . '-friends', 'title' => buddydrive_get_friends_subnav_name(), 'href' => trailingslashit($buddydrive_link . buddydrive_get_friends_subnav_slug())); } } parent::setup_admin_bar($wp_admin_nav); }