Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
06/18/2023 04:11:04 AM (3 years ago)
Author:
imath
Message:

BP Rewrites: optimize the code used to build URLs

The bp_members_get_path_chunks() & bp_groups_get_path_chunks() functions are making sure URL chunks are customized according to the slugs settings. Instead of redoing at many places all or some of the operations performed by these functions, update the code to build URLs so that it uses these functions.

See #4954
Fixes #8923
Closes https://github.com/buddypress/buddypress/pull/117

File:
1 edited

Legend:

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

    r13446 r13503  
    340340        $invited_link = bp_members_get_user_url(
    341341                $invited_user_id,
    342                 array(
    343                         'single_item_component' => bp_rewrites_get_slug( 'members', 'member_groups', bp_get_groups_slug() ),
    344                         'single_item_action'    => bp_rewrites_get_slug( 'members', 'member_groups_invites', 'invites' ),
    345                 )
     342                bp_members_get_path_chunks( array( bp_get_groups_slug(), 'invites' ) )
    346343        );
    347344
     
    418415                                                'n' => 1,
    419416                                        ),
    420                                         bp_get_group_url(
     417                                        bp_get_group_manage_url(
    421418                                                $group,
    422                                                 array(
    423                                                         'single_item_action'           => bp_rewrites_get_slug( 'groups', 'bp_group_read_admin', 'admin' ),
    424                                                         'single_item_action_variables' => array( bp_rewrites_get_slug( 'groups', 'bp_group_manage_membership_requests', 'membership-requests' ) ),
    425                                                 )
     419                                                bp_groups_get_path_chunks( array( 'membership-requests' ), 'manage' )
    426420                                        )
    427421                                );
     
    476470                                                'n' => 1,
    477471                                        ),
    478                                         bp_get_group_url(
     472                                        bp_get_group_manage_url(
    479473                                                $group,
    480                                                 array(
    481                                                         'single_item_action'           => bp_rewrites_get_slug( 'groups', 'bp_group_read_admin', 'admin' ),
    482                                                         'single_item_action_variables' => array( bp_rewrites_get_slug( 'groups', 'bp_group_manage_membership_requests', 'membership-requests' ) ),
    483                                                 )
     474                                                bp_groups_get_path_chunks( array( 'membership-requests' ), 'manage' )
    484475                                        )
    485476                                );
     
    532523                        $group_id = $item_id;
    533524
    534                         $group              = groups_get_group( $group_id );
    535                         $group_link         = bp_get_group_url( $group );
    536                         $groups_slug        = bp_get_groups_slug();
    537                         $custom_groups_slug = bp_rewrites_get_slug( 'members', 'member_' . $groups_slug, $groups_slug );
    538                         $amount             = 'single';
     525                        $group      = groups_get_group( $group_id );
     526                        $group_link = bp_get_group_url( $group );
     527                        $amount     = 'single';
    539528
    540529                        if ( (int) $total_items > 1 ) {
     
    545534                                        'n',
    546535                                        1,
    547                                         bp_loggedin_user_url(
    548                                                 array(
    549                                                         'single_item_component' => $custom_groups_slug,
    550                                                 )
    551                                         )
     536                                        bp_loggedin_user_url( bp_members_get_path_chunks( array( bp_get_groups_slug() ) ) )
    552537                                );
    553538
     
    633618                        $group_id = $item_id;
    634619
    635                         $group              = groups_get_group( $group_id );
    636                         $group_link         = bp_get_group_url( $group );
    637                         $groups_slug        = bp_get_groups_slug();
    638                         $custom_groups_slug = bp_rewrites_get_slug( 'members', 'member_' . $groups_slug, $groups_slug );
    639                         $amount             = 'single';
     620                        $group      = groups_get_group( $group_id );
     621                        $group_link = bp_get_group_url( $group );
     622                        $amount     = 'single';
    640623
    641624                        if ( (int) $total_items > 1 ) {
     
    646629                                        'n',
    647630                                        1,
    648                                         bp_loggedin_user_url(
    649                                                 array(
    650                                                         'single_item_component' => $custom_groups_slug,
    651                                                 )
    652                                         )
     631                                        bp_loggedin_user_url( bp_members_get_path_chunks( array( bp_get_groups_slug() ) ) )
    653632                                );
    654633
     
    733712                        $group_id = $item_id;
    734713
    735                         $group              = groups_get_group( $group_id );
    736                         $group_link         = bp_get_group_url( $group );
    737                         $groups_slug        = bp_get_groups_slug();
    738                         $custom_groups_slug = bp_rewrites_get_slug( 'members', 'member_' . $groups_slug, $groups_slug );
    739                         $amount             = 'single';
     714                        $group      = groups_get_group( $group_id );
     715                        $group_link = bp_get_group_url( $group );
     716                        $amount     = 'single';
    740717
    741718                        if ( (int) $total_items > 1 ) {
     
    746723                                        'n',
    747724                                        1,
    748                                         bp_loggedin_user_url(
    749                                                 array(
    750                                                         'single_item_component' => $custom_groups_slug,
    751                                                 )
    752                                         )
     725                                        bp_loggedin_user_url( bp_members_get_path_chunks( array( bp_get_groups_slug() ) ) )
    753726                                );
    754727
     
    827800                        $group_id = $item_id;
    828801
    829                         $group              = groups_get_group( $group_id );
    830                         $group_link         = bp_get_group_url( $group );
    831                         $groups_slug        = bp_get_groups_slug();
    832                         $custom_groups_slug = bp_rewrites_get_slug( 'members', 'member_' . $groups_slug, $groups_slug );
    833                         $amount             = 'single';
     802                        $group      = groups_get_group( $group_id );
     803                        $group_link = bp_get_group_url( $group );
     804                        $amount     = 'single';
    834805
    835806                        if ( (int) $total_items > 1 ) {
     
    840811                                        'n',
    841812                                        1,
    842                                         bp_loggedin_user_url(
    843                                                 array(
    844                                                         'single_item_component' => $custom_groups_slug,
    845                                                 )
    846                                         )
     813                                        bp_loggedin_user_url( bp_members_get_path_chunks( array( bp_get_groups_slug() ) ) )
    847814                                );
    848815
     
    922889                        $group              = groups_get_group( $group_id );
    923890                        $group_link         = bp_get_group_url( $group );
    924                         $groups_slug        = bp_get_groups_slug();
    925                         $custom_groups_slug = bp_rewrites_get_slug( 'members', 'member_' . $groups_slug, $groups_slug );
    926891                        $amount             = 'single';
    927892                        $notification_link  = add_query_arg(
    928893                                'n',
    929894                                1,
    930                                 bp_loggedin_user_url(
    931                                         array(
    932                                                 'single_item_component' => $custom_groups_slug,
    933                                                 'single_item_action'    => bp_rewrites_get_slug( 'members', 'member_' . $groups_slug . '_invites', 'invites' ),
    934                                         )
    935                                 )
     895                                bp_loggedin_user_url( bp_members_get_path_chunks( array( bp_get_groups_slug(), 'invites' ) ) )
    936896                        );
    937897
     
    13371297                                bp_members_get_user_url(
    13381298                                        $user_id,
    1339                                         array(
    1340                                                 'single_item_component' => bp_rewrites_get_slug( 'members', 'member_groups', bp_get_groups_slug() ),
    1341                                         )
     1299                                        bp_members_get_path_chunks( array( bp_get_groups_slug() ) )
    13421300                                )
    13431301                        ),
Note: See TracChangeset for help on using the changeset viewer.