/** * Transient update plugins filter * * @see https://github.com/WordPress/WordPress/blob/3.7/wp-includes/option.php#L1030 * * @param array $update_plugins * @return array */ public function transient_update_plugins_filter($update_plugins) { if (is_object($update_plugins) && isset($update_plugins->response) && is_array($update_plugins->response)) { $pronamic_plugins = pronamic_client_get_plugins(); $options = $this->get_http_api_options(array('plugins' => json_encode($pronamic_plugins))); $url = 'http://api.pronamic.eu/plugins/update-check/1.1/'; $raw_response = wp_remote_post($url, $options); if (is_wp_error($raw_response) || 200 !== wp_remote_retrieve_response_code($raw_response)) { return $update_plugins; } $response = json_decode(wp_remote_retrieve_body($raw_response), true); if (is_array($response) && isset($response['plugins'])) { foreach ($response['plugins'] as &$plugin) { $plugin = (object) $plugin; } unset($plugin); $update_plugins->response = array_merge($update_plugins->response, $response['plugins']); } } return $update_plugins; }
<div class="wrap"> <h2><?php echo get_admin_page_title(); ?> </h2> <h3><?php _e('Plugins', 'pronamic_client'); ?> </h3> <?php $pronamic_plugins = pronamic_client_get_plugins(); if (empty($pronamic_plugins)) { ?> <p> <?php _e('No Pronamic plugins found.', 'pronamic_client'); ?> </p> <?php } else { ?> <table class="wp-list-table widefat plugins" cellspacing="0"> <thead> <tr> <th scope="col"><?php _e('Plugin', 'pronamic_client');