Skip to:
Content

Ignore:
Timestamp:
12/08/17 00:22:09 (6 weeks ago)
Author:
djpaul
Message:

Retire Legacy Forums.

"Legacy Forums" is what we now call the bundled version of bbPress 1 that has shipped with BuddyPress for over nine years. The Legacy Forums codebase/features are many years stagnant, and it has been almost completely hidden from the UI for the past five years.

Legacy Forums were replaced by bbPress 2, which is its own plugin, and we've been promoting its integration with BuddyPress for a long time. Most significantly, bbPress 1 only runs on WordPress versions older than 4.7, because of a BackPress conflict (which is nested inside bbPress 1) with WordPress 4.7's WP_Taxonomy class.

If your site is still using Legacy Forums, you will need to migrate to bbPress 2 to run BuddyPress 3.0. See https://bpdevel.wordpress.com/2017/12/07/legacy-forums-support-will-be/ for more information.

Fixes #5351
See #7502

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-groups/bp-groups-template.php

    r11761 r11763  
    20252025 
    20262026/** 
    2027  * Output the URL of the Forum page of the current group in the loop. 
    2028  * 
    2029  * @since 1.0.0 
    2030  */ 
    2031 function bp_group_forum_permalink() { 
    2032     echo bp_get_group_forum_permalink(); 
    2033 } 
    2034     /** 
    2035      * Generate the URL of the Forum page of a group. 
    2036      * 
    2037      * @since 1.0.0 
    2038      * 
    2039      * @param object|bool $group Optional. Group object. 
    2040      *                           Default: current group in loop. 
    2041      * @return string 
    2042      */ 
    2043     function bp_get_group_forum_permalink( $group = false ) { 
    2044         global $groups_template; 
    2045  
    2046         if ( empty( $group ) ) { 
    2047             $group =& $groups_template->group; 
    2048         } 
    2049  
    2050         /** 
    2051          * Filters the URL of the Forum page of a group. 
    2052          * 
    2053          * @since 1.0.0 
    2054          * @since 2.5.0 Added the `$group` parameter. 
    2055          * 
    2056          * @param string $value URL permalink for the Forum Page. 
    2057          * @param object $group Group object. 
    2058          */ 
    2059         return apply_filters( 'bp_get_group_forum_permalink', trailingslashit( bp_get_group_permalink( $group ) . 'forum' ), $group ); 
    2060     } 
    2061  
    2062 /** 
    2063  * Output the topic count for a group forum. 
    2064  * 
    2065  * @since 1.2.0 
    2066  * 
    2067  * @param array|string $args See {@link bp_get_group_forum_topic_count()}. 
    2068  */ 
    2069 function bp_group_forum_topic_count( $args = '' ) { 
    2070     echo bp_get_group_forum_topic_count( $args ); 
    2071 } 
    2072     /** 
    2073      * Generate the topic count string for a group forum. 
    2074      * 
    2075      * @since 1.2.0 
    2076      * 
    2077      * @param array|string $args { 
    2078      *     Array of arguments. 
    2079      *     @type bool $showtext Optional. If true, result will be formatted as "x topics". 
    2080      *                          If false, just a number will be returned. 
    2081      *                          Default: false. 
    2082      * } 
    2083      * @return string|int 
    2084      */ 
    2085     function bp_get_group_forum_topic_count( $args = '' ) { 
    2086         global $groups_template; 
    2087  
    2088         $defaults = array( 
    2089             'showtext' => false 
    2090         ); 
    2091  
    2092         $r = wp_parse_args( $args, $defaults ); 
    2093         extract( $r, EXTR_SKIP ); 
    2094  
    2095         if ( !$forum_id = groups_get_groupmeta( $groups_template->group->id, 'forum_id' ) ) { 
    2096             return false; 
    2097         } 
    2098  
    2099         if ( !bp_is_active( 'forums' ) ) { 
    2100             return false; 
    2101         } 
    2102  
    2103         if ( !$groups_template->group->forum_counts ) { 
    2104             $groups_template->group->forum_counts = bp_forums_get_forum_topicpost_count( (int) $forum_id ); 
    2105         } 
    2106  
    2107         if ( (bool) $showtext ) { 
    2108             if ( 1 == (int) $groups_template->group->forum_counts[0]->topics ) { 
    2109                 $total_topics = sprintf( __( '%d topic', 'buddypress' ), (int) $groups_template->group->forum_counts[0]->topics ); 
    2110             } else { 
    2111                 $total_topics = sprintf( __( '%d topics', 'buddypress' ), (int) $groups_template->group->forum_counts[0]->topics ); 
    2112             } 
    2113         } else { 
    2114             $total_topics = (int) $groups_template->group->forum_counts[0]->topics; 
    2115         } 
    2116  
    2117         /** 
    2118          * Filters the topic count string for a group forum. 
    2119          * 
    2120          * @since 1.2.0 
    2121          * 
    2122          * @param string $total_topics Total topic count string. 
    2123          * @param bool   $showtext     Whether or not to return as formatted string. 
    2124          */ 
    2125         return apply_filters( 'bp_get_group_forum_topic_count', $total_topics, (bool)$showtext ); 
    2126     } 
    2127  
    2128 /** 
    2129  * Output the post count for a group forum. 
    2130  * 
    2131  * @since 1.2.0 
    2132  * 
    2133  * @param array|string $args See {@link bp_get_group_forum_post_count()}. 
    2134  */ 
    2135 function bp_group_forum_post_count( $args = '' ) { 
    2136     echo bp_get_group_forum_post_count( $args ); 
    2137 } 
    2138     /** 
    2139      * Generate the post count string for a group forum. 
    2140      * 
    2141      * @since 1.2.0 
    2142      * 
    2143      * @param array|string $args { 
    2144      *     Array of arguments. 
    2145      *     @type bool $showtext Optional. If true, result will be formatted as "x posts". 
    2146      *                          If false, just a number will be returned. 
    2147      *                          Default: false. 
    2148      * } 
    2149      * @return string|int 
    2150      */ 
    2151     function bp_get_group_forum_post_count( $args = '' ) { 
    2152         global $groups_template; 
    2153  
    2154         $defaults = array( 
    2155             'showtext' => false 
    2156         ); 
    2157  
    2158         $r = wp_parse_args( $args, $defaults ); 
    2159         extract( $r, EXTR_SKIP ); 
    2160  
    2161         if ( !$forum_id = groups_get_groupmeta( $groups_template->group->id, 'forum_id' ) ) { 
    2162             return false; 
    2163         } 
    2164  
    2165         if ( !bp_is_active( 'forums' ) ) { 
    2166             return false; 
    2167         } 
    2168  
    2169         if ( !$groups_template->group->forum_counts ) { 
    2170             $groups_template->group->forum_counts = bp_forums_get_forum_topicpost_count( (int) $forum_id ); 
    2171         } 
    2172  
    2173         if ( (bool) $showtext ) { 
    2174             if ( 1 == (int) $groups_template->group->forum_counts[0]->posts ) { 
    2175                 $total_posts = sprintf( __( '%d post', 'buddypress' ), (int) $groups_template->group->forum_counts[0]->posts ); 
    2176             } else { 
    2177                 $total_posts = sprintf( __( '%d posts', 'buddypress' ), (int) $groups_template->group->forum_counts[0]->posts ); 
    2178             } 
    2179         } else { 
    2180             $total_posts = (int) $groups_template->group->forum_counts[0]->posts; 
    2181         } 
    2182  
    2183         /** 
    2184          * Filters the post count string for a group forum. 
    2185          * 
    2186          * @since 1.2.0 
    2187          * 
    2188          * @param string $total_posts Total post count string. 
    2189          * @param bool   $showtext    Whether or not to return as formatted string. 
    2190          */ 
    2191         return apply_filters( 'bp_get_group_forum_post_count', $total_posts, (bool)$showtext ); 
    2192     } 
    2193  
    2194 /** 
    21952027 * Determine whether forums are enabled for a group. 
    21962028 * 
     
    33813213    return true; 
    33823214} 
    3383  
    3384 /** 
    3385  * Output a 'New Topic' button for a group. 
    3386  * 
    3387  * @since 1.2.7 
    3388  * 
    3389  * @param BP_Groups_Group|bool $group The BP Groups_Group object if passed, 
    3390  *                                    boolean false if not passed. 
    3391  */ 
    3392 function bp_group_new_topic_button( $group = false ) { 
    3393     echo bp_get_group_new_topic_button( $group ); 
    3394 } 
    3395  
    3396     /** 
    3397      * Returns a 'New Topic' button for a group. 
    3398      * 
    3399      * @since 1.2.7 
    3400      * 
    3401      * @param BP_Groups_Group|bool $group The BP Groups_Group object if 
    3402      *                                    passed, boolean false if not passed. 
    3403      * @return false|string HTML code for the button. 
    3404      */ 
    3405     function bp_get_group_new_topic_button( $group = false ) { 
    3406         global $groups_template; 
    3407  
    3408         if ( empty( $group ) ) { 
    3409             $group =& $groups_template->group; 
    3410         } 
    3411  
    3412         if ( !is_user_logged_in() || bp_group_is_user_banned() || !bp_is_group_forum() || bp_is_group_forum_topic() ) { 
    3413             return false; 
    3414         } 
    3415  
    3416         $button = array( 
    3417             'id'                => 'new_topic', 
    3418             'component'         => 'groups', 
    3419             'must_be_logged_in' => true, 
    3420             'block_self'        => true, 
    3421             'wrapper_class'     => 'group-button', 
    3422             'link_href'         => '#post-new', 
    3423             'link_class'        => 'group-button show-hide-new', 
    3424             'link_id'           => 'new-topic-button', 
    3425             'link_text'         => __( 'New Topic', 'buddypress' ), 
    3426         ); 
    3427  
    3428         /** 
    3429          * Filters the HTML button for creating a new topic in a group. 
    3430          * 
    3431          * @since 1.5.0 
    3432          * @since 2.5.0 Added the `$group` parameter. 
    3433          * 
    3434          * @param string $button HTML button for a new topic. 
    3435          * @param object $group  Group object. 
    3436          */ 
    3437         return bp_get_button( apply_filters( 'bp_get_group_new_topic_button', $button, $group ) ); 
    3438     } 
    34393215 
    34403216/** 
Note: See TracChangeset for help on using the changeset viewer.