Making WordPress.org

Ticket #2952: 2952.2.patch

File 2952.2.patch, 11.7 KB (added by SergeyBiryukov, 7 years ago)
  • wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-custom-fields.php

     
    1414                        'stable_tag' => 'Stable Tag',
    1515                        'tested' => 'Tested With',
    1616                        'requires' => 'Requires',
     17                        'requires_php' => 'Requires PHP',
    1718                        'donate_link' => 'Donate URL',
    1819                        'header_plugin_uri' => 'Plugin URI',
    1920                        'header_author' => 'Plugin Author',
  • wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-plugin.php

     
    9999
    100100                $result['requires'] = get_post_meta( $post_id, 'requires', true ) ?: false;
    101101                $result['tested'] = get_post_meta( $post_id, 'tested', true ) ?: false;
     102                $result['requires_php'] = get_post_meta( $post_id, 'requires_php', true ) ?: false;
    102103                $result['compatibility'] = array();
    103104                $result['rating'] = ( get_post_meta( $post_id, 'rating', true ) ?: 0 ) * 20; // Stored as 0.0 ~ 5.0, API outputs as 0..100
    104105                $result['ratings'] = array_map( 'intval', (array) get_post_meta( $post_id, 'ratings', true ) );
  • wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-directory.php

     
    367367                        'show_in_rest'      => true,
    368368                ) );
    369369
     370                register_meta( 'post', 'requires_php', array(
     371                        'description'       => __( 'The minimum version of PHP the plugin needs to run.', 'wporg-plugins' ),
     372                        'single'            => true,
     373                        // TODO 'sanitize_callback' => 'absint',
     374                        'show_in_rest'      => true,
     375                ) );
     376
    370377                register_meta( 'post', 'stable_tag', array(
    371378                        'description'       => __( 'Stable version of the plugin.', 'wporg-plugins' ),
    372379                        'single'            => true,
  • wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-import.php

     
    2525        public $readme_fields = array(
    2626                'tested',
    2727                'requires',
     28                'requires_php',
    2829                'donate_link',
    2930                'license',
    3031                'license_uri',
  • wordpress.org/public_html/wp-content/plugins/plugin-directory/jobs/class-api-update-updater.php

     
    7171                        'plugin_name_san' => sanitize_title_with_dashes( get_post_meta( $post->ID, 'header_name', true ) ),
    7272                        'tested'          => get_post_meta( $post->ID, 'tested', true ),
    7373                        'requires'        => get_post_meta( $post->ID, 'requires', true ),
     74                        'requires_php'    => get_post_meta( $post->ID, 'requires_php', true ),
    7475                        'upgrade_notice'  => '',
    7576                        'last_updated'    => $post->post_modified,
    7677                );
     
    122123  `plugin_name_san` varchar(255) NOT NULL DEFAULT '',
    123124  `tested` varchar(128) NOT NULL DEFAULT '',
    124125  `requires` varchar(128) NOT NULL DEFAULT '',
     126  `requires_php` varchar(128) NOT NULL DEFAULT '',
    125127  `upgrade_notice` text,
    126128  `last_updated` datetime NOT NULL,
    127129  PRIMARY KEY (`plugin_id`),
  • wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/class-parser.php

     
    3232        public $tested = '';
    3333
    3434        /**
     35         * @var string
     36         */
     37        public $requires_php = '';
     38
     39        /**
    3540         * @var array
    3641         */
    3742        public $contributors = array();
     
    117122                'tested up to'      => 'tested',
    118123                'requires'          => 'requires',
    119124                'requires at least' => 'requires',
     125                'requires php'      => 'requires_php',
    120126                'tags'              => 'tags',
    121127                'contributors'      => 'contributors',
    122128                'donate link'       => 'donate_link',
     
    227233                if ( ! empty( $headers['tested'] ) ) {
    228234                        $this->tested = $headers['tested'];
    229235                }
     236                if ( ! empty( $headers['requires_php'] ) ) {
     237                        $this->requires_php = $headers['requires_php'];
     238                }
    230239                if ( ! empty( $headers['contributors'] ) ) {
    231240                        $this->contributors = explode( ',', $headers['contributors'] );
    232241                        $this->contributors = array_map( 'trim', $this->contributors );
  • wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/class-validator.php

     
    7575                        /* Translators: Plugin header tag; */
    7676                        $warnings[] = sprintf( __( '%s is missing.', 'wporg-plugins' ), '<code>Tested up to</code>' );
    7777                }
     78                if ( empty( $readme->requires_php ) ) {
     79                        /* Translators: Plugin header tag; */
     80                        $warnings[] = sprintf( __( '%s is missing.', 'wporg-plugins' ), '<code>Requires PHP</code>' );
     81                }
    7882                if ( empty( $readme->stable_tag ) ) {
    7983                        /* Translators: 1: Plugin header tag; 2: SVN directory; 3: Plugin header tag; */
    8084                        $warnings[] = sprintf( __( '%1$s is missing.  Hint: If you treat %2$s as stable, put %3$s.', 'wporg-plugins' ), '<code>Stable tag</code>', '<code>/trunk/</code>', '<code>Stable tag: trunk</code>' );
  • wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload-handler.php

     
    216216                                'meta_input'   => array(
    217217                                        'tested'                   => $readme->tested,
    218218                                        'requires'                 => $readme->requires,
     219                                        'requires_php'             => $readme->requires_php,
    219220                                        'stable_tag'               => $readme->stable_tag,
    220221                                        'upgrade_notice'           => $readme->upgrade_notice,
    221222                                        'contributors'             => $readme->contributors,
  • wordpress.org/public_html/wp-content/plugins/plugin-directory/standalone/class-plugins-info-api-request.php

     
    2626                'ratings'           => false,
    2727                'reviews'           => false,
    2828                'requires'          => false,
     29                'requires_php'      => false,
    2930                'sections'          => false,
    3031                'short_description' => false,
    3132                'tags'              => false,
     
    4546                'rating'            => true,
    4647                'ratings'           => true,
    4748                'requires'          => true,                           
     49                'requires_php'      => true,
    4850                'sections'          => true,
    4951                'tags'              => true,
    5052                'tested'            => true,
     
    6264                'rating'            => true,
    6365                'ratings'           => true,
    6466                'requires'          => true,                           
     67                'requires_php'      => true,
    6568                'sections'          => true,
    6669                'short_description' => true,
    6770                'tags'              => true,
  • wordpress.org/public_html/wp-content/plugins/plugin-directory/tests/phpunit/tests/wporg-plugin-api-performance.php

     
    2424                'sections'          => true,
    2525                'tested'            => true,
    2626                'requires'          => true,
     27                'requires_php'      => true,
    2728                'rating'            => true,
    2829                'ratings'           => true,
    2930                'downloaded'        => true,
  • wordpress.org/public_html/wp-content/plugins/plugin-directory/tests/phpunit/tests/wporg-plugin-api.php

     
    2323                'sections'          => true,
    2424                'tested'            => true,
    2525                'requires'          => true,
     26                'requires_php'      => true,
    2627                'rating'            => true,
    2728                'ratings'           => true,
    2829                'downloaded'        => true,
     
    241242                        $this->assertObjectHasAttribute( 'tested', $plugin_info, 'Tested exists' );
    242243                        $this->assertAttributeInternalType( 'string', 'tested', $plugin_info, 'Tested should be a string' );
    243244                }
     245                $this->assertObjectHasAttribute( 'requires_php', $plugin_info, 'Requires PHP exists' );
    244246                $this->assertObjectHasAttribute( 'compatibility', $plugin_info, 'Compatibility exists' );
    245247                $this->assertAttributeInternalType( 'array', 'compatibility', $plugin_info, 'Compatibility should be an array' );
    246248
  • wordpress.org/public_html/wp-content/plugins/plugin-directory/widgets/class-meta.php

     
    4949                        </li>
    5050                        <li><?php printf( __( 'Active installs: %s', 'wporg-plugins' ), '<strong>' . Template::active_installs( false ) . '</strong>' ); ?></li>
    5151
    52             <?php if ( $requires = (string) get_post_meta( $post->ID, 'requires', true ) ) : ?>
     52                        <?php if ( $requires = (string) get_post_meta( $post->ID, 'requires', true ) ) : ?>
    5353                                <li><?php
    5454                                _e( 'Requires WordPress Version:', 'wporg-plugins' );
    5555                                echo '<strong>' . esc_html( $requires ) . '</strong>';
    5656                                ?></li>
    57             <?php endif; ?>
     57                        <?php endif; ?>
    5858
    59 
    60 
    6159                        <?php if ( $tested_up_to = (string) get_post_meta( $post->ID, 'tested', true ) ) : ?>
    6260                                <li><?php printf( __( 'Tested up to: %s', 'wporg-plugins' ), '<strong>' . $tested_up_to . '</strong>' ); ?></li>
    6361                        <?php endif; ?>
    6462
     63                        <?php if ( $requires_php = (string) get_post_meta( $post->ID, 'requires_php', true ) ) : ?>
     64                                <li><?php
     65                                _e( 'Requires PHP Version:', 'wporg-plugins' );
     66                                echo '<strong>' . esc_html( $requires_php ) . '</strong>';
     67                                ?></li>
     68                        <?php endif; ?>
     69
    6570                        <?php if ( $tags = get_the_term_list( $post->ID, 'plugin_tags', '<div class="tags">', '', '</div>' ) ) : ?>
    6671                                <li class="clear"><?php
    6772                                        $terms = get_the_terms( $post, 'plugin_tags' );