function wplms_dashboard_template() { if (!is_user_logged_in()) { wp_redirect(site_url()); } $template = 'templates/dashboard'; global $bp; if ($bp->current_component == 'dashboard') { wp_enqueue_style('wplms-dashboard-css', WPLMS_DASHBOARD_URL . '/css/wplms-dashboard.css', array(), '1.0'); wp_enqueue_script('wplms-dashboard-js', WPLMS_DASHBOARD_URL . '/js/wplms-dashboard.js', array('jquery', 'jquery-ui-sortable'), '1.0'); if (is_active_widget(false, false, 'wplms_instructor_dash_stats', true) || is_active_widget(false, false, 'wplms_dash_stats', true)) { wp_enqueue_script('wplms-sparkline', WPLMS_DASHBOARD_URL . '/js/jquery.sparkline.min.js', array('jquery'), true); } if (is_active_widget(false, false, 'wplms_instructor_stats', true) || is_active_widget(false, false, 'wplms_instructor_commission_stats', true) || is_active_widget(false, false, 'wplms_student_stats', true)) { wp_enqueue_script('wplms-raphael', WPLMS_DASHBOARD_URL . '/js/raphael-min.js', array('jquery'), true); wp_enqueue_script('wplms-morris', WPLMS_DASHBOARD_URL . '/js/morris.min.js', array('jquery'), true); } $translation_array = array('earnings' => __('Earnings', 'wplms-dashboard'), 'payout' => __('Payout', 'wplms-dashboard'), 'students' => __('# Students', 'wplms-dashboard'), 'saved' => __('SAVED', 'wplms-dashboard'), 'saving' => __('SAVING ...', 'wplms-dashboard'), 'stats_calculated' => __('Stats Calculated, reloading page ...', 'wplms-dashboard')); wp_localize_script('wplms-dashboard-js', 'wplms_dashboard_strings', $translation_array); } $located_template = apply_filters('bp_located_template', locate_template($template, false), $template); if ($located_template && $located_template != '') { bp_get_template_part(apply_filters('bp_load_template', $located_template)); } else { bp_core_load_template(apply_filters('bp_core_template_plugin', 'members/single/dashboard')); } }
function social_articles_load_sub_template($template) { if (empty($template)) { return false; } if (bp_sa_is_bp_default()) { //locate_template( array( $template . '.php' ), true ); if ($located_template = apply_filters('bp_located_template', locate_template($template, false), $template)) { load_template(apply_filters('bp_load_template', $located_template)); } } else { bp_get_template_part($template); } }
public function display($group_id = null) { // Template location is handled via the template stack. see ccgn_load_template_filter() bp_get_template_part('groups/single/narratives'); // if( bcg_is_single_post() ) { // echo "is single post"; // bp_get_template_part( 'ccgn/single-post.php' ); // } else if( bcg_is_post_create() ) { // echo "is create"; // bp_get_template_part( 'ccgn/create.php' ); // } else { // echo "is list"; // bp_get_template_part( 'ccgn/narrative-list.php' ); // } }
function wplms_dashboard_template() { if (!is_user_logged_in()) { wp_redirect(site_url()); } $template = 'templates/dashboard'; if (function_exists('bp_is_my_profile') && bp_is_my_profile()) { wp_enqueue_style('wplms-dashboard-css', WPLMS_DASHBOARD_URL . '/css/wplms-dashboard.css', array(), '1.0'); wp_enqueue_script('wplms-dashboard-js', WPLMS_DASHBOARD_URL . '/js/wplms-dashboard.js', array('jquery'), '1.0'); $translation_array = array('earnings' => __('Earnings', 'wplms-dashboard'), 'payout' => __('Payout', 'wplms-dashboard'), 'students' => __('# Students', 'wplms-dashboard'), 'saved' => __('SAVED', 'wplms-dashboard'), 'saving' => __('SAVING ...', 'wplms-dashboard'), 'stats_calculated' => __('Stats Calculated, reloading page ...', 'wplms-dashboard')); wp_localize_script('wplms-dashboard-js', 'wplms_dashboard_strings', $translation_array); } $located_template = apply_filters('bp_located_template', locate_template($template, false), $template); if ($located_template && $located_template != '') { bp_get_template_part(apply_filters('bp_load_template', $located_template)); } else { bp_core_load_template(apply_filters('bp_core_template_plugin', 'members/single/dashboard')); } }
function training_wpo_buddypress_group_header() { global $groups_template; ?> <div id="item-header" class="pb-group pb-item-header" role="complementary"> <div class="container"> <?php if (bp_has_groups()) { while (bp_groups()) { bp_the_group(); ?> <?php bp_get_template_part('groups/single/group-header'); ?> <?php } } ?> </div> </div><!-- #item-header --> <?php }
/** * Output the Group members template * * @since BuddyPress (?) * * @return string html output */ function bp_groups_members_template_part() { ?> <div class="item-list-tabs" id="subnav" role="navigation"> <ul> <li class="groups-members-search" role="search"> <?php bp_directory_members_search_form(); ?> </li> <?php bp_groups_members_filter(); ?> <?php do_action('bp_members_directory_member_sub_types'); ?> </ul> </div> <div id="members-group-list" class="group_members dir-list"> <?php bp_get_template_part('groups/single/members'); ?> </div> <?php }
bp_get_template_part('activity/post-form'); } /** * Fires after the display of the member activity post form. * * @since BuddyPress (1.2.0) */ do_action('bp_after_member_activity_post_form'); /** * Fires before the display of the member activities list. * * @since BuddyPress (1.2.0) */ do_action('bp_before_member_activity_content'); ?> <div class="activity"> <?php bp_get_template_part('activity/activity-loop'); ?> </div><!-- .activity --> <?php /** * Fires after the display of the member activities list. * * @since BuddyPress (1.2.0) */ do_action('bp_after_member_activity_content');
/** * Output the Group members template * * @since 2.0.0 */ function bp_groups_members_template_part() { ?> <div class="item-list-tabs" id="subnav" role="navigation"> <ul> <li class="groups-members-search" role="search"> <?php bp_directory_members_search_form(); ?> </li> <?php bp_groups_members_filter(); ?> <?php /** * Fires at the end of the group members search unordered list. * * Part of bp_groups_members_template_part(). * * @since 1.5.0 */ do_action('bp_members_directory_member_sub_types'); ?> </ul> </div> <div id="members-group-list" class="group_members dir-list"> <?php bp_get_template_part('groups/single/members'); ?> </div> <?php }
<?php /** * Fires before the display of the message thread list. * * @since 1.1.0 */ do_action('bp_before_message_thread_list'); ?> <?php while (bp_thread_messages()) { bp_thread_the_message(); ?> <?php bp_get_template_part('members/single/messages/message'); ?> <?php } ?> <?php /** * Fires after the display of the message thread list. * * @since 1.1.0 */ do_action('bp_after_message_thread_list'); ?> <?php
<?php if (sq_option('bp_full_group', 0) == 1 && bp_is_single_item() && bp_is_groups_component()) { ?> <?php if (bp_has_groups()) { while (bp_groups()) { bp_the_group(); ?> <section class="alternate-color bp-full-width-profile"> <div id="item-header" role="complementary"> <?php bp_get_template_part('groups/single/group-header'); ?> </div> <!-- #item-header --> </section> <?php } } ?> <?php } ?>
<div class="read-notifications"> <?php bp_get_template_part('members/single/notifications/notifications-loop'); ?> </div> <div id="pag-bottom" class="pagination no-ajax"> <div class="pag-count" id="notifications-count-bottom"> <?php bp_notifications_pagination_count(); ?> </div> <div class="pagination-links" id="notifications-pag-bottom"> <?php bp_notifications_pagination_links(); ?> </div> </div> <?php } else { ?> <?php bp_get_template_part('members/single/notifications/feedback-no-notifications'); ?> <?php }
/** * Chooses the best way to load BuddyDrive templates * * @param string $template the template needed * @param boolean $require_once if we need to load it only once or more * @uses buddydrive_is_bp_default() to check for BP Default * @uses load_template() * @uses bp_get_template_part() */ function buddydrive_get_template($template = false, $require_once = true) { if (empty($template)) { return false; } if (buddydrive_is_bp_default()) { $template = $template . '.php'; if (file_exists(STYLESHEETPATH . '/' . $template)) { $filtered_templates = STYLESHEETPATH . '/' . $template; } else { $filtered_templates = buddydrive_get_plugin_dir() . '/templates/' . $template; } load_template(apply_filters('buddydrive_get_template', $filtered_templates), $require_once); } else { bp_get_template_part($template); } }
/** * Use WordPress Heartbeat API to check for latest activity update. * * @since 2.0.0 * * @uses bp_activity_get_last_updated() to get the recorded date of the last activity. * * @param array $response Array containing Heartbeat API response. * @param array $data Array containing data for Heartbeat API response. * @return array $response */ function bp_activity_heartbeat_last_recorded($response = array(), $data = array()) { if (empty($data['bp_activity_last_recorded'])) { return $response; } // Use the querystring argument stored in the cookie (to preserve // filters), but force the offset to get only new items. $activity_latest_args = bp_parse_args(bp_ajax_querystring('activity'), array('since' => date('Y-m-d H:i:s', $data['bp_activity_last_recorded'])), 'activity_latest_args'); if (!empty($data['bp_activity_last_recorded_search_terms']) && empty($activity_latest_args['search_terms'])) { $activity_latest_args['search_terms'] = addslashes($data['bp_activity_last_recorded_search_terms']); } $newest_activities = array(); $last_activity_recorded = 0; // Temporarily add a just-posted class for new activity items. add_filter('bp_get_activity_css_class', 'bp_activity_newest_class', 10, 1); ob_start(); if (bp_has_activities($activity_latest_args)) { while (bp_activities()) { bp_the_activity(); $atime = strtotime(bp_get_activity_date_recorded()); if ($last_activity_recorded < $atime) { $last_activity_recorded = $atime; } bp_get_template_part('activity/entry'); } } $newest_activities['activities'] = ob_get_contents(); $newest_activities['last_recorded'] = $last_activity_recorded; ob_end_clean(); // Remove the temporary filter. remove_filter('bp_get_activity_css_class', 'bp_activity_newest_class', 10, 1); if (!empty($newest_activities['last_recorded'])) { $response['bp_activity_newest_activities'] = $newest_activities; } return $response; }
/** * Posts new Activity comments received via a POST request. * * @global BP_Activity_Template $activities_template * @return string HTML * @since BuddyPress (1.2) */ function bp_legacy_theme_new_activity_comment() { global $activities_template; // Bail if not a POST action if ('POST' !== strtoupper($_SERVER['REQUEST_METHOD'])) { return; } // Check the nonce check_admin_referer('new_activity_comment', '_wpnonce_new_activity_comment'); if (!is_user_logged_in()) { exit('-1'); } if (empty($_POST['content'])) { exit('-1<div id="message" class="error"><p>' . __('Please do not leave the comment area blank.', 'buddypress') . '</p></div>'); } if (empty($_POST['form_id']) || empty($_POST['comment_id']) || !is_numeric($_POST['form_id']) || !is_numeric($_POST['comment_id'])) { exit('-1<div id="message" class="error"><p>' . __('There was an error posting that reply, please try again.', 'buddypress') . '</p></div>'); } $comment_id = bp_activity_new_comment(array('activity_id' => $_POST['form_id'], 'content' => $_POST['content'], 'parent_id' => $_POST['comment_id'])); if (!$comment_id) { exit('-1<div id="message" class="error"><p>' . __('There was an error posting that reply, please try again.', 'buddypress') . '</p></div>'); } // Load the new activity item into the $activities_template global bp_has_activities('display_comments=stream&hide_spam=false&include=' . $comment_id); // Swap the current comment with the activity item we just loaded if (isset($activities_template->activities[0])) { $activities_template->activity = new stdClass(); $activities_template->activity->id = $activities_template->activities[0]->item_id; $activities_template->activity->current_comment = $activities_template->activities[0]; } // get activity comment template part bp_get_template_part('activity/comment'); unset($activities_template); exit; }
<section id="content"> <div id="buddypress"> <div class="member_header"> <?php /** * Fires before the display of member home content. * * @since BuddyPress (1.2.0) */ do_action('bp_before_member_home_content'); ?> <div id="item-header" role="complementary"> <?php bp_get_template_part('members/single/member-header'); ?> </div> </div><!-- #item-header --> <div id="item-nav" class=""> <div class="item-list-tabs no-ajax" id="object-nav" role="navigation"> <div class="container"> <div class="col-md-9 col-md-offset-3"> <ul> <?php bp_get_displayed_user_nav(); ?> <?php do_action('bp_member_options_nav');
/** * Get an Attachment template part. * * @since 2.3.0 * * @param string $slug Template part slug. eg 'uploader' for 'uploader.php'. * * @return bool */ function bp_attachments_get_template_part($slug) { $attachment_template_part = 'assets/_attachments/' . $slug; // Load the attachment template in WP Administration screens. if (is_admin() && (!defined('DOING_AJAX') || !DOING_AJAX)) { $attachment_admin_template_part = buddypress()->themes_dir . '/bp-legacy/buddypress/' . $attachment_template_part . '.php'; // Check whether the template part exists. if (!file_exists($attachment_admin_template_part)) { return false; } // Load the template part. require $attachment_admin_template_part; // Load the attachment template in WP_USE_THEMES env. } else { bp_get_template_part($attachment_template_part); } }
/** * Posts new Activity comments received via a POST request. * * @global BP_Activity_Template $activities_template * @return string HTML * @since BuddyPress (1.2) */ function bp_legacy_theme_new_activity_comment() { global $activities_template; $bp = buddypress(); // Bail if not a POST action if ('POST' !== strtoupper($_SERVER['REQUEST_METHOD'])) { return; } // Check the nonce check_admin_referer('new_activity_comment', '_wpnonce_new_activity_comment'); if (!is_user_logged_in()) { exit('-1'); } $feedback = __('There was an error posting your reply. Please try again.', 'buddypress'); if (empty($_POST['content'])) { exit('-1<div id="message" class="error bp-ajax-message"><p>' . esc_html__('Please do not leave the comment area blank.', 'buddypress') . '</p></div>'); } if (empty($_POST['form_id']) || empty($_POST['comment_id']) || !is_numeric($_POST['form_id']) || !is_numeric($_POST['comment_id'])) { exit('-1<div id="message" class="error bp-ajax-message"><p>' . esc_html($feedback) . '</p></div>'); } $comment_id = bp_activity_new_comment(array('activity_id' => $_POST['form_id'], 'content' => $_POST['content'], 'parent_id' => $_POST['comment_id'])); if (!$comment_id) { if (!empty($bp->activity->errors['new_comment']) && is_wp_error($bp->activity->errors['new_comment'])) { $feedback = $bp->activity->errors['new_comment']->get_error_message(); unset($bp->activity->errors['new_comment']); } exit('-1<div id="message" class="error bp-ajax-message"><p>' . esc_html($feedback) . '</p></div>'); } // Load the new activity item into the $activities_template global bp_has_activities('display_comments=stream&hide_spam=false&show_hidden=true&include=' . $comment_id); // Swap the current comment with the activity item we just loaded if (isset($activities_template->activities[0])) { $activities_template->activity = new stdClass(); $activities_template->activity->id = $activities_template->activities[0]->item_id; $activities_template->activity->current_comment = $activities_template->activities[0]; // Because the whole tree has not been loaded, we manually // determine depth $depth = 1; $parent_id = (int) $activities_template->activities[0]->secondary_item_id; while ($parent_id !== (int) $activities_template->activities[0]->item_id) { $depth++; $p_obj = new BP_Activity_Activity($parent_id); $parent_id = (int) $p_obj->secondary_item_id; } $activities_template->activity->current_comment->depth = $depth; } // get activity comment template part bp_get_template_part('activity/comment'); unset($activities_template); exit; }
/** * Put a template part into an output buffer, and return it. * * @since 1.7.0 * * @see bp_get_template_part() for a description of $slug and $name params. * * @param string $slug See {@link bp_get_template_part()}. * @param string $name See {@link bp_get_template_part()}. * @param bool $echo If true, template content will be echoed. If false, * returned. Default: true. * * @return string|null If $echo, returns the template content. */ function bp_buffer_template_part($slug, $name = null, $echo = true) { ob_start(); // Remove 'bp_replace_the_content' filter to prevent infinite loops remove_filter('the_content', 'bp_replace_the_content'); bp_get_template_part($slug, $name); // Remove 'bp_replace_the_content' filter to prevent infinite loops add_filter('the_content', 'bp_replace_the_content'); // Get the output buffer contents $output = ob_get_clean(); // Echo or return the output buffer contents if (true === $echo) { echo $output; } else { return $output; } }
if (empty($_POST['page'])) { ?> <ul id="activity-stream" class="activity-list item-list"> <?php } ?> <?php while (bp_activities()) { bp_the_activity(); ?> <?php bp_get_template_part('activity/entry'); ?> <?php } ?> <?php if (bp_activity_has_more_items()) { ?> <li class="load-more"> <a href="#more"><?php _e('Load More', 'buddypress'); ?> </a>
* * * @package WordPress * @subpackage K Elements * @author SeventhQueen <*****@*****.**> * @since K Elements 1.0 */ extract(shortcode_atts(array('show' => false, 'number' => 6, 'show_button' => 'yes', 'button_link' => '/activity', 'button_label' => 'View All Activity', 'post_form' => ''), $atts)); if (function_exists('bp_is_active') && bp_is_active('activity')) { $output = ''; $params = array('max' => $number, 'object' => $show); $output .= '<div class="wpb_wrapper">'; $output .= '<div class="activity kleo-activity-streams">'; if (is_user_logged_in() && $post_form == 'yes') { ob_start(); bp_get_template_part('activity/post-form'); $output .= ob_get_clean(); } if (bp_has_activities($params)) { $output .= '<ul id="activity-stream" class="activity-list item-list">'; while (bp_activities()) { bp_the_activity(); $output .= '<li class="' . bp_get_activity_css_class() . '" id="activity-' . bp_get_activity_id() . '">'; $output .= '<div class="activity-avatar rounded">'; $output .= '<a class="kleo-activity-avatar" title="' . __('View Profile', 'kleo_framework') . '" href="' . bp_get_activity_user_link() . '">'; $output .= bp_get_activity_avatar(); $output .= '</a>'; $output .= '</div>'; // activity content $output .= '<div class="activity-content">'; $output .= '<div class="activity-header">';
/** * Output the Group members template * * @since 2.0.0 */ function bp_groups_members_template_part() { ?> <div class="item-list-tabs" id="subnav" aria-label="<?php esc_attr_e('Group secondary navigation', 'buddypress'); ?> " role="navigation"> <ul> <li class="groups-members-search" role="search"> <?php bp_directory_members_search_form(); ?> </li> <?php bp_groups_members_filter(); ?> <?php /** * Fires at the end of the group members search unordered list. * * Part of bp_groups_members_template_part(). * * @since 1.5.0 */ do_action('bp_members_directory_member_sub_types'); ?> </ul> </div> <h2 class="bp-screen-reader-text"><?php /* translators: accessibility text */ _e('Members', 'buddypress'); ?> </h2> <div id="members-group-list" class="group_members dir-list"> <?php bp_get_template_part('groups/single/members'); ?> </div> <?php }
} ?> <?php do_action('bp_members_directory_order_options'); ?> </select> </li> </ul> </div><!-- .item-list-tabs --> <div id="members-dir-list" class="members dir-list"> <?php bp_get_template_part('members/members-loop'); ?> </div><!-- #members-dir-list --> <?php do_action('bp_directory_members_content'); ?> <?php wp_nonce_field('directory_members', '_wpnonce-member-filter'); ?> <?php do_action('bp_after_directory_members_content'); ?>
?> </option> <?php do_action('bp_forums_directory_order_options'); ?> </select> </li> </ul> </div> <div class="forums single-forum" role="main"> <?php bp_get_template_part('forums/forums-loop'); ?> </div><!-- .forums.single-forum --> <?php } ?> <?php do_action('bp_after_group_forum_content'); ?> <?php if (!bp_is_group_forum_topic_edit() && !bp_is_group_forum_topic()) { ?>
<?php do_action('bp_before_group_membership_requests_admin'); ?> <div class="requests"> <?php bp_get_template_part('groups/single/requests-loop'); ?> </div> <?php do_action('bp_after_group_membership_requests_admin');
/** * Content for the user blogs screen. */ public static function user_blogs_screen_content() { do_action('bp_before_member_blogs_content'); ?> <div class="blogs follow-blogs" role="main"> <?php bp_get_template_part('blogs/blogs-loop'); ?> </div><!-- .blogs.follow-blogs --> <?php do_action('bp_after_member_blogs_content'); }
</select> </li> </ul> </div> <h2 class="bp-screen-reader-text"><?php /* translators: accessibility text */ _e('Sites directory', 'buddypress'); ?> </h2> <div id="blogs-dir-list" class="blogs dir-list"> <?php bp_get_template_part('blogs/blogs-loop'); ?> </div><!-- #blogs-dir-list --> <?php /** * Fires inside and displays the blogs content. * * @since 1.1.0 */ do_action('bp_directory_blogs_content'); ?> <?php wp_nonce_field('directory_blogs', '_wpnonce-blogs-filter');
bp_get_template_part('groups/single/activity'); // Group Members } elseif (bp_is_group_members()) { bp_groups_members_template_part(); // Group Invitations } elseif (bp_is_group_invites()) { bp_get_template_part('groups/single/send-invites'); // Old group forums } elseif (bp_is_group_forum()) { bp_get_template_part('groups/single/forum'); // Membership request } elseif (bp_is_group_membership_request()) { bp_get_template_part('groups/single/request-membership'); // Anything else (plugins mostly) } else { bp_get_template_part('groups/single/plugins'); } } /** * Fires after the display of the group home body. * * @since 1.2.0 */ do_action('bp_after_group_body'); ?> </div><!-- #item-body --> <?php /** * Fires after the display of the group home content.
/** * Updates an item * * @uses check_admin_referer() for security reasons * @uses buddydrive_get_buddyfile() to get the item * @uses buddydrive_get_folder_post_type() to get the BuddyFolder post type * @uses buddydrive_get_file_post_type() to get the BuddyFile post type * @uses wp_kses() to sannitize data * @uses buddydrive_update_item() to update the item (folder or file) * @uses the BuddyDrive Loop to get the item updated * @uses buddydrive_get_template() to get the template for bp-default or any theme * @return array containing the updated item */ function buddydrive_ajax_update_item() { // Bail if not a POST action if ('POST' !== strtoupper($_SERVER['REQUEST_METHOD'])) { return; } // Check the nonce check_admin_referer('buddydrive_actions', '_wpnonce_buddydrive_actions'); $item_id = intval($_POST['id']); $item = buddydrive_get_buddyfile($item_id, array(buddydrive_get_folder_post_type(), buddydrive_get_file_post_type())); if (empty($item->title)) { echo json_encode(array(0)); die; } $args = array(); if (!empty($_POST['title'])) { $args['title'] = wp_kses($_POST['title'], array()); } if (!empty($_POST['content'])) { $args['content'] = wp_kses($_POST['content'], array()); } if (!empty($_POST['sharing'])) { $args['privacy'] = $_POST['sharing']; } if (!empty($_POST['password'])) { $args['password'] = wp_kses($_POST['password'], array()); } if (!empty($_POST['group'])) { $args['group'] = $_POST['group']; } $args['parent_folder_id'] = !empty($_POST['folder']) ? intval($_POST['folder']) : 0; // We need to check if the parent folder is attached to a group. if (!empty($args['parent_folder_id'])) { $maybe_in_group = get_post_meta($args['parent_folder_id'], '_buddydrive_sharing_groups', true); if (!empty($maybe_in_group)) { $args['group'] = intval($maybe_in_group); } } if (!empty($_POST['customs'])) { $args['buddydrive_meta'] = json_decode(wp_unslash($_POST['customs'])); } $updated = buddydrive_update_item($args, $item); $result = array(); if (!empty($updated)) { if (buddydrive_has_items('id=' . $updated)) { ob_start(); while (buddydrive_has_items()) { buddydrive_the_item(); bp_get_template_part('buddydrive-entry', false); } $result[] = ob_get_contents(); ob_end_clean(); } $result[] = $args['parent_folder_id']; echo json_encode($result); } else { echo json_encode(array(0)); } die; }
*/ do_action('bp_before_member_groups_content'); ?> <div class="groups mygroups"> <?php bp_get_template_part('groups/groups-loop'); ?> </div> <?php /** * Fires after the display of member groups content. * * @since 1.2.0 */ do_action('bp_after_member_groups_content'); break; // Group Invitations // Group Invitations case 'invites': bp_get_template_part('members/single/groups/invites'); break; // Any other // Any other default: bp_get_template_part('members/single/plugins'); break; }
<?php /* Does the user have friends that could be invited to the group? */ if (bp_get_new_group_invite_friend_list()) { ?> <?php /* 'send-invite-form' is important for AJAX support */ ?> <form action="<?php bp_group_send_invite_form_action(); ?> " method="post" id="send-invite-form" class="standard-form" role="main"> <div class="invite"> <?php bp_get_template_part('groups/single/invites-loop'); ?> </div> <?php /* This is important, don't forget it */ ?> <input type="hidden" name="group_id" id="group_id" value="<?php bp_group_id(); ?> " /> </form><!-- #send-invite-form --> <?php /* No eligible friends? Maybe the user doesn't have any friends yet. */