Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
03/07/2023 04:28:08 AM (14 months ago)
Author:
imath
Message:

BP Rewrites: Introduce the bp_members_get_user_url() function

As many member URLs are built concatenating bp_core_get_user_domain()
with URL chunks, the safer way to make sure developers update the way they
build their member URLs in favor of using BP Rewrites is:

  1. to deprecate this function
  2. create a new function bp_members_get_user_url() which is a wrapper of

bp_rewrites_get_url()

  1. replace all bp_core_get_user_domain() occurrences by

bp_members_get_user_url()

This commit also deprecates bp_core_get_username() in favor of the new
bp_members_get_user_slug() function and updates PHPUnit tests.

Props r-a-y, johnjamesjacoby, boonebgorges

Closes https://github.com/buddypress/buddypress/pull/70
See #4954

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/testcases/routing/activity.php

    r13431 r13433  
    66class BP_Tests_Routing_Activity extends BP_UnitTestCase {
    77    protected $old_current_user = 0;
     8    protected $permalink_structure = '';
    89
    910    public function set_up() {
     
    1112
    1213        $this->old_current_user = get_current_user_id();
     14        $this->permalink_structure = get_option( 'permalink_structure', '' );
    1315        $this->set_current_user( self::factory()->user->create( array( 'role' => 'subscriber' ) ) );
    1416    }
     
    1719        parent::tear_down();
    1820        $this->set_current_user( $this->old_current_user );
     21        $this->set_permalink_structure( $this->permalink_structure );
    1922    }
    2023
    2124    function test_activity_directory() {
     25        $this->set_permalink_structure( '/%postname%/' );
    2226        $this->go_to( bp_get_activity_directory_permalink() );
    2327
     
    3236     */
    3337    function test_activity_permalink() {
     38        $this->set_permalink_structure( '/%postname%/' );
    3439        $a = self::factory()->activity->create();
    3540        $activity = self::factory()->activity->get_object_by_id( $a );
    3641
    37         $url = bp_core_get_user_domain( $activity->user_id ) . bp_get_activity_slug() . '/' . $activity->id . '/';
     42        $url = bp_members_get_user_url(
     43            $activity->user_id,
     44            array(
     45                'single_item_component' => bp_rewrites_get_slug( 'members', 'member_activity', bp_get_activity_slug() ),
     46                'single_item_action'    => $activity->id,
     47            )
     48        );
    3849        $this->go_to( $url );
    3950        $this->assertTrue( bp_is_single_activity() );
     
    4152
    4253    function test_member_activity() {
    43         $this->go_to( bp_core_get_user_domain( bp_loggedin_user_id() ) . bp_get_activity_slug() );
     54        $this->set_permalink_structure( '/%postname%/' );
     55        $this->go_to(
     56            bp_members_get_user_url(
     57                bp_loggedin_user_id(),
     58                array(
     59                    'single_item_component' => bp_rewrites_get_slug( 'members', 'member_activity', bp_get_activity_slug() ),
     60                )
     61            )
     62        );
    4463        $this->assertTrue( bp_is_user_activity() );
    4564    }
    4665
    4766    function test_member_activity_mentions() {
    48         $this->go_to( bp_core_get_user_domain( bp_loggedin_user_id() ) . bp_get_activity_slug() . '/mentions'  );
     67        $this->set_permalink_structure( '/%postname%/' );
     68        $this->go_to(
     69            bp_members_get_user_url(
     70                bp_loggedin_user_id(),
     71                array(
     72                    'single_item_component' => bp_rewrites_get_slug( 'members', 'member_activity', bp_get_activity_slug() ),
     73                    'single_item_action'    => bp_rewrites_get_slug( 'members', 'member_activity_mentions', 'mentions' ),
     74                )
     75            )
     76        );
    4977        $this->assertTrue( bp_is_user_activity() );
    5078    }
    5179
    5280    function test_member_activity_favourites() {
    53         $this->go_to( bp_core_get_user_domain( bp_loggedin_user_id() ) . bp_get_activity_slug() . '/favorites'  );
     81        $this->set_permalink_structure( '/%postname%/' );
     82        $this->go_to(
     83            bp_members_get_user_url(
     84                bp_loggedin_user_id(),
     85                array(
     86                    'single_item_component' => bp_rewrites_get_slug( 'members', 'member_activity', bp_get_activity_slug() ),
     87                    'single_item_action'    => bp_rewrites_get_slug( 'members', 'member_activity_favorites', 'favorites' ),
     88                )
     89            )
     90        );
    5491        $this->assertTrue( bp_is_user_activity() );
    5592    }
     
    5996     */
    6097    function test_member_activity_friends() {
    61         $this->go_to( bp_core_get_user_domain( bp_loggedin_user_id() ) . bp_get_activity_slug() . '/' . bp_get_friends_slug() );
     98        $this->set_permalink_structure( '/%postname%/' );
     99        $this->go_to(
     100            bp_members_get_user_url(
     101                bp_loggedin_user_id(),
     102                array(
     103                    'single_item_component' => bp_rewrites_get_slug( 'members', 'member_activity', bp_get_activity_slug() ),
     104                    'single_item_action'    => bp_rewrites_get_slug( 'members', 'member_activity_friends', bp_get_friends_slug() ),
     105                )
     106            )
     107        );
    62108        $this->assertTrue( bp_is_user_friends_activity() );
    63109    }
     
    67113     */
    68114    function test_member_activity_groups() {
    69         $this->go_to( bp_core_get_user_domain( bp_loggedin_user_id() ) . bp_get_activity_slug() . '/' . bp_get_groups_slug() );
     115        $this->set_permalink_structure( '/%postname%/' );
     116        $this->go_to(
     117            bp_members_get_user_url(
     118                bp_loggedin_user_id(),
     119                array(
     120                    'single_item_component' => bp_rewrites_get_slug( 'members', 'member_activity', bp_get_activity_slug() ),
     121                    'single_item_action'    => bp_rewrites_get_slug( 'members', 'member_activity_groups', bp_get_groups_slug() ),
     122                )
     123            )
     124        );
    70125        $this->assertTrue( bp_is_user_groups_activity() );
    71126    }
Note: See TracChangeset for help on using the changeset viewer.