</a>
				</div>
			<?php 
        }
        ?>

			<div class="item">
				<div class="item-title"><a href="<?php 
        bp_group_permalink();
        ?>
"><?php 
        bp_group_name();
        ?>
</a></div>
				<div class="item-meta"><span class="activity" data-livestamp="<?php 
        bp_core_iso8601_date(bp_get_group_last_active(0, array('relative' => false)));
        ?>
"><?php 
        printf(__('active %s', 'buddypress'), bp_get_group_last_active());
        ?>
</span></div>

				<div class="item-desc"><?php 
        bp_group_description_excerpt();
        ?>
</div>

				<?php 
        /**
         * Fires inside the listing of an individual group listing item.
         *
    /**
     * Display the widget.
     *
     * @since 1.9.0
     *
     * @param array $args Widget arguments.
     * @param array $instance The widget settings, as saved by the user.
     */
    function widget($args, $instance)
    {
        global $members_template;
        extract($args);
        if (!bp_displayed_user_id()) {
            return;
        }
        $user_id = bp_displayed_user_id();
        $link = trailingslashit(bp_displayed_user_domain() . bp_get_friends_slug());
        $instance['title'] = sprintf(__("%s's Friends", 'buddypress'), bp_get_displayed_user_fullname());
        if (empty($instance['friend_default'])) {
            $instance['friend_default'] = 'active';
        }
        /**
         * Filters the Friends widget title.
         *
         * @since 1.8.0
         * @since 2.3.0 Added 'instance' and 'id_base' to arguments passed to filter.
         *
         * @param string $title    The widget title.
         * @param array  $instance The settings for the particular instance of the widget.
         * @param string $id_base  Root ID for all widgets of this type.
         */
        $title = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);
        echo $before_widget;
        $title = $instance['link_title'] ? '<a href="' . esc_url($link) . '">' . esc_html($title) . '</a>' : esc_html($title);
        echo $before_title . $title . $after_title;
        $members_args = array('user_id' => absint($user_id), 'type' => sanitize_text_field($instance['friend_default']), 'max' => absint($instance['max_friends']), 'populate_extras' => 1);
        // Back up the global.
        $old_members_template = $members_template;
        ?>

		<?php 
        if (bp_has_members($members_args)) {
            ?>
			<div class="item-options" id="friends-list-options">
				<a href="<?php 
            bp_members_directory_permalink();
            ?>
" id="newest-friends" <?php 
            if ($instance['friend_default'] == 'newest') {
                ?>
class="selected"<?php 
            }
            ?>
><?php 
            _e('Newest', 'buddypress');
            ?>
</a>
				| <a href="<?php 
            bp_members_directory_permalink();
            ?>
" id="recently-active-friends" <?php 
            if ($instance['friend_default'] == 'active') {
                ?>
class="selected"<?php 
            }
            ?>
><?php 
            _e('Active', 'buddypress');
            ?>
</a>
				| <a href="<?php 
            bp_members_directory_permalink();
            ?>
" id="popular-friends" <?php 
            if ($instance['friend_default'] == 'popular') {
                ?>
class="selected"<?php 
            }
            ?>
><?php 
            _e('Popular', 'buddypress');
            ?>
</a>
			</div>

			<ul id="friends-list" class="item-list">
				<?php 
            while (bp_members()) {
                bp_the_member();
                ?>
					<li class="vcard">
						<div class="item-avatar">
							<a href="<?php 
                bp_member_permalink();
                ?>
" title="<?php 
                bp_member_name();
                ?>
"><?php 
                bp_member_avatar();
                ?>
</a>
						</div>

						<div class="item">
							<div class="item-title fn"><a href="<?php 
                bp_member_permalink();
                ?>
" title="<?php 
                bp_member_name();
                ?>
"><?php 
                bp_member_name();
                ?>
</a></div>
							<div class="item-meta">
								<?php 
                if ('newest' == $instance['friend_default']) {
                    ?>
									<span class="activity" data-livestamp="<?php 
                    bp_core_iso8601_date(bp_get_member_registered(array('relative' => false)));
                    ?>
"><?php 
                    bp_member_registered();
                    ?>
</span>
								<?php 
                } elseif ('active' == $instance['friend_default']) {
                    ?>
									<span class="activity" data-livestamp="<?php 
                    bp_core_iso8601_date(bp_get_member_last_active(array('relative' => false)));
                    ?>
"><?php 
                    bp_member_last_active();
                    ?>
</span>
								<?php 
                } else {
                    ?>
									<span class="activity"><?php 
                    bp_member_total_friend_count();
                    ?>
</span>
								<?php 
                }
                ?>
							</div>
						</div>
					</li>

				<?php 
            }
            ?>
			</ul>
			<?php 
            wp_nonce_field('bp_core_widget_friends', '_wpnonce-friends');
            ?>
			<input type="hidden" name="friends_widget_max" id="friends_widget_max" value="<?php 
            echo absint($instance['max_friends']);
            ?>
" />

		<?php 
        } else {
            ?>

			<div class="widget-error">
				<?php 
            _e('Sorry, no members were found.', 'buddypress');
            ?>
			</div>

		<?php 
        }
        ?>

		<?php 
        echo $after_widget;
        // Restore the global.
        $members_template = $old_members_template;
    }
    /**
     * Display the Members widget.
     *
     * @since 1.0.3
     *
     * @see WP_Widget::widget() for description of parameters.
     *
     * @param array $args     Widget arguments.
     * @param array $instance Widget settings, as saved by the user.
     */
    public function widget($args, $instance)
    {
        global $members_template;
        // Get widget settings.
        $settings = $this->parse_settings($instance);
        /**
         * Filters the title of the Members widget.
         *
         * @since 1.8.0
         * @since 2.3.0 Added 'instance' and 'id_base' to arguments passed to filter.
         *
         * @param string $title    The widget title.
         * @param array  $settings The settings for the particular instance of the widget.
         * @param string $id_base  Root ID for all widgets of this type.
         */
        $title = apply_filters('widget_title', $settings['title'], $settings, $this->id_base);
        $title = $settings['link_title'] ? '<a href="' . bp_get_members_directory_permalink() . '">' . $title . '</a>' : $title;
        /**
         * Filters the separator of the member widget links.
         *
         * @since 2.4.0
         *
         * @param string $separator Separator string. Default '|'.
         */
        $separator = apply_filters('bp_members_widget_separator', '|');
        // Output before widget HTMl, title (and maybe content before & after it).
        echo $args['before_widget'] . $args['before_title'] . $title . $args['after_title'];
        // Setup args for querying members.
        $members_args = array('user_id' => 0, 'type' => $settings['member_default'], 'per_page' => $settings['max_members'], 'max' => $settings['max_members'], 'populate_extras' => true, 'search_terms' => false);
        // Back up the global.
        $old_members_template = $members_template;
        ?>

		<?php 
        if (bp_has_members($members_args)) {
            ?>

			<div class="item-options" id="members-list-options">
				<a href="<?php 
            bp_members_directory_permalink();
            ?>
" id="newest-members" <?php 
            if ('newest' === $settings['member_default']) {
                ?>
class="selected"<?php 
            }
            ?>
><?php 
            esc_html_e('Newest', 'buddypress');
            ?>
</a>
				<span class="bp-separator" role="separator"><?php 
            echo esc_html($separator);
            ?>
</span>
				<a href="<?php 
            bp_members_directory_permalink();
            ?>
" id="recently-active-members" <?php 
            if ('active' === $settings['member_default']) {
                ?>
class="selected"<?php 
            }
            ?>
><?php 
            esc_html_e('Active', 'buddypress');
            ?>
</a>

				<?php 
            if (bp_is_active('friends')) {
                ?>
					<span class="bp-separator" role="separator"><?php 
                echo esc_html($separator);
                ?>
</span>
					<a href="<?php 
                bp_members_directory_permalink();
                ?>
" id="popular-members" <?php 
                if ('popular' === $settings['member_default']) {
                    ?>
class="selected"<?php 
                }
                ?>
><?php 
                esc_html_e('Popular', 'buddypress');
                ?>
</a>

				<?php 
            }
            ?>

			</div>

			<ul id="members-list" class="item-list" aria-live="polite" aria-relevant="all" aria-atomic="true">

				<?php 
            while (bp_members()) {
                bp_the_member();
                ?>

					<li class="vcard">
						<div class="item-avatar">
							<a href="<?php 
                bp_member_permalink();
                ?>
" title="<?php 
                bp_member_name();
                ?>
"><?php 
                bp_member_avatar();
                ?>
</a>
						</div>

						<div class="item">
							<div class="item-title fn"><a href="<?php 
                bp_member_permalink();
                ?>
" title="<?php 
                bp_member_name();
                ?>
"><?php 
                bp_member_name();
                ?>
</a></div>
							<div class="item-meta">
								<?php 
                if ('newest' == $settings['member_default']) {
                    ?>
									<span class="activity" data-livestamp="<?php 
                    bp_core_iso8601_date(bp_get_member_registered(array('relative' => false)));
                    ?>
"><?php 
                    bp_member_registered();
                    ?>
</span>
								<?php 
                } elseif ('active' == $settings['member_default']) {
                    ?>
									<span class="activity" data-livestamp="<?php 
                    bp_core_iso8601_date(bp_get_member_last_active(array('relative' => false)));
                    ?>
"><?php 
                    bp_member_last_active();
                    ?>
</span>
								<?php 
                } else {
                    ?>
									<span class="activity"><?php 
                    bp_member_total_friend_count();
                    ?>
</span>
								<?php 
                }
                ?>
							</div>
						</div>
					</li>

				<?php 
            }
            ?>

			</ul>

			<?php 
            wp_nonce_field('bp_core_widget_members', '_wpnonce-members', false);
            ?>

			<input type="hidden" name="members_widget_max" id="members_widget_max" value="<?php 
            echo esc_attr($settings['max_members']);
            ?>
" />

		<?php 
        } else {
            ?>

			<div class="widget-error">
				<?php 
            esc_html_e('No one has signed up yet!', 'buddypress');
            ?>
			</div>

		<?php 
        }
        ?>

		<?php 
        echo $args['after_widget'];
        // Restore the global.
        $members_template = $old_members_template;
    }
/**
 * Process AJAX pagination or filtering for the Friends widget.
 *
 * @since 1.9.0
 */
function bp_core_ajax_widget_friends()
{
    check_ajax_referer('bp_core_widget_friends');
    switch ($_POST['filter']) {
        case 'newest-friends':
            $type = 'newest';
            break;
        case 'recently-active-friends':
            $type = 'active';
            break;
        case 'popular-friends':
            $type = 'popular';
            break;
    }
    $members_args = array('user_id' => bp_displayed_user_id(), 'type' => $type, 'max' => absint($_POST['max-friends']), 'populate_extras' => 1);
    if (bp_has_members($members_args)) {
        ?>
		<?php 
        echo '0[[SPLIT]]';
        // Return valid result. TODO: remove this.
        ?>
		<?php 
        while (bp_members()) {
            bp_the_member();
            ?>
			<li class="vcard">
				<div class="item-avatar">
					<a href="<?php 
            bp_member_permalink();
            ?>
"><?php 
            bp_member_avatar();
            ?>
</a>
				</div>

				<div class="item">
					<div class="item-title fn"><a href="<?php 
            bp_member_permalink();
            ?>
" title="<?php 
            bp_member_name();
            ?>
"><?php 
            bp_member_name();
            ?>
</a></div>
					<?php 
            if ('active' == $type) {
                ?>
						<div class="item-meta"><span class="activity" data-livestamp="<?php 
                bp_core_iso8601_date(bp_get_member_last_active(array('relative' => false)));
                ?>
"><?php 
                bp_member_last_active();
                ?>
</span></div>
					<?php 
            } elseif ('newest' == $type) {
                ?>
						<div class="item-meta"><span class="activity" data-livestamp="<?php 
                bp_core_iso8601_date(bp_get_member_registered(array('relative' => false)));
                ?>
"><?php 
                bp_member_registered();
                ?>
</span></div>
					<?php 
            } elseif (bp_is_active('friends')) {
                ?>
						<div class="item-meta"><span class="activity"><?php 
                bp_member_total_friend_count();
                ?>
</span></div>
					<?php 
            }
            ?>
				</div>
			</li>
		<?php 
        }
        ?>

	<?php 
    } else {
        ?>
		<?php 
        echo "-1[[SPLIT]]<li>";
        ?>
		<?php 
        _e('There were no members found, please try another filter.', 'buddypress');
        ?>
		<?php 
        echo "</li>";
        ?>
	<?php 
    }
}
			<?php 
}
?>

			<div id="item-buttons"><?php 
/**
 * Fires in the member header actions section.
 *
 * @since 1.2.6
 */
do_action('bp_member_header_actions');
?>
</div><!-- #item-buttons -->

			<span class="activity" data-livestamp="<?php 
bp_core_iso8601_date(bp_get_user_last_activity(bp_displayed_user_id()));
?>
"><?php 
bp_last_activity(bp_displayed_user_id());
?>
</span>

			<?php 
/**
 * Fires before the display of the member's header meta.
 *
 * @since 1.2.0
 */
do_action('bp_before_member_header_meta');
?>
Esempio n. 6
0
        bp_group_member_domain();
        ?>
">

					<?php 
        bp_group_member_avatar_thumb();
        ?>

				</a>

				<h5><?php 
        bp_group_member_link();
        ?>
</h5>
				<span class="activity" data-livestamp="<?php 
        bp_core_iso8601_date(bp_get_group_member_joined_since(array('relative' => false)));
        ?>
"><?php 
        bp_group_member_joined_since();
        ?>
</span>

				<?php 
        /**
         * Fires inside the listing of an individual group member listing item.
         *
         * @since 1.1.0
         */
        do_action('bp_group_members_list_item');
        ?>
        if (bp_get_member_latest_update()) {
            ?>

						<span class="update"> <?php 
            bp_member_latest_update();
            ?>
</span>

					<?php 
        }
        ?>

				</div>

				<div class="item-meta"><span class="activity" data-livestamp="<?php 
        bp_core_iso8601_date(bp_get_member_last_active(array('relative' => false)));
        ?>
"><?php 
        bp_member_last_active();
        ?>
</span></div>

				<?php 
        /**
         * Fires inside the display of a directory member item.
         *
         * @since 1.1.0
         */
        do_action('bp_directory_members_item');
        ?>
/**
 * AJAX callback for the Groups List widget.
 *
 * @since 1.0.0
 */
function groups_ajax_widget_groups_list()
{
    check_ajax_referer('groups_widget_groups_list');
    switch ($_POST['filter']) {
        case 'newest-groups':
            $type = 'newest';
            break;
        case 'recently-active-groups':
            $type = 'active';
            break;
        case 'popular-groups':
            $type = 'popular';
            break;
    }
    $per_page = isset($_POST['max_groups']) ? intval($_POST['max_groups']) : 5;
    $groups_args = array('user_id' => 0, 'type' => $type, 'per_page' => $per_page, 'max' => $per_page);
    if (bp_has_groups($groups_args)) {
        ?>
		<?php 
        echo "0[[SPLIT]]";
        ?>
		<?php 
        while (bp_groups()) {
            bp_the_group();
            ?>
			<li <?php 
            bp_group_class();
            ?>
>
				<div class="item-avatar">
					<a href="<?php 
            bp_group_permalink();
            ?>
"><?php 
            bp_group_avatar_thumb();
            ?>
</a>
				</div>

				<div class="item">
					<div class="item-title"><a href="<?php 
            bp_group_permalink();
            ?>
" title="<?php 
            bp_group_name();
            ?>
"><?php 
            bp_group_name();
            ?>
</a></div>
					<div class="item-meta">
						<?php 
            if ('newest-groups' === $_POST['filter']) {
                ?>
							<span class="activity" data-livestamp="<?php 
                bp_core_iso8601_date(bp_get_group_date_created(0, array('relative' => false)));
                ?>
"><?php 
                printf(__('created %s', 'buddypress'), bp_get_group_date_created());
                ?>
</span>
						<?php 
            } elseif ('recently-active-groups' === $_POST['filter']) {
                ?>
							<span class="activity" data-livestamp="<?php 
                bp_core_iso8601_date(bp_get_group_last_active(0, array('relative' => false)));
                ?>
"><?php 
                printf(__('active %s', 'buddypress'), bp_get_group_last_active());
                ?>
</span>
						<?php 
            } else {
                ?>
							<span class="activity"><?php 
                bp_group_member_count();
                ?>
</span>
						<?php 
            }
            ?>
					</div>
				</div>
			</li>
		<?php 
        }
        ?>

		<?php 
        wp_nonce_field('groups_widget_groups_list', '_wpnonce-groups');
        ?>
		<input type="hidden" name="groups_widget_max" id="groups_widget_max" value="<?php 
        echo esc_attr($_POST['max_groups']);
        ?>
" />

	<?php 
    } else {
        ?>

		<?php 
        echo "-1[[SPLIT]]<li>" . __("No groups matched the current filter.", 'buddypress');
        ?>

	<?php 
    }
}