Skip to:
Content

BuddyPress.org

Ticket #733: bp-core.patch

File bp-core.patch, 6.2 KB (added by johnjamesjacoby, 16 years ago)

Replacement bp-core.php (added filters and functions)

  • bp-core.php

     
    2323if ( !defined( 'CUSTOM_USER_META_TABLE' ) )
    2424        define( 'CUSTOM_USER_META_TABLE', $wpdb->base_prefix . 'usermeta' );
    2525
    26 /* Load the language file */
    27 if ( file_exists( BP_PLUGIN_DIR . '/bp-languages/buddypress-' . get_locale() . '.mo' ) )
    28         load_textdomain( 'buddypress', BP_PLUGIN_DIR . '/bp-languages/buddypress-' . get_locale() . '.mo' );
    29 
    3026/* Load the files containing functions that we globally will need. */
    3127require ( BP_PLUGIN_DIR . '/bp-core/bp-core-catchuri.php' );
    3228require ( BP_PLUGIN_DIR . '/bp-core/bp-core-classes.php' );
     
    158154                $bp->current_component = $bp->default_component;
    159155}
    160156add_action( 'plugins_loaded', 'bp_core_setup_globals', 3 );
    161 add_action( '_admin_menu', 'bp_core_setup_globals', 1 ); // must be _admin_menu hook.
     157add_action( '_admin_menu', 'bp_core_setup_globals', 3 ); // must be _admin_menu hook.
    162158
    163159function bp_core_setup_root_components() {
    164160        /* Add core root components */
     
    168164        bp_core_add_root_component( BP_SEARCH_SLUG );
    169165        bp_core_add_root_component( BP_HOME_BLOG_SLUG );
    170166}
    171 add_action( 'plugins_loaded', 'bp_core_setup_root_components', 1 );
     167add_action( 'plugins_loaded', 'bp_core_setup_root_components', 2 );
    172168
    173169function bp_core_setup_session() {
    174170        // Start a session for error/success feedback on redirect and for signup functions.
     
    330326                $bp->current_component = false;
    331327
    332328                wp_enqueue_script( 'bp-core-directory-members', BP_PLUGIN_URL . '/bp-core/js/directory-members.js', array( 'jquery', 'jquery-livequery-pack' ) );
    333                 bp_core_load_template( apply_filters( 'bp_core_template_directory_members', 'directories/members/index' ) );
     329                bp_core_load_template( apply_filters( 'bp_core_directory_members', 'directories/members/index' ) );
    334330        }
    335331}
    336332add_action( 'wp', 'bp_core_directory_members', 5 );
     
    353349       
    354350        $ud = get_userdata($user_id);
    355351       
    356         return $bp->root_domain . '/' . BP_MEMBERS_SLUG . '/' . $ud->user_login . '/';
     352        return apply_filters('bp_core_get_user_domain', $bp->root_domain . '/') . BP_MEMBERS_SLUG . '/' . $ud->user_login . '/';
    357353}
    358354
    359355/**
     
    367363 * @return $domain The domain URL for the blog.
    368364 */
    369365function bp_core_get_root_domain() {
    370         return get_blog_option( BP_ROOT_BLOG, 'siteurl' );
     366        return apply_filters('bp_core_get_root_domain', get_blog_option( BP_ROOT_BLOG, 'siteurl' ));
    371367}
    372368
    373369/**
     
    610606                $user = BP_Core_User::get_random_users(1);
    611607
    612608                $ud = get_userdata( $user['users'][0]->user_id );
    613                 bp_core_redirect( $bp->root_domain . '/' . BP_MEMBERS_SLUG . '/' . $ud->user_login );
     609                bp_core_redirect( apply_filters('bp_core_get_random_member', $bp->root_domain . '/') . BP_MEMBERS_SLUG . '/' . $ud->user_login );
    614610        }
    615611}
    616612add_action( 'wp', 'bp_core_get_random_member', 6 );
     
    693689                return false;
    694690       
    695691        $ud = get_userdata($uid);
    696                
    697         return $bp->root_domain . '/' . BP_MEMBERS_SLUG . '/' . $ud->user_login . '/';
     692       
     693        return apply_filters('bp_core_get_userurl', $bp->root_domain . '/') . BP_MEMBERS_SLUG . '/' . $ud->user_login . '/';
    698694}
    699695
    700696/**
     
    737733 */
    738734function bp_core_get_userlink( $user_id, $no_anchor = false, $just_link = false, $deprecated = false, $with_s = false ) {
    739735        global $userdata;
    740        
     736
    741737        $ud = get_userdata($user_id);
    742        
     738
    743739        if ( !$ud )
    744740                return false;
    745741
     
    761757
    762758        if ( !$url = bp_core_get_userurl($user_id) )
    763759                return false;
    764                
     760       
     761        $url = apply_filters('bp_core_get_userlink', $url);
     762       
    765763        if ( $just_link )
    766764                return $url;
    767765
     
    10451043    // as this conflicts with wp_redirect()
    10461044        $bp_no_status_set = true;
    10471045       
    1048         wp_redirect( $location, $status );
     1046        wp_redirect( apply_filters('bp_core_redirect', $location), $status );
    10491047        die;
    10501048}
    10511049
     
    11541152        return apply_filters( 'bp_core_set_member_theme_root_uri', WP_CONTENT_URL . '/bp-themes' );
    11551153}
    11561154
     1155/**
     1156 * bp_get_member_theme_url()
     1157 *
     1158 * Get the url of the selected member theme.
     1159 *
     1160 * @package BuddyPress Core
     1161 * @uses get_site_option()
     1162 * @return The member theme URL
     1163 */
     1164function bp_get_member_theme_url() {
     1165        return WP_CONTENT_URL . '/bp-themes/' . get_site_option( 'active-member-theme' );
     1166}
     1167
     1168/**
     1169 * bp_get_member_theme_path()
     1170 *
     1171 * Get the path of the selected member theme.
     1172 *
     1173 * @package BuddyPress Core
     1174 * @uses get_site_option()
     1175 * @return The member theme path
     1176 */
     1177function bp_get_member_theme_path() {
     1178        return WP_CONTENT_DIR . '/bp-themes/' . get_site_option( 'active-member-theme' );
     1179}
     1180
    11571181function bp_core_add_illegal_names() {
    11581182        global $bp;
    11591183       
     
    12161240        return wpmu_delete_user( $bp->loggedin_user->id  );
    12171241}
    12181242
    1219 function bp_core_search_site() {
     1243function bp_core_search_site( $search_which = '', $search_slug = '' ) {
    12201244        global $bp;
    12211245       
    12221246        if ( $bp->current_component == BP_SEARCH_SLUG ) {
     1247               
     1248                // terms from text-box
    12231249                $search_terms = $_POST['search-terms'];
    1224                 $search_which = $_POST['search-which'];
    1225                
     1250
     1251                // type from drop-down
     1252                if (!$search_which) {
     1253                        $search_which = $_POST['search-which'];
     1254                }
     1255
     1256                // core + other possibilities
    12261257                switch ( $search_which ) {
    1227                         case 'members': default:
     1258                        case 'members':
    12281259                                $search = BP_MEMBERS_SLUG;
    12291260                                break;
    12301261                        case 'groups':
     
    12331264                        case 'blogs':
    12341265                                $search = BP_BLOGS_SLUG;
    12351266                                break;
     1267                        default:
     1268                                if ( $search_which != '') {
     1269                                        $search = $search_slug;
     1270                                } else {
     1271                                        $search = BP_MEMBERS_SLUG;
     1272                                }
     1273                                break;
    12361274                }
    1237                
     1275
    12381276                $search_url = apply_filters( 'bp_core_search_site', site_url( $search . '/?s=' . urlencode($search_terms) ), $search_terms );
    1239                
     1277
    12401278                bp_core_redirect( $search_url );
    12411279        }
    12421280}
     
    13331371        wp_cache_delete( 'newest_users' );
    13341372}
    13351373
     1374// Load the buddypress translation file for current language
     1375function bp_load_buddypress_textdomain() {
     1376        $locale = get_locale();
     1377        $locale = apply_filters('buddypress_locale', $locale);
     1378        $mofile = BP_PLUGIN_DIR . "/bp-languages/buddypress-$locale.mo";
     1379        load_textdomain( 'buddypress', $mofile );
     1380}
     1381add_action ( 'plugins_loaded', 'bp_load_buddypress_textdomain', 9);
     1382
    13361383// List actions to clear object caches on
    13371384add_action( 'bp_core_delete_avatar', 'bp_core_clear_user_object_cache' );
    13381385add_action( 'bp_core_avatar_save', 'bp_core_clear_user_object_cache' );