Skip to:
Content

BuddyPress.org

Changeset 3769


Ignore:
Timestamp:
01/20/2011 01:34:02 PM (15 years ago)
Author:
johnjamesjacoby
Message:

Prevent errors when forums component is turned on but bbPress stand-alone has not been installed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-forums/bp-forums-loader.php

    r3757 r3769  
    194194
    195195    $defaults = array(
    196         'type' => 'newest',
    197         'forum_id' => false,
    198         'user_id' => false,
    199         'page' => 1,
    200         'per_page' => 15,
    201         'exclude' => false,
     196        'type'          => 'newest',
     197        'forum_id'      => false,
     198        'user_id'       => false,
     199        'page'          => 1,
     200        'per_page'      => 15,
     201        'exclude'       => false,
    202202        'show_stickies' => 'all',
    203         'filter' => false // if $type = tag then filter is the tag name, otherwise it's terms to search on.
    204     );
    205 
    206     $r = wp_parse_args( $args, $defaults );
    207     extract( $r, EXTR_SKIP );
    208 
    209     switch ( $type ) {
    210         case 'newest':
    211             $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' );
    212             $topics =& $query->results;
    213             break;
    214 
    215         case 'popular':
    216             $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 ) );
    217             $topics =& $query->results;
    218             break;
    219 
    220         case 'unreplied':
    221             $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 ) );
    222             $topics =& $query->results;
    223             break;
    224 
    225         case 'tags':
    226             $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 ) );
    227             $topics =& $query->results;
    228             break;
     203        'filter'        => false // if $type = tag then filter is the tag name, otherwise it's terms to search on.
     204    );
     205
     206    $r = wp_parse_args( $args, $defaults );
     207    extract( $r, EXTR_SKIP );
     208
     209    if ( class_exists( 'BB_Query' ) ) {
     210        switch ( $type ) {
     211            case 'newest':
     212                $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' );
     213                $topics =& $query->results;
     214                break;
     215
     216            case 'popular':
     217                $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 ) );
     218                $topics =& $query->results;
     219                break;
     220
     221            case 'unreplied':
     222                $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 ) );
     223                $topics =& $query->results;
     224                break;
     225
     226            case 'tags':
     227                $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 ) );
     228                $topics =& $query->results;
     229                break;
     230        }
     231    } else {
     232        $topics = array();
    229233    }
    230234
     
    377381    do_action( 'bbpress_init' );
    378382
    379     $count = $bbdb->get_results( $bbdb->prepare( "SELECT t.topic_id FROM {$bbdb->topics} AS t". groups_add_forum_tables_sql( '' ) . " WHERE " . groups_add_forum_where_sql( "t.topic_status = 0" ) ) );
     383    if ( isset( $bbdb ) )
     384        $count = $bbdb->get_results( $bbdb->prepare( "SELECT t.topic_id FROM {$bbdb->topics} AS t". groups_add_forum_tables_sql( '' ) . " WHERE " . groups_add_forum_where_sql( "t.topic_status = 0" ) ) );
     385    else
     386        $count = 0;
     387
    380388    return apply_filters( 'bp_forums_total_topic_count', count( (array)$count ) );
    381389}
     
    389397        $user_id = ( $bp->displayed_user->id ) ? $bp->displayed_user->id : $bp->loggedin_user->id;
    390398
    391     $query = new BB_Query( 'topic', array( 'topic_author_id' => $user_id, 'page' => 1, 'per_page' => -1, 'count' => true ) );
    392     $count = $query->count;
    393     $query = null;
     399    if ( class_exists( 'BB_Query' ) ) {
     400        $query = new BB_Query( 'topic', array( 'topic_author_id' => $user_id, 'page' => 1, 'per_page' => -1, 'count' => true ) );
     401        $count = $query->count;
     402        $query = null;
     403    } else {
     404        $count = 0;
     405    }
    394406
    395407    return $count;
Note: See TracChangeset for help on using the changeset viewer.