Skip to:
Content

BuddyPress.org

Ticket #2649: patch-2649.patch

File patch-2649.patch, 3.4 KB (added by DJPaul, 14 years ago)

v1

  • bp-themes/bp-default/members/single/home.php

     
    2323                                <?php do_action( 'bp_before_member_body' ) ?>
    2424
    2525                                <?php if ( bp_is_user_activity() || !bp_current_component() ) : ?>
    26                                         <?php locate_template( array( 'members/single/activity.php' ), true ) ?>
     26                                        <?php bp_load_template( array( 'members/single/activity.php' ) ) ?>
    2727
    2828                                <?php elseif ( bp_is_user_blogs() ) : ?>
    2929                                        <?php locate_template( array( 'members/single/blogs.php' ), true ) ?>
  • bp-core/bp-core-catchuri.php

     
    246246}
    247247
    248248/**
     249 * Includes, into page output, a template file. To be used within a template included by bp_core_load_template().
     250 *
     251 * If the requested template follows the BuddyPress core theme file structure, for example "[groups]/[single]/file.php"
     252 * i.e. being a file of a registered root component underneath its "single" folder, we'll also try to match against a version
     253 * of that template path suffixed with the identifier of the object of the current component.
     254 *
     255 * For example, on pages of a group named "snugglewugglepants", we'd look for "groups/single/file-snugglewugglepants.php"
     256 * as well as plain-old "groups/single/file.php".
     257 *
     258 * Underneath the member page hierarchy, the user's login name is used, e.g. "members/single/page-admin.php" for the admin user.
     259 *
     260 * @global object $bp BuddyPress global settings
     261 * @param array $templates Requested templates, in priority order
     262 * @see bp_core_add_root_component()
     263 * @see bp_core_load_template()
     264 * @since 2.0
     265 */
     266function bp_load_template( $templates ) {
     267        global $bp;
     268
     269        $alternative_templates = array();
     270
     271        foreach ( $templates as $template ) {
     272                $uri = explode( '/', $template );
     273                $uri_size = count( $uri );
     274
     275                if ( !is_array( $uri ) || $uri_size < 2 )
     276                        continue;
     277
     278                if ( '/' == $uri[0] ) {
     279                        unset( $uri[0] );
     280                        $uri = array_merge( $uri, array() );  // Reset the keys by merging with an empty array
     281                }
     282
     283                if ( !in_array( $uri[0], $bp->root_components ) || 'single' != $uri[1] )
     284                        continue;
     285
     286                if ( $bp->current_item )
     287                        $template_slug = $bp->current_item;
     288                elseif ( BP_MEMBERS_SLUG == $uri[0] && isset( $bp->displayed_user ) )
     289                        $template_slug = $bp->displayed_user->userdata->user_login;
     290                else
     291                        continue;
     292
     293                $extension = strpos( $uri[$uri_size - 1], '.php' );
     294                if ( false === $extension )
     295                        continue;
     296
     297                $template_slug = apply_filters( 'bp_load_template_slug', $template_slug, $template, $templates );
     298                if ( $template_slug ) {
     299                        // Reconstruct the URL with the filename suffix
     300                        $uri[$uri_size - 1] = substr( $uri[$uri_size - 1], 0, $extension ) . "-{$template_slug}.php";
     301                        $alternative_templates[] = implode( '/', $uri );
     302                }
     303        }
     304
     305        $templates = array_merge( apply_filters( 'bp_load_template_alternatives', $alternative_templates, $templates ), $templates );
     306        if ( $located_template = apply_filters( 'bp_located_template', locate_template( $templates, false ), $templates, $alternative_templates ) )
     307                load_template( apply_filters( 'bp_load_template', $located_template ) );
     308}
     309
     310/**
    249311 * bp_core_catch_profile_uri()
    250312 *
    251313 * If the extended profiles component is not installed we still need