Changeset 12742 for trunk/wp-admin/includes/plugin-install.php
- Timestamp:
- 01/17/2010 03:26:50 AM (16 years ago)
- File:
-
- 1 edited
-
trunk/wp-admin/includes/plugin-install.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/includes/plugin-install.php
r12673 r12742 25 25 * @param string $action 26 26 * @param array|object $args Optional. Arguments to serialize for the Plugin Info API. 27 * @return mixed27 * @return object plugins_api response object on success, WP_Error on failure. 28 28 */ 29 29 function plugins_api($action, $args = null) { … … 35 35 $args->per_page = 24; 36 36 37 $args = apply_filters('plugins_api_args', $args, $action); //NOTE: Ensure that an object is returned via this filter. 38 $res = apply_filters('plugins_api', false, $action, $args); //NOTE: Allows a plugin to completely override the builtin WordPress.org API. 39 40 if ( ! $res ) { 41 $request = wp_remote_post('http://api.wordpress.org/plugins/info/1.0/', array( 'body' => array('action' => $action, 'request' => serialize($args))) ); 37 // Allows a plugin to override the WordPress.org API entirely. 38 // Use the filter 'plugins_api_result' to mearly add results. 39 // Please ensure that a object is returned from the following filters. 40 $args = apply_filters('plugins_api_args', $args, $action); 41 $res = apply_filters('plugins_api', false, $action, $args); 42 43 if ( false === $res ) { 44 $request = wp_remote_post('http://api.wordpress.org/plugins/info/1.0/', array( 'timeout' => 15, 'body' => array('action' => $action, 'request' => serialize($args))) ); 42 45 if ( is_wp_error($request) ) { 43 46 $res = new WP_Error('plugins_api_failed', __('An Unexpected HTTP Error occurred during the API request.</p> <p><a href="?" onclick="document.location.reload(); return false;">Try again</a>'), $request->get_error_message() ); 44 47 } else { 45 48 $res = unserialize($request['body']); 46 if ( !$res )49 if ( false === $res ) 47 50 $res = new WP_Error('plugins_api_failed', __('An unknown error occurred'), $request['body']); 48 51 } … … 198 201 $args = array('browse' => 'popular', 'page' => $page); 199 202 $api = plugins_api('query_plugins', $args); 203 if ( is_wp_error($api) ) 204 wp_die($api); 200 205 display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']); 201 206 } … … 249 254 $args = array('browse' => 'updated', 'page' => $page); 250 255 $api = plugins_api('query_plugins', $args); 256 if ( is_wp_error($api) ) 257 wp_die($api); 251 258 display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']); 252 259 }
Note: See TracChangeset
for help on using the changeset viewer.