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, 18 months 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 );