You are here

function google_fonts_api_fontyourface_import in @font-your-face 7.2

Same name and namespace in other branches
  1. 8.3 modules/google_fonts_api/google_fonts_api.module \google_fonts_api_fontyourface_import()
  2. 6.2 modules/google_fonts_api/google_fonts_api.module \google_fonts_api_fontyourface_import()
  3. 7 modules/google_fonts_api/google_fonts_api.module \google_fonts_api_fontyourface_import()

Implements hook_fontyourface_import().

1 call to google_fonts_api_fontyourface_import()
google_fonts_api_update_7100 in modules/google_fonts_api/google_fonts_api.install
Implements hook_update_N().

File

modules/google_fonts_api/google_fonts_api.module, line 134

Code

function google_fonts_api_fontyourface_import() {

  // Return the JSON object with all available fonts
  // For now, it uses the API key of BarisW (co-maintainer of this module)
  // This key is limited to 10.000 requests per day, which should
  // be sufficient as it is only used when selecting fonts in the
  // admin interface. After that, the fonts are cached in Drupal.
  $success = TRUE;
  $fonts = array();
  $result = drupal_http_request('https://www.googleapis.com/webfonts/v1/webfonts?key=' . variable_get('google_fonts_api_key', 'AIzaSyBgeqKlFdYj3Y7VwmrEXnXzpnx5TfKXG4o'));
  fontyourface_log('drupal_http_request response: @response', array(
    '@response' => print_r($result, TRUE),
  ));
  if ($result->code != 200) {
    $success = FALSE;
    drupal_set_message(t('The list of Google Fonts could not be fetched. Verify that your server can connect the Google Servers (https://www.googleapis.com). Error: %error', array(
      '%error' => $result->error,
    )), 'error');
  }
  elseif (isset($result->data)) {
    $json_results = json_decode($result->data);
    fontyourface_log('google_fonts_api_fontyourface_import JSON: @json', array(
      '@json' => print_r($json_results, TRUE),
    ));
    $fonts = _google_fonts_api_convert_api_results($json_results->items);
    fontyourface_log('google_fonts_api_fontyourface_import fonts: @fonts', array(
      '@fonts' => print_r($fonts, TRUE),
    ));
  }

  //elseif
  foreach ($fonts as $font) {
    if (!isset($font->tags)) {
      $font->tags = array();
    }

    // if
    fontyourface_save_font($font);
  }

  // foreach
  return $success;
}