Skip to:
Content

bbPress.org

Changeset 3904


Ignore:
Timestamp:
05/15/2012 06:04:12 AM (13 years ago)
Author:
johnjamesjacoby
Message:

Group Forums:

  • PHP5ize the classes.
  • Rearrange some methods.
  • Allow BBP_BuddyPress class to be modified after load.
  • Code formatting fixes.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/plugin/bbp-includes/bbp-extend-buddypress.php

    r3840 r3904  
    66 * @package bbPress
    77 * @subpackage BuddyPress
     8 * @todo maybe move to BuddyPress Forums once bbPress 1.1 can be removed
    89 */
    910
     
    103104    private $reply_slug = '';
    104105
    105     /** Functions *************************************************************/
     106    /** Setup Methods *********************************************************/
    106107
    107108    /**
     
    110111     * @since bbPress (r3395)
    111112     */
    112     function __construct() {
     113    public function __construct() {
    113114        $this->setup_globals();
    114115        $this->setup_actions();
    115116        $this->setup_filters();
     117        $this->fully_loaded();
    116118    }
    117119
     
    159161        /** Activity **********************************************************/
    160162
    161         // Register the activity stream actions
    162         add_action( 'bp_register_activity_actions',      array( $this, 'register_activity_actions' )        );
    163 
    164         // Hook into topic creation
    165         add_action( 'bbp_new_topic',                     array( $this, 'topic_create'              ), 10, 4 );
    166 
    167         // Hook into reply creation
    168         add_action( 'bbp_new_reply',                     array( $this, 'reply_create'              ), 10, 5 );
    169 
    170         // Append forum filters in site wide activity streams
    171         add_action( 'bp_activity_filter_options',        array( $this, 'activity_filter_options'   ), 10    );
    172 
    173         // Append forum filters in single member activity streams
    174         add_action( 'bp_member_activity_filter_options', array( $this, 'activity_filter_options'   ), 10    );
    175 
    176         // Append forum filters in single group activity streams
    177         add_action( 'bp_group_activity_filter_options',  array( $this, 'activity_filter_options'   ), 10    );
     163        // Bail if activity is not active
     164        if ( bp_is_active( 'activity' ) ) {
     165
     166            // Register the activity stream actions
     167            add_action( 'bp_register_activity_actions',      array( $this, 'register_activity_actions' )        );
     168
     169            // Hook into topic creation
     170            add_action( 'bbp_new_topic',                     array( $this, 'topic_create'              ), 10, 4 );
     171
     172            // Hook into reply creation
     173            add_action( 'bbp_new_reply',                     array( $this, 'reply_create'              ), 10, 5 );
     174
     175            // Append forum filters in site wide activity streams
     176            add_action( 'bp_activity_filter_options',        array( $this, 'activity_filter_options'   ), 10    );
     177
     178            // Append forum filters in single member activity streams
     179            add_action( 'bp_member_activity_filter_options', array( $this, 'activity_filter_options'   ), 10    );
     180
     181            // Append forum filters in single group activity streams
     182            add_action( 'bp_group_activity_filter_options',  array( $this, 'activity_filter_options'   ), 10    );
     183        }
    178184
    179185        /** Favorites *********************************************************/
     
    241247        add_filter( 'bbp_get_form_reply_content', array( $this, 'strip_mentions_on_edit' ) );
    242248    }
     249
     250    /**
     251     * Allow the variables, actions, and filters to be modified by third party
     252     * plugins and themes.
     253     *
     254     * @since bbPress (r3902)
     255     */
     256    private function fully_loaded() {
     257        do_action_ref_array( 'bbp_buddypress_loaded', array( $this ) );
     258    }
     259
     260    /** Methods ***************************************************************/
    243261
    244262    /**
     
    278296     */
    279297    public function register_activity_actions() {
    280 
    281         // Topics
    282298        bp_activity_set_action( $this->component, $this->topic_create, __( 'New topic created', 'bbpress' ) );
    283 
    284         // Replies
    285299        bp_activity_set_action( $this->component, $this->reply_create, __( 'New reply created', 'bbpress' ) );
    286300    }
     
    299313     */
    300314    private function record_activity( $args = '' ) {
    301 
    302         // Bail if activity is not active
    303         if ( !bp_is_active( 'activity' ) )
    304             return false;
    305315
    306316        // Default activity args
     
    336346     */
    337347    public function delete_activity( $args = '' ) {
    338 
    339         // Bail if activity is not active
    340         if ( !bp_is_active( 'activity' ) )
    341             return;
    342348
    343349        // Default activity args
     
    782788            $forum_id  = get_the_ID();
    783789            $group_ids = bbp_get_forum_group_ids( $forum_id );
    784         } else if ( bbp_is_single_topic() ) {
     790        } elseif ( bbp_is_single_topic() ) {
    785791            $topic_id  = get_the_ID();
    786792            $slug      = get_post_field( 'post_name', $topic_id );
     
    802808            bp_core_redirect( $redirect_to );
    803809        }
    804 
    805810    }
    806811}
     
    824829     * @since bbPress (r3552)
    825830     */
    826     function __construct() {
     831    public function __construct() {
    827832        parent::start(
    828833            'forums',
     
    843848     * @global BuddyPress $bp
    844849     */
    845     function setup_globals() {
     850    private function setup_globals() {
    846851        global $bp;
    847852
     
    871876     *
    872877     * @since bbPress (r3552)
    873      * @global BuddyPress $bp
    874      */
    875     function setup_nav() {
    876         global $bp;
     878     */
     879    private function setup_nav() {
    877880
    878881        // Stop if there is no user displayed or logged in
    879         if ( !is_user_logged_in() && !isset( $bp->displayed_user->id ) )
     882        if ( !is_user_logged_in() && !bp_displayed_user_id() )
    880883            return;
    881884
     
    895898
    896899        // Determine user to use
    897         if ( isset( $bp->displayed_user->domain ) )
    898             $user_domain = $bp->displayed_user->domain;
    899         elseif ( isset( $bp->loggedin_user->domain ) )
    900             $user_domain = $bp->loggedin_user->domain;
     900        if ( bp_displayed_user_id() )
     901            $user_domain = bp_displayed_user_domain();
     902        elseif ( bp_loggedin_user_domain() )
     903            $user_domain = bp_loggedin_user_domain();
    901904        else
    902905            return;
     
    960963     * @global BuddyPress $bp
    961964     */
    962     function setup_admin_bar() {
     965    private function setup_admin_bar() {
    963966        global $bp;
    964967
     
    970973
    971974            // Setup the logged in user variables
    972             $user_domain = $bp->loggedin_user->domain;
     975            $user_domain = bp_loggedin_user_domain();
    973976            $forums_link = trailingslashit( $user_domain . $this->slug );
    974977
     
    10241027     * @global BuddyPress $bp
    10251028     */
    1026     function setup_title() {
     1029    private function setup_title() {
    10271030        global $bp;
    10281031
     
    10611064     *
    10621065     * @since bbPress (r3552)
    1063      *
    1064      */
    1065     function __construct() {
     1066     */
     1067    public function __construct() {
    10661068
    10671069        // Name and slug
     
    11011103    }
    11021104
    1103     function display() {
     1105    /**
     1106     * The primary display function for group forums
     1107     */
     1108    protected function display() {
    11041109
    11051110        // Prevent Topic Parent from appearing
     
    11191124    }
    11201125
    1121     /**
    1122      * Used to start an output buffer
    1123      */
    1124     public function ob_start() {
    1125         ob_start();
    1126     }
    1127 
    1128     /**
    1129      * Used to end an output buffer
    1130      */
    1131     public function ob_end_clean() {
    1132         ob_end_clean();
    1133     }
    1134 
    11351126    /** Edit ******************************************************************/
    11361127
     
    11411132     * @uses bbp_get_template_part()
    11421133     */
    1143     function edit_screen() {
     1134    protected function edit_screen() {
    11441135
    11451136        // Add group admin actions to forum row actions
     
    11731164     * @uses bbp_edit_forum_handler() To check for forum edit
    11741165     */
    1175     function edit_screen_save() {
     1166    protected function edit_screen_save() {
    11761167
    11771168        // Bail if not a POST action
     
    12301221     * @since bbPress (r3465)
    12311222     */
    1232     function create_screen() {
     1223    protected function create_screen() {
    12331224
    12341225        // Bail if not looking at this screen
     
    12571248     * @since bbPress (r3465)
    12581249     */
    1259     function create_screen_save() {
     1250    protected function create_screen_save() {
    12601251
    12611252        check_admin_referer( 'groups_create_save_' . $this->slug );
     
    13141305
    13151306    /**
     1307     * Used to start an output buffer
     1308     */
     1309    public function ob_start() {
     1310        ob_start();
     1311    }
     1312
     1313    /**
     1314     * Used to end an output buffer
     1315     */
     1316    public function ob_end_clean() {
     1317        ob_end_clean();
     1318    }
     1319
     1320    /**
    13161321     * Creating a group forum or category (including root for group)
    13171322     *
     
    16471652    }
    16481653
     1654    /** Form Helpers **********************************************************/
     1655
    16491656    public function forum_parent() {
    16501657    ?>
     
    16571664    public function topic_parent() {
    16581665
    1659         $forum_ids = bbp_get_group_forum_ids( bp_get_current_group_id() );
    1660     ?>
     1666        $forum_ids = bbp_get_group_forum_ids( bp_get_current_group_id() ); ?>
    16611667
    16621668        <p>
Note: See TracChangeset for help on using the changeset viewer.