WordPress.org

Making WordPress.org

Changeset 5288


Ignore:
Timestamp:
04/07/2017 09:25:27 PM (3 years ago)
Author:
coffee2code
Message:

Support Forums, User Badges: Use user_nicename instead of user_login when checking for user being an author or contributor.

See #2701.
Fixes #2697.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-badges/inc/class-plugin.php

    r5287 r5288  
    7474     * @param int    $item_id   The ID of the item getting badge assigned.
    7575     * @return array|false      Associative array with keys 'type', 'slug', and
    76      *                          'user_login' if author merits a badge, else false.
     76     *                          'user_nicename' if author merits a badge, else false.
    7777     */
    7878    protected function get_author_badge_info( $item_type, $item_id ) {
     
    107107        $slugs = $types = array();
    108108
    109         $user_login = get_user_by( 'id', $user_id )->user_login;
     109        $user_nicename = get_user_by( 'id', $user_id )->user_nicename;
    110110
    111111        // Check if the thread is associated with a plugin.
     
    141141            'type'       => $type,
    142142            'slug'       => $slugs[0],
    143             'user_login' => $user_login,
     143            'user_nicename' => $user_nicename,
    144144        );
    145145    }
     
    195195        // Class related to plugin and theme authors/contributors.
    196196        if ( $info = $this->get_author_badge_info( $item_type, $item_id ) ) {
    197             if ( $this->is_user_author( $info['user_login'], $info['type'], $info['slug'] ) ) {
     197            if ( $this->is_user_author( $info['user_nicename'], $info['type'], $info['slug'] ) ) {
    198198                $contrib_type = 'author';
    199             } elseif ( $this->is_user_contributor( $info['user_login'], $info['type'], $info['slug'] ) ) {
     199            } elseif ( $this->is_user_contributor( $info['user_nicename'], $info['type'], $info['slug'] ) ) {
    200200                $contrib_type = 'contributor';
    201201            } else {
     
    285285     * @param int    $item_id   The ID of the item getting badge assigned.
    286286     * @return array|false      Associative array with keys 'type', 'slug', and
    287      *                          'user_login' if author merits a badge, else null.
     287     *                          'user_nicename' if author merits a badge, else null.
    288288     */
    289289    protected function get_author_badge( $item_type, $item_id ) {
     
    295295
    296296        // Determine strings to use based on user being an author or contributor.
    297         if ( $this->is_user_author( $info['user_login'], $info['type'], $info['slug'] ) ) {
     297        if ( $this->is_user_author( $info['user_nicename'], $info['type'], $info['slug'] ) ) {
    298298            if ( 'plugin' == $info['type'] ) {
    299299                $label = __( 'Plugin Author', 'wporg-forums' );
     
    304304            }
    305305        }
    306         elseif ( $this->is_user_contributor( $info['user_login'], $info['type'], $info['slug'] ) ) {
     306        elseif ( $this->is_user_contributor( $info['user_nicename'], $info['type'], $info['slug'] ) ) {
    307307            if ( 'plugin' == $info['type'] ) {
    308308                $label = __( 'Plugin Contributor', 'wporg-forums' );
     
    342342     * the designated author for a theme.
    343343     *
    344      * @param string $user_login User login.
     344     * @param string $user_nicename User slug.
    345345     * @param string $type       Either 'plugin' or 'theme'.
    346346     * @param string $slug       Slug for the plugin or theme.
    347347     * @return bool              True if user is an author, false otherwise.
    348348     */
    349     public function is_user_author( $user_login, $type, $slug ) {
     349    public function is_user_author( $user_nicename, $type, $slug ) {
    350350        if ( 'plugin' === $type ) {
    351351            $compat = class_exists( '\WordPressdotorg\Forums\Plugin' ) ? \WordPressdotorg\Forums\Plugin::get_instance()->plugins : '';
     
    355355        $authors = $compat ? $compat->get_authors( $slug ) : array();
    356356
    357         return $authors && in_array( $user_login, $authors );
     357        return $authors && in_array( $user_nicename, $authors );
    358358    }
    359359
     
    364364     * Currently, themes do not support having contirbutors.
    365365     *
    366      * @param string $user_login User login.
     366     * @param string $user_nicename User slug.
    367367     * @param string $type       Either 'plugin' or 'theme'.
    368368     * @param string $slug       Slug for the plugin or theme.
    369369     * @return bool              True if user is a contributor, false otherwise.
    370370     */
    371     public function is_user_contributor( $user_login, $type, $slug ) {
     371    public function is_user_contributor( $user_nicename, $type, $slug ) {
    372372        if ( 'plugin' === $type ) {
    373373            $compat = class_exists( '\WordPressdotorg\Forums\Plugin' ) ? \WordPressdotorg\Forums\Plugin::get_instance()->plugins : '';
     
    377377        $contributors = $compat ? $compat->get_contributors( $slug ) : array();
    378378
    379         return $contributors && in_array( $user_login, $contributors );
     379        return $contributors && in_array( $user_nicename, $contributors );
    380380    }
    381381
Note: See TracChangeset for help on using the changeset viewer.