You are here

google_fonts.install in Google Fonts 6.2

Same filename and directory in other branches
  1. 7.2 google_fonts.install
  2. 7 google_fonts.install

Installation file for Google Fonts module.

File

google_fonts.install
View source
<?php

/**
 * @file
 * Installation file for Google Fonts module.
 */
function google_fonts_install() {
  drupal_set_message(st('To use the Google Fonts on your website, your have to <a href="!settings_link">select which ones to use</a>.', array(
    '!settings_link' => url('admin/settings/google_fonts'),
  )));
}

/**
 * Delete settings variable
 */
function google_fonts_uninstall() {
  variable_del('google_fonts_enabled_fonts');
  variable_del('google_fonts_css_contents');
  variable_del('google_fonts_webfonts');
}

/**
 * Change the google_fonts array of enabled fonts to the new format
 */
function google_fonts_update_6100() {
  $ret = array();
  if ($all_fonts = _google_fonts_available_fonts(TRUE)) {
    $enabled_fonts = variable_get('google_fonts_enabled_fonts', array());
    $enabled = array();
    if (!empty($all_fonts) && !empty($enabled_fonts)) {
      foreach ($all_fonts as $font) {
        foreach ($font->variants as $variant) {
          $key = $variant == 'regular' ? $font->family : $font->family . ' ' . $variant;
          if (!empty($enabled_fonts[$key]) && empty($enabled[$array_key])) {
            $array_key = _google_fonts_family_array_key_encode($font->family, $variant);
            $enabled[$array_key] = array(
              'family' => $font->family,
              'subsets' => in_array('latin', $font->variants) ? array(
                'latin' => 'latin',
              ) : array_shift($font->variants),
              'variants' => array(
                $variant => $variant,
              ),
            );
          }
        }
      }
    }
    db_query("DELETE FROM {variable} WHERE name LIKE '%s'", 'google_fonts_ui_%');

    // Overwrite the old format with the new format
    variable_set('google_fonts_enabled_fonts', $enabled);
    return $ret;
  }
  else {
    return array(
      array(
        'success' => FALSE,
        'query' => t("There seems to be a problem to connect to the Google API. Please check your connection and try again."),
      ),
    );
  }
}

Functions

Namesort descending Description
google_fonts_install @file Installation file for Google Fonts module.
google_fonts_uninstall Delete settings variable
google_fonts_update_6100 Change the google_fonts array of enabled fonts to the new format