function oembedembedly_providers in oEmbed 8
Same name and namespace in other branches
- 7 modules/oembedembedly/oembedembedly.module \oembedembedly_providers()
- 7.0 oembedembedly/oembedembedly.module \oembedembedly_providers()
Calls and caches embed.ly services api.
5 calls to oembedembedly_providers()
- oembedembedly_admin in modules/oembedembedly/ oembedembedly.admin.inc 
- Admin form to configure embedly provider.
- oembedembedly_default_selected in modules/oembedembedly/ oembedembedly.module 
- Helper function to populate defaults for all providers.
- oembedembedly_embedly_provider_scheme in modules/oembedembedly/ plugins/ providers/ embedly.inc 
- oembedembedly_provider_callback in modules/oembedembedly/ plugins/ providers/ embedly.inc 
- oembedembedly_provider_get_child in modules/oembedembedly/ plugins/ providers/ embedly.inc 
2 string references to 'oembedembedly_providers'
- oembedembedly_admin in modules/oembedembedly/ oembedembedly.admin.inc 
- Admin form to configure embedly provider.
- oembedembedly_default_selected in modules/oembedembedly/ oembedembedly.module 
- Helper function to populate defaults for all providers.
File
- modules/oembedembedly/ oembedembedly.module, line 30 
- Embed.ly support for oEmbed.module
Code
function oembedembedly_providers() {
  $cache = cache_get('oembedly');
  if ($cache && isset($cache->data)) {
    $providers = $cache->data;
  }
  else {
    $response = drupal_http_request('http://api.embed.ly/1/services');
    if ($response->code == 200) {
      $json = json_decode($response->data);
      $providers = array();
      foreach ($json as $provider) {
        $providers[$provider->name] = $provider;
      }
    }
    else {
      $providers = FALSE;
    }
    cache_set('oembedly', $providers, 'cache', REQUEST_TIME + 3600 * ($providers ? 24 : 6));
    if (variable_get('oembedembedly_default', TRUE)) {
      oembed_providers_reset();
    }
  }
  return $providers;
}