Making WordPress.org


Ignore:
Timestamp:
04/19/2017 06:31:54 PM (9 years ago)
Author:
ocean90
Message:

Support Forums, User Badges: Ensure that caches aren't polluted with empty arrays.

On some pages $this->plugin was empty and caused Trying to get property of non-object PHP notices.

Props SergeyBiryukov.
Fixes #2710.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-directory-compat.php

    r5327 r5369  
    838838
    839839                        if ( $this->compat() == 'theme' ) {
    840                                 $theme = $this->theme;
    841                                 $author = get_user_by( 'id', $this->theme->post_author );
     840                                $theme = $this->get_object( $slug );
     841                                $author = get_user_by( 'id', $theme->post_author );
    842842                                $authors = array( $author->user_nicename );
    843843                        } else {
     844                                $plugin = $this->get_object( $slug );
    844845                                $prefix = $wpdb->base_prefix . WPORG_PLUGIN_DIRECTORY_BLOGID . '_';
    845846                                // Note: Intentionally not considering posts of 'plugin' post_type with
    … …  
    853854                                         LEFT JOIN {$prefix}term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
    854855                                         WHERE tt.taxonomy = 'plugin_committers' AND tr.object_id = %d",
    855                                          $this->plugin->ID
     856                                         $plugin->ID
    856857                                ) );
    857858                        }
    … …  
    880881                $contributors = wp_cache_get( $cache_key, $cache_group );
    881882                if ( ! $contributors ) {
     883                        $plugin = $this->get_object( $slug );
    882884                        $prefix = $wpdb->base_prefix . WPORG_PLUGIN_DIRECTORY_BLOGID . '_';
    883885                        $contributors = $wpdb->get_col( $wpdb->prepare(
    … …  
    887889                                 LEFT JOIN {$prefix}term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
    888890                                 WHERE tt.taxonomy = 'plugin_contributors' AND tr.object_id = %d",
    889                                  $this->plugin->ID
     891                                 $plugin->ID
    890892                        ) );
    891893
Note: See TracChangeset for help on using the changeset viewer.