Skip to:
Content

BuddyPress.org

Changeset 2194 for trunk/bp-forums.php


Ignore:
Timestamp:
12/17/2009 12:24:10 PM (17 years ago)
Author:
apeatling
Message:

Fixing forum filtering and added "My Topics" tab to the forums directory.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-forums.php

    r2168 r2194  
    128128}
    129129
    130 function bp_forums_get_forum_topicpost_count( $forum_id ) {
    131         global $wpdb, $bbdb;
    132 
    133         do_action( 'bbpress_init' );
    134 
    135         /* Need to find a bbPress function that does this */
    136         return $wpdb->get_results( $wpdb->prepare( "SELECT topics, posts from {$bbdb->forums} WHERE forum_id = %d", $forum_id ) );
    137 }
    138 
    139130/* Topic Functions */
    140131
     
    147138                'type' => 'newest',
    148139                'forum_id' => false,
     140                'user_id' => false,
    149141                'page' => 1,
    150142                'per_page' => 15,
     
    159151        switch ( $type ) {
    160152                case 'newest':
    161                         $query = new BB_Query( 'topic', array( 'forum_id' => $forum_id, 'per_page' => $per_page, 'page' => $page, 'number' => $per_page, 'exclude' => $exclude, 'topic_title' => $filter, 'sticky' => $show_stickies ), 'get_latest_topics' );
    162                         $topics = $query->results;
    163                 break;
    164 
    165                 case 'popular':
    166                         $query = new BB_Query( 'topic', array( 'forum_id' => $forum_id, 'per_page' => $per_page, 'page' => $page, 'order_by' => 't.topic_posts', 'topic_title' => $filter, 'sticky' => $show_stickies ) );
     153                        $query = new BB_Query( 'topic', array( 'forum_id' => $forum_id, 'topic_author_id' => $user_id, 'per_page' => $per_page, 'page' => $page, 'number' => $per_page, 'exclude' => $exclude, 'topic_title' => $filter, 'sticky' => $show_stickies ), 'get_latest_topics' );
    167154                        $topics =& $query->results;
    168155                break;
    169156
    170                 case 'unreplied':
    171                         $query = new BB_Query( 'topic', array( 'forum_id' => $forum_id, 'post_count' => 1, 'per_page' => $per_page, 'page' => $page, 'order_by' => 't.topic_time', 'topic_title' => $filter, 'sticky' => $show_stickies ) );
     157                case 'popular':
     158                        $query = new BB_Query( 'topic', array( 'forum_id' => $forum_id, 'topic_author_id' => $user_id, 'per_page' => $per_page, 'page' => $page, 'order_by' => 't.topic_posts', 'topic_title' => $filter, 'sticky' => $show_stickies ) );
    172159                        $topics =& $query->results;
    173160                break;
    174161
    175                 case 'personal':
    176                         $query = new BB_Query( 'topic', array( 'forum_id' => $forum_id, 'per_page' => $per_page, 'page' => $page, 'topic_author_id' => $bp->loggedin_user->id, 'order_by' => 't.topic_time', 'topic_title' => $filter, 'sticky' => $show_stickies ), 'get_recent_user_threads' );
     162                case 'unreplied':
     163                        $query = new BB_Query( 'topic', array( 'forum_id' => $forum_id, 'topic_author_id' => $user_id, 'post_count' => 1, 'per_page' => $per_page, 'page' => $page, 'order_by' => 't.topic_time', 'topic_title' => $filter, 'sticky' => $show_stickies ) );
    177164                        $topics =& $query->results;
    178165                break;
    179166
    180167                case 'tag':
    181                         $query = new BB_Query( 'topic', array( 'forum_id' => $forum_id, 'tag' => $filter, 'per_page' => $per_page, 'page' => $page, 'order_by' => 't.topic_time', 'sticky' => $show_stickies ) );
     168                        $query = new BB_Query( 'topic', array( 'forum_id' => $forum_id, 'topic_author_id' => $user_id, 'tag' => $filter, 'per_page' => $per_page, 'page' => $page, 'order_by' => 't.topic_time', 'sticky' => $show_stickies ) );
    182169                        $topics =& $query->results;
    183170                break;
     
    319306}
    320307
     308function bp_forums_total_topic_count() {
     309        do_action( 'bbpress_init' );
     310
     311        $query = new BB_Query( 'topic', array( 'page' => 1, 'per_page' => false, 'count' => true ) );
     312        return $query->count;
     313}
     314
     315function bp_forums_total_topic_count_for_user( $user_id = false ) {
     316        global $bp;
     317
     318        do_action( 'bbpress_init' );
     319
     320        if ( !$user_id )
     321                $user_id = ( $bp->displayed_user->id ) ? $bp->displayed_user->id : $bp->loggedin_user->id;
     322
     323        $query = new BB_Query( 'topic', array( 'topic_author_id' => $user_id, 'page' => 1, 'per_page' => false, 'count' => true ) );
     324        return $query->count;
     325}
     326
    321327/* Post Functions */
    322328
Note: See TracChangeset for help on using the changeset viewer.