Making WordPress.org


Ignore:
Timestamp:
12/08/2023 03:47:14 AM (9 months ago)
Author:
dd32
Message:

Plugin Directory: Record the reason a plugin is rejected.

See #5653.
Closes https://github.com/WordPress/wordpress.org/pull/107.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/tools/class-stats-report.php

    r13009 r13033  
    277277                AND `comment_agent` = ''
    278278                AND (
    279                     `comment_content` IN( 'Plugin Approved.', 'Plugin Rejected.', 'Unassigned.' )
     279                    `comment_content` IN( 'Plugin Approved.', 'Unassigned.' )
    280280                    OR `comment_content` LIKE 'Assigned TO%'
     281                    OR `comment_content` LIKE 'Plugin rejected.%'
    281282                    OR (
    282283                        `comment_content` LIKE 'Plugin closed.%'
     
    653654                echo '</td>';
    654655
    655                 // Plugins Approved, Rejected.
     656                // Plugins Approved.
    656657                echo '<td>', number_format_i18n( $user_stat[ 'Plugin approved.' ] ?? 0 ), '</td>';
    657                 echo '<td>', number_format_i18n( $user_stat[ 'Plugin rejected.' ] ?? 0 ), '</td>';
     658
     659                // Plugins Rejected.
     660                $user_rejected_breakdown = '';
     661                $user_rejected_count     = 0;
     662                foreach ( $user_stat as $key => $count ) {
     663                    if ( ! preg_match( '/^Plugin rejected\./', $key ) ) {
     664                        continue;
     665                    }
     666                    $user_rejected_count += $count;
     667                    $reason               = trim( explode( ':', $key )[1] ?? '' );
     668
     669                    if ( ! $reason ) {
     670                        continue;
     671                    }
     672
     673                    $user_rejected_breakdown .= sprintf(
     674                        "%s: %s\n",
     675                        Template::get_rejection_reasons()[ $reason ],
     676                        number_format_i18n( $count )
     677                    );
     678                }
     679                $user_rejected_breakdown = trim( $user_rejected_breakdown );
     680
     681                echo '<td class="breakdown">', '<span title="', esc_attr( $user_rejected_breakdown ), '">', number_format_i18n( $user_rejected_count ), '</span>';
     682                if ( $user_rejected_breakdown ) {
     683                    echo '<div class="hidden">', nl2br( $user_rejected_breakdown ), '</div>';
     684                }
     685                echo '</td>';
    658686
    659687                // Plugins Closed.
     
    693721                    $(this).children().length > 1 && $(this).children().toggleClass("hidden");
    694722                } );
    695             } );</script>'
     723            } );</script>';
    696724
    697725            ?>
Note: See TracChangeset for help on using the changeset viewer.