function widget($args, $instance) { global $bp; extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? __('Recent Group Documents', 'bp-group-documents') : $instance['title']); echo $before_widget; echo $before_title . $title . $after_title; ?> <?php do_action('bp_group_documents_newest_widget_before_html'); /*** * Main HTML Display */ $document_list = BP_Group_Documents::get_list_for_newest_widget($instance['num_items'], $instance['group_filter'], $instance['featured']); if ($document_list && count($document_list) >= 1) { echo '<ul class="group-documents-recent">'; foreach ($document_list as $item) { $document = new BP_Group_Documents($item['id']); $group = new BP_Groups_Group($document->group_id); echo '<li>'; if ($instance['group_filter']) { echo '<a href="' . $document->get_url() . '">' . $document->icon() . ' ' . esc_attr($document->name) . '</a>'; } else { echo sprintf(__('%s posted in %s', 'bp-group-documents'), '<a href="' . $document->get_url() . '">' . esc_attr($document->name) . '</a>', '<a href="' . bp_get_group_permalink($group) . '">' . esc_attr($group->name) . '</a>'); } echo '</li>'; } echo '</ul>'; } else { echo '<div class="widget-error">' . __('There are no documents to display.', 'bp-group-documents') . '</div></p>'; } ?> <?php echo $after_widget; ?> <?php }
function widget($args, $instance) { global $bp; $instance['group_id'] = bp_get_current_group_id(); if ($instance['group_id'] > 0) { $group = $bp->groups->current_group; // If the group public, or the user is super_admin or the user is member of group if ($group->status == 'public' || is_super_admin() || groups_is_user_member(bp_loggedin_user_id(), $group_id)) { extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? sprintf(__('Recent %s for the group', '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_current_group_widget_before_html'); $document_list = BP_Group_Documents::get_list_for_newest_widget(absint($instance['num_items']), $instance['group_id'], (bool) $instance['featured']); if ($document_list && count($document_list) >= 1) { echo '<ul id="bp-group-documents-current-group" class="bp-group-documents-list">'; foreach ($document_list as $item) { $document = new BP_Group_Documents($item['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 esc_html($document->name); ?> <?php if (get_option('bp_group_documents_display_file_size')) { echo ' <span class="group-documents-filesize">(' . get_file_size($document) . ')</span>'; } ?> </a> <div class="bp-group-documents-meta"> <?php $document->categories(); printf(__('Uploaded by %s on %s', 'bp-group-documents'), bp_core_get_userlink($document->user_id), date_i18n(get_option('date_format'), $document->created_ts)); ?> <?php 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 '<div class="view-all"><a href="' . bp_get_group_permalink($bp->groups->current_group) . BP_GROUP_DOCUMENTS_SLUG . '#object-nav">' . __("View all", 'bp-group-documents') . '</a></div>'; echo $after_widget; } } }