Skip to:
Content

BuddyPress.org

Changeset 13674


Ignore:
Timestamp:
12/19/2023 11:45:13 PM (10 months ago)
Author:
imath
Message:

Improve BP Directory/page panels in URLs settings tab

  • Adds a disabled input to inform about the directory/page permalink.
  • Adds a button to open the corresponding page into a new window.

See #9039 (trunk)
Closes https://github.com/buddypress/buddypress/pull/203

Location:
trunk/src/bp-core/admin
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-core/admin/bp-core-admin-rewrites.php

    r13595 r13674  
    182182                                        <td>
    183183                                            <input type="text" class="code" name="<?php printf( 'components[%d][post_name]', absint( $directory_data->id ) ); ?>" id="<?php echo esc_attr( sprintf( '%s-directory-slug', sanitize_key( $component_id ) ) ); ?>" value="<?php echo esc_attr( $directory_data->slug ); ?>">
     184                                        </td>
     185                                    </tr>
     186                                    <tr>
     187                                        <th scope="row">
     188                                            <label for="<?php echo esc_attr( sprintf( '%s-directory-url', sanitize_key( $component_id ) ) ); ?>">
     189                                                <?php ( 'activate' === $component_id || 'register' === $component_id ) ? esc_html_e( 'Page permalink', 'buddypress' ) : esc_html_e( 'Directory permalink', 'buddypress' ); ?>
     190                                            </label>
     191                                        </th>
     192                                        <td>
     193                                            <?php
     194                                            $url_args = array(
     195                                                'component_id' => $component_id,
     196                                            );
     197
     198                                            if ( 'activate' === $component_id || 'register' === $component_id ) {
     199                                                $url_args = array(
     200                                                    'component_id'                        => 'members',
     201                                                    sprintf( 'member_%s', $component_id ) => 1,
     202                                                );
     203                                            }
     204
     205                                            $permalink = bp_rewrites_get_url( $url_args );
     206                                            ?>
     207                                            <input type="text" class="code bp-directory-url" id="<?php echo esc_attr( sprintf( '%s-directory-url', sanitize_key( $component_id ) ) ); ?>" value="<?php echo esc_url( $permalink ); ?>" disabled="disabled">
     208
     209                                            <?php if ( 'activate' !== $component_id && 'register' !== $component_id ) : ?>
     210                                                <a href="<?php echo esc_url( $permalink ); ?>" class="button-secondary bp-open-permalink" target="_bp">
     211                                                    <?php esc_html_e( 'View', 'buddypress' ); ?> <span class="dashicons dashicons-external" aria-hidden="true"></span>
     212                                                    <span class="screen-reader-text"><?php esc_html_e( '(opens in a new tab)', 'buddypress' ); ?></span>
     213                                                </a>
     214                                            <?php endif; ?>
    184215                                        </td>
    185216                                    </tr>
  • trunk/src/bp-core/admin/css/common-rtl.css

    r13614 r13674  
    1616    2.1 Top level menus
    1717    2.2 Settings - Components
    18     2.3 Tools
    19     2.4 Tooltips
     18    2.3 Settings - URls
     19    2.4 Tools
     20    2.5 Tooltips
    20213.0 Users
    2122    3.1 Users List
     
    308309
    309310/*
    310  * 2.3 Tools
     311 * 2.3 Settings - URLs
     312 */
     313.settings_page_bp-rewrites .bp-directory-url {
     314    width: 80%;
     315    box-shadow: 0 0 0 transparent;
     316    border: 1px solid #8c8f94;
     317    background-color: #fff;
     318    color: #2c3338;
     319}
     320
     321.settings_page_bp-rewrites .bp-open-permalink .dashicons {
     322    vertical-align: sub;
     323}
     324
     325/*
     326 * 2.4 Tools
    311327 */
    312328#adminmenu .toplevel_page_network-tools div.wp-menu-image:before {
     
    331347
    332348/*
    333  * 2.4 Tooltips
     349 * 2.5 Tooltips
    334350 */
    335351.bp-tooltip {
  • trunk/src/bp-core/admin/css/common.css

    r13614 r13674  
    1616    2.1 Top level menus
    1717    2.2 Settings - Components
    18     2.3 Tools
    19     2.4 Tooltips
     18    2.3 Settings - URls
     19    2.4 Tools
     20    2.5 Tooltips
    20213.0 Users
    2122    3.1 Users List
     
    308309
    309310/*
    310  * 2.3 Tools
     311 * 2.3 Settings - URLs
     312 */
     313.settings_page_bp-rewrites .bp-directory-url {
     314    width: 80%;
     315    box-shadow: 0 0 0 transparent;
     316    border: 1px solid #8c8f94;
     317    background-color: #fff;
     318    color: #2c3338;
     319}
     320
     321.settings_page_bp-rewrites .bp-open-permalink .dashicons {
     322    vertical-align: sub;
     323}
     324
     325/*
     326 * 2.4 Tools
    311327 */
    312328#adminmenu .toplevel_page_network-tools div.wp-menu-image:before {
     
    331347
    332348/*
    333  * 2.4 Tooltips
     349 * 2.5 Tooltips
    334350 */
    335351.bp-tooltip {
  • trunk/src/bp-core/admin/js/rewrites-ui.js

    r13450 r13674  
    55        accordions.forEach( function( accordion ) {
    66            accordion.addEventListener( 'click', function( e ) {
    7                 e.preventDefault();
     7                if ( e.target && e.target.matches( 'button.health-check-accordion-trigger' ) ) {
     8                    e.preventDefault();
    89
    9                 if ( e.target && e.target.matches( 'button.health-check-accordion-trigger' ) ) {
    1010                    var isExpanded = ( 'true' === e.target.getAttribute( 'aria-expanded' ) ),
    1111                        panel = document.querySelector( '#' + e.target.getAttribute( 'aria-controls' ) );
Note: See TracChangeset for help on using the changeset viewer.