WordPress.org

Making WordPress.org

Ticket #2594: 2594.patch

File 2594.patch, 4.6 KB (added by SergeyBiryukov, 8 months ago)
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload.php

     
    44class Upload { 
    55 
    66        /** 
     7         * Retrieves plugins in the queue submitted by the current user. 
     8         * 
     9         * @return array An array of user's plugins. 
     10         */ 
     11        public static function get_submitted_plugins() { 
     12                global $wpdb; 
     13 
     14                $query = "SELECT post_title, post_status FROM {$wpdb->posts} WHERE post_type = 'plugin'"; 
     15                $query .= $wpdb->prepare( " AND post_status IN ( 'draft', 'pending' ) AND post_author = %d", get_current_user_id() ); 
     16                $query .= ' ORDER BY post_title'; 
     17 
     18                return $wpdb->get_results( $query ); 
     19        } 
     20 
     21        /** 
    722         * Renders the upload shortcode. 
    823         */ 
    924        public static function display() { 
     
    3146                                <div class="plugin-queue-message notice notice-info notice-alt"> 
    3247                                        <p> 
    3348                                                <?php 
    34                                                 printf( _n( 'Currently there is %1$s plugin in the review queue.', 'Currently there are %1$s plugins in the review queue, %2$s of which are awaiting their initial review.', ( $plugins->draft + $plugins->pending ), 'wporg-plugins' ), 
    35                                                         '<strong>' . ( $plugins->draft + $plugins->pending ) . '</strong>', 
    36                                                         '<strong>' . $plugins->draft . '</strong>' 
    37                                                 ); 
     49                                                if ( 1 === ( $plugins->draft + $plugins->pending ) ) { 
     50                                                         _e( 'Currently there is 1 plugin in the review queue.', 'wporg-plugins' ); 
     51                                                } else { 
     52                                                        printf( 
     53                                                                _n( 
     54                                                                        'Currently there are %1$s plugins in the review queue, %2$s of which is awaiting its initial review.', 
     55                                                                        'Currently there are %1$s plugins in the review queue, %2$s of which are awaiting their initial review.', 
     56                                                                        $plugins->draft, 
     57                                                                        'wporg-plugins' 
     58                                                                ), 
     59                                                                '<strong>' . ( $plugins->draft + $plugins->pending ) . '</strong>', 
     60                                                                '<strong>' . $plugins->draft . '</strong>' 
     61                                                        ); 
     62                                                } 
    3863                                                ?> 
    3964                                        </p> 
    4065                                </div> 
     66 
    4167                                <?php 
    42                                 if ( '/plugins-wp' === parse_url( home_url(), PHP_URL_PATH ) ) { 
    43                                         echo '<div class="notice notice-error notice-alt"> 
    44                                                 <p>Please submit all new plugin requests through the existing form <a href="https://wordpress.org/plugins/add/">available here</a>, You\'re currently viewing the beta version of the upcoming plugin directory, and this form is only for testing purposes.</p> 
    45                                         </div>'; 
     68                                $submitted_plugins = self::get_submitted_plugins(); 
     69                                $submitted_counts  = (object) array_fill_keys( array( 'draft', 'pending' ), 0 ); 
     70 
     71                                foreach ( $submitted_plugins as $key => $plugin ) { 
     72                                        if ( 'draft' === $plugin->post_status ) { 
     73                                                $submitted_plugins[ $key ]->status = __( 'Awaiting Review', 'wporg-plugins' ); 
     74                                                $submitted_counts->draft++; 
     75                                        } elseif ( 'pending' === $plugin->post_status ) { 
     76                                                $submitted_plugins[ $key ]->status = __( 'Being Reviewed', 'wporg-plugins' ); 
     77                                                $submitted_counts->pending++; 
     78                                        } 
    4679                                } 
    4780                                ?> 
    4881 
     82                                <?php if ( $submitted_counts->draft + $submitted_counts->pending ) : ?> 
     83 
     84                                        <div class="plugin-queue-message notice notice-warning notice-alt"> 
     85                                                <p> 
     86                                                        <?php 
     87                                                        if ( 1 === ( $submitted_counts->draft + $submitted_counts->pending ) ) { 
     88                                                                _e( 'You have 1 plugin in the review queue.', 'wporg-plugins' ); 
     89                                                        } else { 
     90                                                                printf( 
     91                                                                        _n( 
     92                                                                                'You have %1$s plugins in the review queue, %2$s is being actively reviewed.', 
     93                                                                                'You have %1$s plugins in the review queue, %2$s are being actively reviewed.', 
     94                                                                                $submitted_counts->pending, 
     95                                                                                'wporg-plugins' 
     96                                                                        ), 
     97                                                                        '<strong>' . ( $submitted_counts->draft + $submitted_counts->pending ) . '</strong>', 
     98                                                                        '<strong>' . $submitted_counts->pending . '</strong>' 
     99                                                                ); 
     100                                                        } 
     101                                                        ?> 
     102                                                </p> 
     103                                                <ul> 
     104                                                        <?php 
     105                                                        foreach ( $submitted_plugins as $plugin ) { 
     106                                                                echo '<li>' . esc_html( $plugin->post_title ) . ' &#8212; ' . $plugin->status . '</li>'; 
     107                                                        } 
     108                                                        ?> 
     109                                                </ul> 
     110                                                <p><?php 
     111                                                        /* translators: %s: plugins@wordpress.org */ 
     112                                                        printf( __( 'Please wait at least 7 business days before asking for an update status from <a href="mailto:%1$s">%1$s</a>.', 'wporg-plugins' ), 
     113                                                                'plugins@wordpress.org' 
     114                                                        ); 
     115                                                ?></p> 
     116                                        </div> 
     117 
     118                                <?php endif; ?> 
     119 
    49120                        <?php endif; ?> 
    50121 
    51122                        <form id="upload_form" class="plugin-upload-form" enctype="multipart/form-data" method="POST" action="">