Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
06/18/2023 04:11:04 AM (23 months 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.