예제 #1
0
    function widget($args, $instance)
    {
        global $bp;
        //only show widget to logged in users
        if (!is_user_logged_in()) {
            return;
        }
        //get the groups the user is part of
        $results = groups_get_user_groups(get_current_user_id());
        //don't show widget if user doesn't have any groups
        if ($results['total'] == 0) {
            return;
        }
        extract($args);
        $title = apply_filters('widget_title', empty($instance['title']) ? sprintf(__('Recent %s from your Groups', 'bp-group-documents'), $this->bp_group_documents_name) : sanitize_text_field($instance['title']));
        echo $before_widget . $before_title . $title . $after_title;
        do_action('bp_group_documents_usergroups_widget_before_html');
        $document_list = BP_Group_Documents::get_list_for_usergroups_widget(absint($instance['num_items']), (bool) $instance['featured']);
        if ($document_list && count($document_list) >= 1) {
            echo '<ul id="bp-group-documents-usergroups" class="bp-group-documents-list">';
            foreach ($document_list as $item) {
                $document = new BP_Group_Documents($item['id']);
                $group = new BP_Groups_Group($document->group_id);
                echo '<li>';
                if (get_option('bp_group_documents_display_icons')) {
                    $document->icon();
                }
                ?>
                                <a class="bp-group-documents-title" id="group-document-link-<?php 
                echo $document->id;
                ?>
"
                                   href="<?php 
                $document->url();
                ?>
" target="_blank">
                        <?php 
                echo $document->name;
                ?>
</a>
                        <?php 
                echo sprintf(__('posted in %s', 'bp-group-documents'), '<a href="' . bp_get_group_permalink($group) . '">' . esc_attr($group->name) . '</a>');
                echo '</li>';
            }
            echo '</ul>';
        } else {
            echo '<div class="widget-error">' . sprintf(__('There are no %s to display.', 'bp-group-documents'), $this->bp_group_documents_name) . '</div></p>';
        }
        echo $after_widget;
    }