Skip to:
Content

bbPress.org


Ignore:
Timestamp:
11/20/2013 07:50:55 PM (8 years ago)
Author:
johnjamesjacoby
Message:

Forum Subscriptions - Allow users to subscribe to new topics in specific forums.

  • Code largely lifted from existing Topics Subscriptions, and is based largely on forum-subscriptions.2.diff from mordauk, with edits for code consistency across bbPress components.
  • Refactor existing ambiguous function names into base functions for both forum and topic subscriptions.
  • Include new functions for getting and outputting subscriptions.
  • Modify user-subscriptions.php to show subscribed forums. This includes a modification to content-single-forum.php to include the "Unsubscribe" link if looking at a user profile page.
  • Modify templates/default/bbpress-functions.php to enqueue new JS file to handle forum subscription ajax.
  • Rename HTML element classes from bbp-topic-action to bbp-row-actions to better accommodate forum subscriptions (and any future actions.)
  • BuddyPress tested, JJJ approved.
  • See #2299. Props mordauk, netweb for the considerable effort.
  • More to do here, largely from forum-subscriptions.3.diff
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/includes/core/actions.php

    r4999 r5156  
    3838 *           v--WordPress Actions        v--bbPress Sub-actions
    3939 */
    40 add_action( 'plugins_loaded',           'bbp_loaded',                   10    );
    41 add_action( 'init',                     'bbp_init',                     0     ); // Early for bbp_register
    42 add_action( 'parse_query',              'bbp_parse_query',              2     ); // Early for overrides
    43 add_action( 'widgets_init',             'bbp_widgets_init',             10    );
    44 add_action( 'generate_rewrite_rules',   'bbp_generate_rewrite_rules',   10    );
    45 add_action( 'wp_enqueue_scripts',       'bbp_enqueue_scripts',          10    );
    46 add_action( 'wp_head',                  'bbp_head',                     10    );
    47 add_action( 'wp_footer',                'bbp_footer',                   10    );
    48 add_action( 'set_current_user',         'bbp_setup_current_user',       10    );
    49 add_action( 'setup_theme',              'bbp_setup_theme',              10    );
    50 add_action( 'after_setup_theme',        'bbp_after_setup_theme',        10    );
    51 add_action( 'template_redirect',        'bbp_template_redirect',        8     ); // Before BuddyPress's 10 [BB2225]
    52 add_action( 'login_form_login',         'bbp_login_form_login',         10    );
    53 add_action( 'profile_update',           'bbp_profile_update',           10, 2 ); // user_id and old_user_data
    54 add_action( 'user_register',            'bbp_user_register',            10    );
     40add_action( 'plugins_loaded',           'bbp_loaded',                 10    );
     41add_action( 'init',                     'bbp_init',                   0     ); // Early for bbp_register
     42add_action( 'parse_query',              'bbp_parse_query',            2     ); // Early for overrides
     43add_action( 'widgets_init',             'bbp_widgets_init',           10    );
     44add_action( 'generate_rewrite_rules',   'bbp_generate_rewrite_rules', 10    );
     45add_action( 'wp_enqueue_scripts',       'bbp_enqueue_scripts',        10    );
     46add_action( 'wp_head',                  'bbp_head',                   10    );
     47add_action( 'wp_footer',                'bbp_footer',                 10    );
     48add_action( 'set_current_user',         'bbp_setup_current_user',     10    );
     49add_action( 'setup_theme',              'bbp_setup_theme',            10    );
     50add_action( 'after_setup_theme',        'bbp_after_setup_theme',      10    );
     51add_action( 'template_redirect',        'bbp_template_redirect',      8     ); // Before BuddyPress's 10 [BB2225]
     52add_action( 'login_form_login',         'bbp_login_form_login',       10    );
     53add_action( 'profile_update',           'bbp_profile_update',         10, 2 ); // user_id and old_user_data
     54add_action( 'user_register',            'bbp_user_register',          10    );
    5555
    5656/**
     
    119119
    120120// Autoembeds
    121 add_action( 'bbp_init', 'bbp_reply_content_autoembed', 8   );
    122 add_action( 'bbp_init', 'bbp_topic_content_autoembed', 8   );
     121add_action( 'bbp_init', 'bbp_reply_content_autoembed', 8 );
     122add_action( 'bbp_init', 'bbp_topic_content_autoembed', 8 );
    123123
    124124/**
     
    225225add_action( 'bbp_trash_topic',  'bbp_remove_topic_from_all_subscriptions'       );
    226226add_action( 'bbp_delete_topic', 'bbp_remove_topic_from_all_subscriptions'       );
     227add_action( 'bbp_trash_forum',  'bbp_remove_forum_from_all_subscriptions'       );
     228add_action( 'bbp_delete_forum', 'bbp_remove_forum_from_all_subscriptions'       );
    227229add_action( 'bbp_new_reply',    'bbp_notify_subscribers',                 11, 5 );
     230add_action( 'bbp_new_topic',    'bbp_notify_forum_subscribers',           11, 4 );
    228231
    229232// Sticky
     
    298301
    299302// Theme-side GET requests
    300 add_action( 'bbp_get_request', 'bbp_toggle_topic_handler',    1  );
    301 add_action( 'bbp_get_request', 'bbp_toggle_reply_handler',    1  );
    302 add_action( 'bbp_get_request', 'bbp_favorites_handler',       1  );
    303 add_action( 'bbp_get_request', 'bbp_subscriptions_handler',   1  );
    304 add_action( 'bbp_get_request', 'bbp_search_results_redirect', 10 );
     303add_action( 'bbp_get_request', 'bbp_toggle_topic_handler',        1  );
     304add_action( 'bbp_get_request', 'bbp_toggle_reply_handler',        1  );
     305add_action( 'bbp_get_request', 'bbp_favorites_handler',           1  );
     306add_action( 'bbp_get_request', 'bbp_subscriptions_handler',       1  );
     307add_action( 'bbp_get_request', 'bbp_forum_subscriptions_handler', 1  );
     308add_action( 'bbp_get_request', 'bbp_search_results_redirect',     10 );
    305309
    306310// Maybe convert the users password
Note: See TracChangeset for help on using the changeset viewer.