Making WordPress.org


Ignore:
Timestamp:
02/10/2022 12:41:19 AM (5 years ago)
Author:
dd32
Message:

Plugin Directory: API: Allow clients to disable the versions and download_link fields.

Full changes:

  • Can disable the versions response key.
  • Can disable the download_link response key.
  • Incorrectly documented downloadlink key will affect the download_link key.
  • Requesting reviews without sections will now result in sections.reviews being returned still
  • Typos in documentation & code cleanup.

See #6032.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/standalone/class-plugins-info-api-request.php

    r10200 r11535  
    1919                'donate_link'         => false,
    2020                'downloaded'          => false,
    21                 'downloadlink'        => false,
     21                'download_link'       => false,
    2222                'homepage'            => false,
    2323                'icons'               => false,
     
    2525                'rating'              => false,
    2626                'ratings'             => false,
    27                 'reviews'             => false,
     27                'reviews'             => false, // NOTE: sub-key of 'sections'.
    2828                'requires'            => false,
    2929                'requires_php'        => false,
     
    3838                'author_block_rating' => false,
    3939                'language_packs'      => false,
     40                'versions'            => false,
    4041        );
    4142
     
    4647                'bare_contributors' => true,
    4748                'downloaded'        => true,
    48                 'downloadlink'      => true,
     49                'download_link'     => true,
    4950                'donate_link'       => true,
    5051                'homepage'          => true,
     
    7677                'downloaded'        => true,
    7778                'description'       => true,
    78                 'downloadlink'      => true,
     79                'download_link'     => true,
    7980                'donate_link'       => true,
    8081                'homepage'          => true,
     
    109110                'author_block_count'   => true,
    110111                'author_block_rating'  => true,
     112        );
     113
     114        // Typo/incorrect field name transforms.
     115        static $field_aliases = array(
     116                // from => to
     117                'downloadlink' => 'download_link', // Incorrectly documented in plugins_api().
    111118        );
    112119
     
    160167
    161168                // In WordPress 4.0+ we request the icons field however we don't use the
    162                 // description and compatibility fields so we exclue those by default unless requested.
     169                // description and compatibility fields so we exclude those by default unless requested.
    163170                if ( ! empty( $this->requested_fields['icons'] ) ) {
    164171                        $fields['compatibility'] = false;
     
    192199                                }
    193200                        }
     201
     202                        // If the field is an aliased field, redirect to the proper field.
     203                        $field = self::$field_aliases[ $field ] ?? $field;
     204
     205                        // If it's a valid field, include it.
    194206                        if ( isset( self::$fields[ $field ] ) ) {
    195207                                $requested_fields[ $field ] = (bool) $include;
Note: See TracChangeset for help on using the changeset viewer.