WordPress.org

Plugin Directory

Changeset 636931


Ignore:
Timestamp:
12/11/12 09:27:34 (17 months ago)
Author:
johnjamesjacoby
Message:

bbPress:

  • Merge official 2.2 branch with extend.
Location:
bbpress/branches/2.2
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • bbpress/branches/2.2/bbpress.php

    r628958 r636931  
    66 * bbPress is forum software with a twist from the creators of WordPress. 
    77 * 
    8  * $Id: bbpress.php 4471 2012-11-23 11:24:58Z johnjamesjacoby $ 
     8 * $Id: bbpress.php 4567 2012-12-11 09:20:41Z johnjamesjacoby $ 
    99 * 
    1010 * @package bbPress 
     
    1818 * Author:      The bbPress Community 
    1919 * Author URI:  http://bbpress.org 
    20  * Version:     2.2.2 
     20 * Version:     2.2.3 
    2121 * Text Domain: bbpress 
    2222 * Domain Path: /languages/ 
     
    181181        /** Versions **********************************************************/ 
    182182 
    183         $this->version    = '2.2.2'; 
    184         $this->db_version = '220'; 
     183        $this->version    = '2.2.3'; 
     184        $this->db_version = '223'; 
    185185 
    186186        /** Paths *************************************************************/ 
  • bbpress/branches/2.2/includes/admin/tools.php

    r628002 r636931  
    380380        update_option( '_bbp_group_forums_root_id', $posts[0]->ID ); 
    381381    } 
     382 
     383    // Remove bbPress 1.1 roles (BuddyPress) 
     384    remove_role( 'member'    ); 
     385    remove_role( 'inactive'  ); 
     386    remove_role( 'blocked'   ); 
     387    remove_role( 'moderator' ); 
     388    remove_role( 'keymaster' ); 
    382389 
    383390    // Complete results 
     
    11091116 
    11101117        $statement  = __( 'Deleting Settings… %s', 'bbpress' ); 
    1111         $sql_delete = bbp_delete_options(); 
     1118        bbp_delete_options(); 
    11121119        $messages[] = sprintf( $statement, $success ); 
    11131120 
     
    11151122 
    11161123        $statement  = __( 'Deleting Roles and Capabilities… %s', 'bbpress' ); 
    1117         $sql_delete = bbp_remove_roles(); 
    1118         $sql_delete = bbp_remove_caps(); 
     1124        remove_role( bbp_get_moderator_role() ); 
     1125        remove_role( bbp_get_participant_role() ); 
     1126        bbp_remove_caps(); 
    11191127        $messages[] = sprintf( $statement, $success ); 
    11201128 
  • bbpress/branches/2.2/includes/admin/users.php

    r625560 r636931  
    9494                            <?php if ( ! empty( $user_role ) ) : ?> 
    9595 
    96                                 <option value=""><?php _e( '&mdash; No role for this forum &mdash;', 'bbpress' ); ?></option> 
     96                                <option value=""><?php _e( '&mdash; No role for these forums &mdash;', 'bbpress' ); ?></option> 
    9797 
    9898                            <?php else : ?> 
    9999 
    100                                 <option value="" selected="selected"><?php _e( '&mdash; No role for this forum &mdash;', 'bbpress' ); ?></option> 
     100                                <option value="" selected="selected"><?php _e( '&mdash; No role for these forums &mdash;', 'bbpress' ); ?></option> 
    101101 
    102102                            <?php endif; ?> 
  • bbpress/branches/2.2/includes/common/template-tags.php

    r626860 r636931  
    14641464    if ( bbp_is_reply_edit() ) : ?> 
    14651465 
    1466         <input type="hidden" name="bbp_reply_title" id="bbp_reply_title" value="<?php printf( __( 'Reply To: %s', 'bbpress' ), bbp_get_topic_title() ); ?>" /> 
     1466        <input type="hidden" name="bbp_reply_title" id="bbp_reply_title" value="<?php bbp_reply_title(); ?>" /> 
    14671467        <input type="hidden" name="bbp_reply_id"    id="bbp_reply_id"    value="<?php bbp_reply_id(); ?>" /> 
    14681468        <input type="hidden" name="action"          id="bbp_post_action" value="bbp-edit-reply" /> 
     
    20032003 
    20042004        // Get post ancestors 
    2005         if ( is_page() || is_single() || bbp_is_forum_edit() || bbp_is_topic_edit() || bbp_is_reply_edit() ) 
     2005        if ( is_singular() || bbp_is_forum_edit() || bbp_is_topic_edit() || bbp_is_reply_edit() ) 
    20062006            $ancestors = array_reverse( (array) get_post_ancestors( get_the_ID() ) ); 
    20072007 
  • bbpress/branches/2.2/includes/core/theme-compat.php

    r625560 r636931  
    648648 * exist in the currently active theme. 
    649649 * 
     650 * Note that we do *not* currently use is_main_query() here. This is because so 
     651 * many existing themes either use query_posts() or fail to use wp_reset_query() 
     652 * when running queries before the main loop, causing theme compat to fail. 
     653 * 
    650654 * @since bbPress (r3034) 
    651655 * @param string $content 
     
    654658function bbp_replace_the_content( $content = '' ) { 
    655659 
    656     // Bail if not inside the main query loop 
    657     if ( ! in_the_loop() || ! is_main_query() ) 
     660    // Bail if not inside the query loop 
     661    if ( ! in_the_loop() ) 
    658662        return $content; 
    659663 
  • bbpress/branches/2.2/includes/core/update.php

    r626860 r636931  
    247247 
    248248    // 2.2 
    249     if ( $raw_db_version < 220 ) { 
    250  
    251         // Remove bbPress 1.1 roles (BuddyPress) 
    252         remove_role( 'member'    ); 
    253         remove_role( 'inactive'  ); 
    254         remove_role( 'blocked'   ); 
    255         remove_role( 'moderator' ); 
    256         remove_role( 'keymaster' ); 
     249    if ( $raw_db_version < 223 ) { 
     250 
     251        // Remove the Moderator role from the database 
     252        remove_role( bbp_get_moderator_role() ); 
     253 
     254        // Remove the Participant role from the database 
     255        remove_role( bbp_get_participant_role() ); 
    257256 
    258257        // Refresh capabilities 
  • bbpress/branches/2.2/includes/extend/buddypress/activity.php

    r625560 r636931  
    255255 
    256256        // Default activity args 
    257         $defaults = array ( 
     257        $activity = bbp_parse_args( $args, array( 
    258258            'id'                => null, 
    259259            'user_id'           => bbp_get_current_user_id(), 
     
    267267            'recorded_time'     => bp_core_current_time(), 
    268268            'hide_sitewide'     => false 
    269         ); 
    270         $activity = bbp_parse_args( $args, $defaults, 'record_activity' ); 
     269        ), 'record_activity' ); 
    271270 
    272271        // Add the activity 
     
    448447            return; 
    449448 
    450         // Bail if forum is not public 
    451         if ( !bbp_is_forum_public( $forum_id, false ) ) 
    452             return; 
    453  
    454449        // User link for topic author 
    455450        $user_link  = bbp_get_user_profile_link( $user_id  ); 
     
    457452        // Topic 
    458453        $topic_permalink = bbp_get_topic_permalink( $topic_id ); 
    459         $topic_title     = bbp_get_topic_title    ( $topic_id ); 
    460         $topic_content   = bbp_get_topic_content  ( $topic_id ); 
     454        $topic_title     = get_post_field( 'post_title',   $topic_id, 'raw' ); 
     455        $topic_content   = get_post_field( 'post_content', $topic_id, 'raw' ); 
    461456        $topic_link      = '<a href="' . $topic_permalink . '" title="' . $topic_title . '">' . $topic_title . '</a>'; 
    462457 
    463458        // Forum 
    464459        $forum_permalink = bbp_get_forum_permalink( $forum_id ); 
    465         $forum_title     = bbp_get_forum_title    ( $forum_id ); 
     460        $forum_title     = get_post_field( 'post_title', $forum_id, 'raw' ); 
    466461        $forum_link      = '<a href="' . $forum_permalink . '" title="' . $forum_title . '">' . $forum_title . '</a>'; 
    467462 
     
    482477            'secondary_item_id' => $forum_id, 
    483478            'recorded_time'     => get_post_time( 'Y-m-d H:i:s', true, $topic_id ), 
     479            'hide_sitewide'     => ! bbp_is_forum_public( $forum_id, false ) 
    484480        ); 
    485481 
     
    598594            return; 
    599595 
    600         // Bail if forum is not public 
    601         if ( !bbp_is_forum_public( $forum_id, false ) ) 
    602             return; 
    603  
    604596        // Setup links for activity stream 
    605597        $user_link  = bbp_get_user_profile_link( $user_id  ); 
    606598 
    607599        // Reply 
    608         $reply_url     = bbp_get_reply_url    ( $reply_id ); 
    609         $reply_content = bbp_get_reply_content( $reply_id ); 
     600        $reply_url     = bbp_get_reply_url( $reply_id ); 
     601        $reply_content = get_post_field( 'post_content', $reply_id, 'raw' ); 
    610602 
    611603        // Topic 
    612604        $topic_permalink = bbp_get_topic_permalink( $topic_id ); 
    613         $topic_title     = bbp_get_topic_title    ( $topic_id ); 
     605        $topic_title     = get_post_field( 'post_title', $topic_id, 'raw' ); 
    614606        $topic_link      = '<a href="' . $topic_permalink . '" title="' . $topic_title . '">' . $topic_title . '</a>'; 
    615607 
    616608        // Forum 
    617609        $forum_permalink = bbp_get_forum_permalink( $forum_id ); 
    618         $forum_title     = bbp_get_forum_title    ( $forum_id ); 
     610        $forum_title     = get_post_field( 'post_title', $forum_id, 'raw' ); 
    619611        $forum_link      = '<a href="' . $forum_permalink . '" title="' . $forum_title . '">' . $forum_title . '</a>'; 
    620612 
     
    635627            'secondary_item_id' => $topic_id, 
    636628            'recorded_time'     => get_post_time( 'Y-m-d H:i:s', true, $reply_id ), 
     629            'hide_sitewide'     => ! bbp_is_forum_public( $forum_id, false ) 
    637630        ); 
    638631 
     
    707700} 
    708701endif; 
     702 
  • bbpress/branches/2.2/includes/extend/buddypress/functions.php

    r625560 r636931  
    386386    // Maybe update the groups forums 
    387387    if ( in_array( $group_id, $group_ids ) ) { 
    388         unset( $group_ids[$group_id] ); 
     388        $group_ids = array_diff( array_values( $group_ids ), (array) $group_id ); 
    389389        return bbp_update_forum_group_ids( $forum_id, $group_ids ); 
    390390    } 
     
    411411    // Maybe update the groups forums 
    412412    if ( in_array( $forum_id, $forum_ids ) ) { 
    413         unset( $forum_ids[$forum_id] ); 
     413        $forum_ids = array_diff( array_values( $forum_ids ), (array) $forum_id ); 
    414414        return bbp_update_group_forum_ids( $group_id, $forum_ids ); 
    415415    } 
  • bbpress/branches/2.2/includes/extend/buddypress/group.php

    r626860 r636931  
    3232     */ 
    3333    public function __construct() { 
     34        $this->setup_variables(); 
     35        $this->setup_actions(); 
     36        $this->setup_filters(); 
     37        $this->maybe_unset_forum_menu(); 
     38    } 
     39 
     40    /** 
     41     * Setup the group forums class variables 
     42     * 
     43     * @since bbPress () 
     44     */ 
     45    private function setup_variables() { 
    3446 
    3547        // Name and slug 
     
    5567        $this->template_file        = 'groups/single/plugins'; 
    5668        $this->display_hook         = 'bp_template_content'; 
    57  
    58         // Add handlers to bp_actions 
    59         add_action( 'bp_actions', 'bbp_new_forum_handler'  ); 
    60         add_action( 'bp_actions', 'bbp_new_topic_handler'  ); 
    61         add_action( 'bp_actions', 'bbp_new_reply_handler'  ); 
    62         add_action( 'bp_actions', 'bbp_edit_forum_handler' ); 
    63         add_action( 'bp_actions', 'bbp_edit_topic_handler' ); 
    64         add_action( 'bp_actions', 'bbp_edit_reply_handler' ); 
     69    } 
     70 
     71    /** 
     72     * Setup the group forums class actions 
     73     * 
     74     * @since bbPress (r4552) 
     75     */ 
     76    private function setup_actions() { 
    6577 
    6678        // Possibly redirect 
    67         add_action( 'bbp_template_redirect',     array( $this, 'redirect_canonical' ) ); 
     79        add_action( 'bbp_template_redirect',         array( $this, 'redirect_canonical'        ) ); 
     80 
     81        // Remove topic cap map when view is done 
     82        add_action( 'bbp_after_group_forum_display', array( $this, 'remove_topic_meta_cap_map' ) ); 
     83    } 
     84 
     85    /** 
     86     * Setup the group forums class filters 
     87     * 
     88     * @since bbPress (r4552) 
     89     */ 
     90    private function setup_filters() { 
    6891 
    6992        // Group forum pagination 
     
    92115        add_filter( 'bbp_map_reply_meta_caps',   array( $this, 'map_topic_meta_caps'          ), 10, 4 ); 
    93116 
    94         // Remove topic cap map when view is done 
    95         add_action( 'bbp_after_group_forum_display', array( $this, 'remove_topic_meta_cap_map' ) ); 
    96          
    97117        // Map group forum activity items to groups 
    98118        add_filter( 'bbp_before_record_activity_parse_args', array( $this, 'map_activity_to_group' ) ); 
     
    121141 
    122142        $this->display_forums( 0 ); 
     143    } 
     144 
     145    /** 
     146     * Maybe unset the group forum nav item if group does not have a forum 
     147     * 
     148     * @since bbPress (r4552) 
     149     * 
     150     * @return If not viewing a single group 
     151     */ 
     152    public function maybe_unset_forum_menu() { 
     153 
     154        // Bail if not viewing a single group 
     155        if ( ! bp_is_group() ) 
     156            return; 
     157 
     158        // Are forums enabled for this group? 
     159        $checked = (bool) ( bp_get_new_group_enable_forum() ); 
     160 
     161        // Tweak the nav item variable based on if group has forum or not 
     162        $this->enable_nav_item = $checked; 
    123163    } 
    124164 
     
    148188            case 'read_hidden_forums'  : 
    149189            case 'read_private_forums' : 
    150                 if ( bp_group_is_member() ) { 
     190                if ( bp_group_is_member() || bp_group_is_mod() || bp_group_is_admin() ) { 
    151191                    $caps = array( 'participate' ); 
    152192                } 
     
    235275        $forum_id     = 0; 
    236276        $group_id     = bp_get_current_group_id(); 
    237         $forum_ids    = bbp_get_group_forum_ids( $group_id ); 
    238         if ( !empty( $forum_ids ) ) 
    239             $forum_id = (int) is_array( $forum_ids ) ? $forum_ids[0] : $forum_ids; 
     277        $forum_ids    = array_values( bbp_get_group_forum_ids( $group_id ) ); 
     278 
     279        // Normalize group forum relationships now 
     280        if ( !empty( $forum_ids ) ) { 
     281 
     282            // Loop through forums, and make sure they exist 
     283            foreach ( $forum_ids as $forum_id ) { 
     284 
     285                // Look for forum 
     286                $forum = bbp_get_forum( $forum_id ); 
     287 
     288                // No forum exists, so break the relationship 
     289                if ( empty( $forum ) ) { 
     290                    $this->remove_forum( array( 'forum_id' => $forum_id ) ); 
     291                    unset( $forum_ids[$forum_id] ); 
     292                } 
     293            } 
     294 
     295            // No support for multiple forums yet 
     296            $forum_id = (int) ( is_array( $forum_ids ) ? $forum_ids[0] : $forum_ids ); 
     297        } 
    240298 
    241299        // Update the group forum setting 
     
    243301        $group->enable_forum = $edit_forum; 
    244302        $group->save(); 
     303 
     304        // Create a new forum 
     305        if ( empty( $forum_id ) && ( true === $edit_forum ) ) { 
     306 
     307            // Set the default forum status 
     308            switch ( $group->status ) { 
     309                case 'hidden'  : 
     310                    $status = bbp_get_hidden_status_id(); 
     311                    break; 
     312                case 'private' : 
     313                    $status = bbp_get_private_status_id(); 
     314                    break; 
     315                case 'public'  : 
     316                default        : 
     317                    $status = bbp_get_public_status_id(); 
     318                    break; 
     319            } 
     320 
     321            // Create the initial forum 
     322            $forum_id = bbp_insert_forum( array( 
     323                'post_parent'  => bbp_get_group_forums_root_id(), 
     324                'post_title'   => $group->name, 
     325                'post_content' => $group->description, 
     326                'post_status'  => $status 
     327            ) ); 
     328 
     329            // Run the BP-specific functions for new groups 
     330            $this->new_forum( array( 'forum_id' => $forum_id ) ); 
     331        } 
    245332 
    246333        // Redirect after save 
     
    426513 
    427514        // Forum data 
     515        $forum_slug = bp_action_variable( $offset ); 
    428516        $forum_ids  = bbp_get_group_forum_ids( bp_get_current_group_id() ); 
    429517        $forum_args = array( 'post__in' => $forum_ids, 'post_parent' => null ); 
     
    453541 
    454542            // Looking at the group forum root 
    455             if ( !bp_action_variable( $offset ) ) : 
     543            if ( empty( $forum_slug ) || ( 'page' == $forum_slug ) ) : 
    456544 
    457545                // Query forums and show them if they exist 
     
    461549                    if ( 1 == $bbp->forum_query->post_count ) : 
    462550 
    463                         // Get forum data 
    464                         $forum_slug = bp_action_variable( $offset ); 
    465                         $forum_args = array( 'name' => $forum_slug, 'post_type' => bbp_get_forum_post_type() ); 
    466                         $forums     = get_posts( $forum_args ); 
     551                        // Remove 'name' check for paginated requests 
     552                        if ( 'page' == $forum_slug ) { 
     553                            $forum_args = array( 'post_type' => bbp_get_forum_post_type() ); 
     554                        } else { 
     555                            $forum_args = array( 'name' => $forum_slug, 'post_type' => bbp_get_forum_post_type() ); 
     556                        } 
     557 
     558                        // Get the forums 
     559                        $forums = get_posts( $forum_args ); 
    467560 
    468561                        bbp_the_forum(); 
     
    476569 
    477570                            // Set up forum data 
    478                             $forum_id = bbpress()->current_forum_id = $forum->ID; 
     571                            bbpress()->current_forum_id = $forum->ID; 
    479572                            bbp_set_query_name( 'bbp_single_forum' ); ?> 
    480573 
     
    483576                            <?php bbp_get_template_part( 'content', 'single-forum' ); ?> 
    484577 
    485                             <?php  
     578                            <?php 
    486579 
    487580                            // Remove the subforum suppression filter 
    488581                            remove_filter( 'bbp_get_forum_subforum_count', '__return_false' ); 
    489                              
     582 
    490583                            ?> 
    491584 
     
    572665 
    573666                        bbp_set_query_name( 'bbp_forum_form' ); 
    574  
    575667                        bbp_get_template_part( 'form', 'forum' ); 
    576668 
     
    626718                        if ( !empty( $_GET['action'] ) && 'merge' == $_GET['action'] ) : 
    627719                            bbp_set_query_name( 'bbp_topic_merge' ); 
    628  
    629720                            bbp_get_template_part( 'form', 'topic-merge' ); 
    630721 
     
    632723                        elseif ( !empty( $_GET['action'] ) && 'split' == $_GET['action'] ) : 
    633724                            bbp_set_query_name( 'bbp_topic_split' ); 
    634  
    635725                            bbp_get_template_part( 'form', 'topic-split' ); 
    636726 
     
    644734                    // Single Topic 
    645735                    else: 
    646  
    647736                        bbp_set_query_name( 'bbp_single_topic' ); ?> 
    648737 
     
    863952                break; 
    864953        } 
    865          
     954 
    866955        // Get group ID's for this forum 
    867956        $group_ids = bbp_get_forum_group_ids( $forum_id ); 
     
    10221111        return $args; 
    10231112    } 
    1024      
     1113 
    10251114    /** 
    10261115     * Ensure that forum content associated with a BuddyPress group can only be 
     
    10971186 
    10981187        return $args; 
    1099     }    
     1188    } 
    11001189} 
    11011190endif; 
  • bbpress/branches/2.2/includes/users/template-tags.php

    r625560 r636931  
    10151015 
    10161016    <select name="bbp-forums-role" id="bbp-forums-role"> 
    1017         <option value=""><?php _e( '&mdash; No role for this forum &mdash;', 'bbpress' ); ?></option> 
     1017        <option value=""><?php _e( '&mdash; No role for these forums &mdash;', 'bbpress' ); ?></option> 
    10181018 
    10191019        <?php foreach ( $dynamic_roles as $role => $details ) : ?> 
     
    15101510 
    15111511    // Allow access to be filtered 
    1512     return (bool) apply_filters( 'bbp_current_user_can_publish_forums', $retval ); 
     1512    return (bool) apply_filters( 'bbp_current_user_can_publish_topics', $retval ); 
    15131513} 
    15141514 
  • bbpress/branches/2.2/readme.txt

    r628958 r636931  
    44Requires at least: 3.4 
    55Tested up to: 3.5 
    6 Stable tag: 2.2.2 
     6Stable tag: 2.2.3 
    77License: GPLv2 or later 
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html 
     
    2626 
    2727== Changelog == 
     28 
     29= 2.2.3 = 
     30* Improve compatibility with some themes 
     31* Fix integration with BuddyPress Group Forums 
     32* Fix BuddyPress Activity Stream integration 
    2833 
    2934= 2.2.2 = 
  • bbpress/branches/2.2/templates/default/bbpress/user-details.php

    r625560 r636931  
    1717            <span class='vcard'> 
    1818                <a class="url fn n" href="<?php bbp_user_profile_url(); ?>" title="<?php bbp_displayed_user_field( 'display_name' ); ?>" rel="me"> 
    19                     <?php echo get_avatar( bbp_get_displayed_user_field( 'user_email' ), apply_filters( 'twentyten_author_bio_avatar_size', 150 ) ); ?> 
     19                    <?php echo get_avatar( bbp_get_displayed_user_field( 'user_email' ), apply_filters( 'bbp_single_user_details_avatar_size', 150 ) ); ?> 
    2020                </a> 
    2121            </span> 
Note: See TracChangeset for help on using the changeset viewer.