Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
06/18/2023 04:11:04 AM (2 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-messages/bp-messages-template.php

    r13443 r13503  
    340340        $url = bp_members_get_user_url(
    341341            $user_id,
    342             array(
    343                 'single_item_component'        => bp_rewrites_get_slug( 'members', 'member_messages', bp_get_messages_slug() ),
    344                 'single_item_action'           => bp_rewrites_get_slug( 'members', 'member_messages_view', 'view' ),
    345                 'single_item_action_variables' => array( $thread_id ),
    346             )
     342            bp_members_get_path_chunks( array( bp_get_messages_slug(), 'view', array( $thread_id ) ) )
    347343        );
    348344
     
    390386        }
    391387
    392         $current_action_slug         = bp_current_action();
    393         $current_action_rewrite_id   = 'member_messages_' . $current_action_slug;
    394         $action_variable_delete_slug = bp_rewrites_get_slug( 'members', $current_action_rewrite_id . '_delete', 'delete' );
    395 
    396388        $url = bp_members_get_user_url(
    397389            $user_id,
    398             array(
    399                 'single_item_component'        => bp_rewrites_get_slug( 'members', 'member_messages', bp_get_messages_slug() ),
    400                 'single_item_action'           => bp_rewrites_get_slug( 'members', $current_action_rewrite_id, $current_action_slug ),
    401                 'single_item_action_variables' => array( $action_variable_delete_slug, $messages_template->thread->thread_id ),
    402             )
     390            bp_members_get_path_chunks( array( bp_get_messages_slug(), bp_current_action(), array( 'delete', $messages_template->thread->thread_id ) ) )
    403391        );
    404392
     
    453441        }
    454442
    455         $current_action_slug         = bp_current_action();
    456         $current_action_rewrite_id   = 'member_messages_' . $current_action_slug;
    457         $action_variable_unread_slug = bp_rewrites_get_slug( 'members', $current_action_rewrite_id . '_unread', 'unread' );
    458 
    459         // Base unread URL.
    460443        $url = bp_members_get_user_url(
    461444            $user_id,
    462             array(
    463                 'single_item_component'        => bp_rewrites_get_slug( 'members', 'member_messages', bp_get_messages_slug() ),
    464                 'single_item_action'           => bp_rewrites_get_slug( 'members', $current_action_rewrite_id, $current_action_slug ),
    465                 'single_item_action_variables' => array( $action_variable_unread_slug ),
    466             )
     445            bp_members_get_path_chunks( array( bp_get_messages_slug(), bp_current_action(), array( 'unread' ) ) )
    467446        );
    468447
     
    524503        }
    525504
    526         $current_action_slug         = bp_current_action();
    527         $current_action_rewrite_id   = 'member_messages_' . $current_action_slug;
    528         $action_variable_read_slug = bp_rewrites_get_slug( 'members', $current_action_rewrite_id . '_read', 'read' );
    529 
    530         // Base read URL.
    531505        $url = bp_members_get_user_url(
    532506            $user_id,
    533             array(
    534                 'single_item_component'        => bp_rewrites_get_slug( 'members', 'member_messages', bp_get_messages_slug() ),
    535                 'single_item_action'           => bp_rewrites_get_slug( 'members', $current_action_rewrite_id, $current_action_slug ),
    536                 'single_item_action_variables' => array( $action_variable_read_slug ),
    537             )
     507            bp_members_get_path_chunks( array( bp_get_messages_slug(), bp_current_action(), array( 'read' ) ) )
    538508        );
    539509
     
    13371307        global $messages_template;
    13381308
    1339         $message_slug        = bp_get_messages_slug();
    1340         $custom_message_slug = bp_rewrites_get_slug( 'members', 'member_' . $message_slug, $message_slug );
    1341         $url                 = wp_nonce_url(
    1342             bp_loggedin_user_url(
    1343                 array(
    1344                     'single_item_component'        => $custom_message_slug,
    1345                     'single_item_action'           => bp_rewrites_get_slug( 'members', 'member_' . $message_slug . '_notices', 'notices' ),
    1346                     'single_item_action_variables' => array(
    1347                         bp_rewrites_get_slug( 'members', 'member_' . $message_slug . '_notices_delete', 'delete' ),
    1348                         $messages_template->thread->id,
    1349                     ),
    1350                 )
    1351             ),
     1309        $url = wp_nonce_url(
     1310            bp_loggedin_user_url( bp_members_get_path_chunks( array( bp_get_messages_slug(), 'notices', array( 'delete', $messages_template->thread->id ) ) ) ),
    13521311            'messages_delete_notice'
    13531312        );
     
    13791338        global $messages_template;
    13801339
    1381         $message_slug        = bp_get_messages_slug();
    1382         $custom_message_slug = bp_rewrites_get_slug( 'members', 'member_' . $message_slug, $message_slug );
    1383         $path_chunks         = array(
    1384             'single_item_component' => $custom_message_slug,
    1385             'single_item_action'    => bp_rewrites_get_slug( 'members', 'member_' . $message_slug . '_notices', 'notices' ),
    1386         );
     1340        $path_chunks = array( bp_get_messages_slug(), 'notices' );
    13871341
    13881342        if ( 1 === (int) $messages_template->thread->is_active ) {
    1389             $nonce                                       = 'messages_deactivate_notice';
    1390             $path_chunks['single_item_action_variables'] = array(
    1391                 bp_rewrites_get_slug( 'members', 'member_' . $message_slug . '_notices_deactivate', 'deactivate' ),
    1392                 $messages_template->thread->id,
    1393             );
     1343            $nonce         = 'messages_deactivate_notice';
     1344            $path_chunks[] = array( 'deactivate', $messages_template->thread->id );
    13941345        } else {
    1395             $nonce                                       = 'messages_activate_notice';
    1396             $path_chunks['single_item_action_variables'] = array(
    1397                 bp_rewrites_get_slug( 'members', 'member_' . $message_slug . '_notices_activate', 'activate' ),
    1398                 $messages_template->thread->id,
    1399             );
     1346            $nonce         = 'messages_activate_notice';
     1347            $path_chunks[] = array( 'activate', $messages_template->thread->id );
    14001348        }
    14011349
    1402         $link = wp_nonce_url( bp_loggedin_user_url( $path_chunks ), $nonce );
     1350        $link = wp_nonce_url( bp_loggedin_user_url( bp_members_get_path_chunks( $path_chunks ) ), $nonce );
    14031351
    14041352        /**
     
    14591407     */
    14601408    function bp_get_message_notice_dismiss_link() {
    1461         $message_slug        = bp_get_messages_slug();
    1462         $custom_message_slug = bp_rewrites_get_slug( 'members', 'member_' . $message_slug, $message_slug );
    1463         $link                = wp_nonce_url(
    1464             bp_loggedin_user_url(
    1465                 array(
    1466                     'single_item_component'        => $custom_message_slug,
    1467                     'single_item_action'           => bp_rewrites_get_slug( 'members', 'member_' . $message_slug . '_notices', 'notices' ),
    1468                     'single_item_action_variables' => array( bp_rewrites_get_slug( 'members', 'member_' . $message_slug . '_notices_dismiss', 'dismiss' ) ),
    1469                 )
    1470             ),
     1409        $link = wp_nonce_url(
     1410            bp_loggedin_user_url( bp_members_get_path_chunks( array( bp_get_messages_slug(), 'notices', array( 'dismiss' ) ) ) ),
    14711411            'messages_dismiss_notice'
    14721412        );
     
    15571497        }
    15581498
    1559         $message_slug        = bp_get_messages_slug();
    1560         $custom_message_slug = bp_rewrites_get_slug( 'members', 'member_' . $message_slug, $message_slug );
    1561         $url                 = wp_nonce_url(
     1499        $url = wp_nonce_url(
    15621500            add_query_arg(
    15631501                'r',
    15641502                bp_members_get_user_slug( bp_displayed_user_id() ),
    1565                 bp_loggedin_user_url(
    1566                     array(
    1567                         'single_item_component' => $custom_message_slug,
    1568                         'single_item_action'    => bp_rewrites_get_slug( 'members', 'member_' . $message_slug . '_compose', 'compose' ),
    1569                     )
    1570                 )
    1571 
     1503                bp_loggedin_user_url( bp_members_get_path_chunks( array( bp_get_messages_slug(), 'compose' ) ) )
    15721504            )
    15731505        );
Note: See TracChangeset for help on using the changeset viewer.