Example #1
0
/**
 * Returns pagination links of a topic within the topic loop
 *
 * @since 2.0.0 bbPress (r2966)
 *
 * @param array $args This function supports these arguments:
 *  - topic_id: Topic id
 *  - before: Before the links
 *  - after: After the links
 * @uses bbp_get_topic_id() To get the topic id
 * @uses bbp_use_pretty_urls() To check if the site is using pretty URLs
 * @uses user_trailingslashit() To add a trailing slash
 * @uses trailingslashit() To add a trailing slash
 * @uses get_permalink() To get the permalink of the topic
 * @uses add_query_arg() To add query args
 * @uses bbp_get_topic_reply_count() To get topic reply count
 * @uses bbp_show_topic_lead() Are we showing the topic as a lead?
 * @uses get_option() To get replies per page option
 * @uses paginate_links() To paginate the links
 * @uses apply_filters() Calls 'bbp_get_topic_pagination' with the links
 *                        and arguments
 * @return string Pagination links
 */
function bbp_get_topic_pagination($args = array())
{
    // Bail if threading replies
    if (bbp_thread_replies()) {
        return;
    }
    // Parse arguments against default values
    $r = bbp_parse_args($args, array('topic_id' => bbp_get_topic_id(), 'before' => '<span class="bbp-topic-pagination">', 'after' => '</span>'), 'get_topic_pagination');
    // If pretty permalinks are enabled, make our pagination pretty
    if (bbp_use_pretty_urls()) {
        $base = trailingslashit(get_permalink($r['topic_id'])) . user_trailingslashit(bbp_get_paged_slug() . '/%#%/');
    } else {
        $base = add_query_arg('paged', '%#%', get_permalink($r['topic_id']));
    }
    // Get total and add 1 if topic is included in the reply loop
    $total = bbp_get_topic_reply_count($r['topic_id'], true);
    // Bump if topic is in loop
    if (!bbp_show_lead_topic()) {
        $total++;
    }
    // Add pagination to query object
    $pagination_links = paginate_links(array('base' => $base, 'format' => '', 'total' => ceil((int) $total / (int) bbp_get_replies_per_page()), 'current' => 0, 'prev_next' => false, 'mid_size' => 2, 'end_size' => 3, 'add_args' => bbp_get_view_all() ? array('view' => 'all') : false));
    if (!empty($pagination_links)) {
        // Remove first page from pagination
        if (bbp_use_pretty_urls()) {
            $pagination_links = str_replace(bbp_get_paged_slug() . '/1/', '', $pagination_links);
        } else {
            $pagination_links = str_replace('&#038;paged=1', '', $pagination_links);
        }
        // Add before and after to pagination links
        $pagination_links = $r['before'] . $pagination_links . $r['after'];
    }
    return apply_filters('bbp_get_topic_pagination', $pagination_links, $args);
}
Example #2
0
/**
 * Return the topic pagination count
 *
 * @since bbPress (r2519)
 *
 * @uses bbp_number_format() To format the number value
 * @uses bbp_show_lead_topic() Are we showing the topic as a lead?
 * @uses apply_filters() Calls 'bbp_get_topic_pagination_count' with the
 *                        pagination count
 * @return string Topic pagination count
 */
function bbp_get_topic_pagination_count()
{
    $bbp = bbpress();
    // Define local variable(s)
    $retstr = '';
    // Set pagination values
    $start_num = intval(($bbp->reply_query->paged - 1) * $bbp->reply_query->posts_per_page) + 1;
    $from_num = bbp_number_format($start_num);
    $to_num = bbp_number_format($start_num + ($bbp->reply_query->posts_per_page - 1) > $bbp->reply_query->found_posts ? $bbp->reply_query->found_posts : $start_num + ($bbp->reply_query->posts_per_page - 1));
    $total_int = (int) $bbp->reply_query->found_posts;
    $total = bbp_number_format($total_int);
    // We are threading replies
    if (bbp_thread_replies() && bbp_is_single_topic()) {
        return;
        $walker = new BBP_Walker_Reply();
        $threads = (int) $walker->get_number_of_root_elements($bbp->reply_query->posts);
        // Adjust for topic
        $threads--;
        $retstr = sprintf(_n('Viewing %1$s reply thread', 'Viewing %1$s reply threads', $threads, 'bbbpress'), bbp_number_format($threads));
        // We are not including the lead topic
    } elseif (bbp_show_lead_topic()) {
        // Several replies in a topic with a single page
        if (empty($to_num)) {
            $retstr = sprintf(_n('Viewing %1$s reply', 'Viewing %1$s replies', $total_int, 'bbpress'), $total);
            // Several replies in a topic with several pages
        } else {
            $retstr = sprintf(_n('Viewing %2$s replies (of %4$s total)', 'Viewing %1$s replies - %2$s through %3$s (of %4$s total)', $bbp->reply_query->post_count, 'bbpress'), $bbp->reply_query->post_count, $from_num, $to_num, $total);
        }
        // We are including the lead topic
    } else {
        // Several posts in a topic with a single page
        if (empty($to_num)) {
            $retstr = sprintf(_n('Viewing %1$s post', 'Viewing %1$s posts', $total_int, 'bbpress'), $total);
            // Several posts in a topic with several pages
        } else {
            $retstr = sprintf(_n('Viewing %2$s post (of %4$s total)', 'Viewing %1$s posts - %2$s through %3$s (of %4$s total)', $bbp->reply_query->post_count, 'bbpress'), $bbp->reply_query->post_count, $from_num, $to_num, $total);
        }
    }
    // Filter and return
    return apply_filters('bbp_get_topic_pagination_count', esc_html($retstr));
}
				<?php 
    _e('Replies', 'bbpress');
    ?>

			<?php 
}
?>

		</div><!-- .bbp-reply-content -->

	</li><!-- .bbp-header -->

	<li class="bbp-body">

		<?php 
if (bbp_thread_replies()) {
    ?>

			<?php 
    bbp_list_replies();
    ?>

		<?php 
} else {
    ?>

			<?php 
    while (bbp_replies()) {
        bbp_the_reply();
        ?>
 /**
  * Enqueue the required Javascript files
  *
  * @since bbPress (r3732)
  *
  * @uses bbp_is_single_forum() To check if it's the forum page
  * @uses bbp_is_single_topic() To check if it's the topic page
  * @uses bbp_thread_replies() To check if threaded replies are enabled
  * @uses bbp_is_single_user_edit() To check if it's the profile edit page
  * @uses wp_enqueue_script() To enqueue the scripts
  */
 public function enqueue_scripts()
 {
     // Setup scripts array
     $scripts = array();
     // Always pull in jQuery for TinyMCE shortcode usage
     if (bbp_use_wp_editor()) {
         $scripts['bbpress-editor'] = array('file' => 'js/editor.js', 'dependencies' => array('jquery'));
     }
     // Forum-specific scripts
     if (bbp_is_single_forum()) {
         $scripts['bbpress-forum'] = array('file' => 'js/forum.js', 'dependencies' => array('jquery'));
     }
     // Topic-specific scripts
     if (bbp_is_single_topic()) {
         // Topic favorite/unsubscribe
         $scripts['bbpress-topic'] = array('file' => 'js/topic.js', 'dependencies' => array('jquery'));
         // Hierarchical replies
         if (bbp_thread_replies()) {
             $scripts['bbpress-reply'] = array('file' => 'js/reply.js', 'dependencies' => array('jquery'));
         }
     }
     // User Profile edit
     if (bbp_is_single_user_edit()) {
         $scripts['bbpress-user'] = array('file' => 'js/user.js', 'dependencies' => array('user-query'));
     }
     // Filter the scripts
     $scripts = apply_filters('bbp_default_scripts', $scripts);
     // Enqueue the scripts
     foreach ($scripts as $handle => $attributes) {
         bbp_enqueue_script($handle, $attributes['file'], $attributes['dependencies'], $this->version, 'screen');
     }
 }
 /**
  * Enqueue the required Javascript files
  *
  * @since bbPress (r3732)
  *
  * @uses bbp_is_single_topic() To check if it's the topic page
  * @uses bbp_is_single_user_edit() To check if it's the profile edit page
  * @uses wp_enqueue_script() To enqueue the scripts
  */
 public function enqueue_scripts()
 {
     // Always pull in jQuery for TinyMCE shortcode usage
     if (bbp_use_wp_editor()) {
         wp_enqueue_script('jquery');
     }
     // Topic-specific scripts
     if (bbp_is_single_topic()) {
         // Topic favorite/unsubscribe
         wp_enqueue_script('bbpress-topic', $this->url . 'js/topic.js', array('jquery'), $this->version);
         // Hierarchical replies
         if (bbp_thread_replies()) {
             wp_enqueue_script('bbpress-reply', $this->url . 'js/reply.js', array(), $this->version);
         }
     }
     // User Profile edit
     if (bbp_is_single_user_edit()) {
         wp_enqueue_script('user-profile');
     }
 }
		<a href="#<?php 
bbp_reply_id();
?>
" class="" data-container="body" data-toggle="popover" data-rel="popover" data-html="true" data-placement="right" data-original-title="" data-content="<?php 
echo esc_attr($reply_manage);
?>
">
            <span class="edit-link text-muted"><span class="icon-cog"></span> <?php 
_e('Details', 'firmasite');
?>
</span>
         </a>

		 <?php 
if (class_exists('BBP_Walker_Reply') && bbp_thread_replies()) {
    ?>
         <div class="pull-left text-muted">
            <?php 
    bbp_reply_to_link(array('id' => bbp_get_reply_id(), 'link_before' => '<span class="icon-reply"></span> ', 'link_after' => ' &nbsp; '));
    ?>
         </div> 
		<?php 
}
?>
		 
		<?php 
do_action('bbp_theme_after_reply_author_details');
?>

	</div><!-- .bbp-reply-author -->