WordPress.org

Making WordPress.org

Ticket #1579: 1579-fix-plugin-object-type.diff

File 1579-fix-plugin-object-type.diff, 1.2 KB (added by tellyworth, 2 years ago)
  • standalone/class-plugins-info-api.php

     
    119119                if ( !empty( $fields['bare_contributors'] ) ) {
    120120                        $contribs = $response['contributors'];
    121121                        $response['contributors'] = array();
    122                         foreach ( $contribs as $user => $data ) {
    123                                 $response['contributors'][ $user ] = $data['profile'];
     122                        if ( is_array( $contribs ) ) {
     123                                foreach ( $contribs as $user => $data ) {
     124                                        $response['contributors'][ $user ] = $data['profile'];
     125                                }
    124126                        }
    125127                }
    126128
     
    158160                        $response['plugins'][ $i ] = $this->plugin_information( new Plugins_Info_API_Request( array( 'slug' => $plugin_slug, 'locale' => $request->locale ) ), true );
    159161                }
    160162
    161                 // Trim fields
     163                // Trim fields and cast to object
    162164                foreach ( $response['plugins'] as $i => $plugin_data ) {
    163                         $response['plugins'][$i] = $this->remove_unexpected_fields( $plugin_data, $request, 'query_plugins' );
     165                        $response['plugins'][$i] = (object) $this->remove_unexpected_fields( $plugin_data, $request, 'query_plugins' );
    164166                }
    165167
    166168                $this->output( $response );