Making WordPress.org

Changeset 14495


Ignore:
Timestamp:
07/28/2025 04:20:47 AM (11 months ago)
Author:
dd32
Message:

Plugin Directory: Release Confirmation: reorganise the releases table to accomodate adding additional settings.

See #8009.

Location:
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-plugin-release-confirmation.php

    r14262 r14495  
    3838
    3939        register_rest_route( 'plugins/v1', '/plugin/(?P<plugin_slug>[^/]+)/release-confirmation/(?P<plugin_tag>[^/]+)', [
    40             'methods'             => \WP_REST_Server::READABLE, // TODO: This really should be a POST
     40            'methods'             => 'GET, POST', // TODO: Remove GET.
    4141            'callback'            => [ $this, 'confirm_release' ],
    4242            'args'                => [
     
    5252
    5353        register_rest_route( 'plugins/v1', '/plugin/(?P<plugin_slug>[^/]+)/release-confirmation/(?P<plugin_tag>[^/]+)/discard', [
    54             'methods'             => \WP_REST_Server::READABLE, // TODO: This really should be a POST
     54            'methods'             => 'GET, POST', // TODO: Remove GET.
    5555            'callback'            => [ $this, 'discard_release' ],
    5656            'args'                => [
     
    6666
    6767        register_rest_route( 'plugins/v1', '/plugin/(?P<plugin_slug>[^/]+)/release-confirmation/(?P<plugin_tag>[^/]+)/undo-discard', [
    68             'methods'             => \WP_REST_Server::READABLE, // TODO: This really should be a POST
     68            'methods'             => 'GET, POST', // TODO: Remove GET.
    6969            'callback'            => [ $this, 'undo_discard_release' ],
    7070            'args'                => [
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-release-confirmation.php

    r14274 r14495  
    8282        foreach ( $plugins as $plugin ) {
    8383            printf(
    84                 '<h2><a href="%s">%s</a></h2>',
     84                '<h2 id="releases-%s"><a href="%s">%s</a></h2>',
     85                esc_attr( $plugin->post_name ),
    8586                get_permalink( $plugin ),
    8687                get_the_title( $plugin )
     
    117118        echo '<div class="wp-block-table is-style-stripes">
    118119        <table class="plugin-releases-listing">
     120        <colgroup>
     121            <col width="25%">
     122        </colgroup>
    119123        <thead>
    120124            <tr>
    121                 <th>Version</th>
    122                 <th>Date</th>
    123                 <th>Committer</th>
    124                 <th>Approval</th>
    125                 <th>Actions</th>
    126         </thead></div>';
     125                <th>' . _x( 'Release', 'Releases Table header', 'wporg-plugins' ) . '</th>
     126                <th>&nbsp;</th>
     127        </thead>';
    127128
    128129        if ( ! $releases ) {
     
    137138                $data['committer'][ $i ] = sprintf(
    138139                    '<a href="%s">%s</a>',
    139                     'https://profiles.wordpress.org/' . get_user_by( 'login', $login )->user_nicename . '/',
     140                    'https://profiles.wordpress.org/' . ( get_user_by( 'login', $login )->user_nicename ?? '' ) . '/',
    140141                    esc_html( $login )
    141142                );
     
    144145            printf(
    145146                '<tr>
    146                     <td>%s</td>
    147                     <td title="%s">%s</td>
    148                     <td>%s</td>
    149                     <td>%s</td>
    150                     <td><div class="plugin-releases-listing-actions">%s</div></td>
     147                    <td>%s<br><small>%s</small></td>
     148                    <td>
     149                        <form method="POST">
     150                            <div class="plugin-releases-listing-actions">%s</div>
     151                            %s
     152                        </form>
     153                    </td>
    151154                </tr>',
    152155                sprintf(
    153                     '<a href="%s">%s</a>',
    154                     esc_url( sprintf(
    155                         'https://plugins.trac.wordpress.org/browser/%s/tags/%s/',
    156                         $plugin->post_name,
    157                         $data['tag']
    158                     ) ),
    159                     esc_html( $data['version'] )
     156                    __( 'Version %s', 'wporg-plugins' ),
     157                    sprintf(
     158                        '<a href="%s">%s</a>',
     159                        esc_url( sprintf(
     160                            'https://plugins.trac.wordpress.org/browser/%s/tags/%s/',
     161                            $plugin->post_name,
     162                            $data['tag']
     163                        ) ),
     164                        esc_html( $data['version'] )
     165                    ),
    160166                ),
    161                 esc_attr( gmdate( 'Y-m-d H:i:s', $data['date'] ) ),
    162                 esc_html( sprintf( __( '%s ago', 'wporg-plugins' ), human_time_diff( $data['date'] ) ) ),
    163                 implode( ', ', $data['committer'] ),
    164                 self::get_approval_text( $plugin, $data ),
    165                 self::get_actions( $plugin, $data )
     167                sprintf(
     168                    /* translators: 1: time eg. '3 hours ago', 2: the committer(s). */
     169                    __( 'Released %1$s by %2$s', 'wporg-plugins' ),
     170                    sprintf(
     171                        '<span title="%s">%s</span>',
     172                        esc_attr( gmdate( 'Y-m-d H:i:s', $data['date'] ) ),
     173                        esc_html( sprintf( __( '%s ago', 'wporg-plugins' ), human_time_diff( $data['date'] ) ) ),
     174                    ),
     175                    implode( ', ', $data['committer'] ),
     176                ),
     177                self::get_actions( $plugin, $data ),
     178                self::get_approval_text( $plugin, $data )
    166179            );
    167180        }
     
    169182        echo '</table>';
    170183        echo '</div>';
     184        echo '<style>
     185            .plugin-releases-listing-actions {
     186                float: right;
     187            }
     188        </style>';
    171189    }
    172190
     
    280298
    281299                $buttons[] = sprintf(
    282                     '<a href="%s" class="wp-element-button button approve-release" data-2fa-required data-2fa-message="%s">%s</a>',
     300                    '<button formaction="%s" class="wp-element-button button approve-release" data-2fa-required data-2fa-message="%s">%s</a>',
    283301                    $confirm_link,
    284302                    esc_attr(
     
    294312
    295313                $buttons[] = sprintf(
    296                     '<a href="%s" class="wp-element-button button approve-release" data-2fa-required data-2fa-message="%s">%s</a>',
     314                    '<button formaction="%s" class="wp-element-button button approve-release" data-2fa-required data-2fa-message="%s">%s</a>',
    297315                    $discard_link,
    298316                    esc_attr(
Note: See TracChangeset for help on using the changeset viewer.