コード例 #1
0
 /**
  * @param $remote_plugins
  * @return array
  */
 protected function filter_remote_plugins($remote_plugins)
 {
     $available_updates = array();
     // find new versions
     foreach ($remote_plugins as $remote_plugin) {
         // find corresponding local plugin
         $plugin = $this->extensions->find(function ($p) use($remote_plugin) {
             return $p->id() == $remote_plugin->id;
         });
         // plugin found and local plugin version not same as remote version?
         if (!$plugin || version_compare($plugin->version(), $remote_plugin->version, '>=')) {
             continue;
         }
         // add some dynamic data
         $available_updates[$plugin->slug()] = $this->format_response($plugin, $remote_plugin);
     }
     return $available_updates;
 }
コード例 #2
0
 /**
  * @param Collection $plugins
  * @return object
  */
 public function get_plugins(Collection $plugins)
 {
     // create array of plugin ID's
     $plugin_ids = $plugins->map(function ($p) {
         return $p->id();
     });
     $endpoint = add_query_arg(array('ids' => implode(',', $plugin_ids), 'format' => 'wp'), '/plugins');
     return $this->call($endpoint);
 }