You are here

function typekit_api_cron in @font-your-face 6

Implements hook_cron().

1 call to typekit_api_cron()
typekit_api_import in modules/typekit_api/typekit_api.module
Callback for import.

File

modules/typekit_api/typekit_api.module, line 36

Code

function typekit_api_cron() {
  $last_updated = variable_get('typekit_api_last_update', 0);
  if (time() - 60 * 60 * 24 > $last_updated) {

    // update every 24 hours
    $kits = typekit_api_get_kits();
    foreach ($kits as $kit) {
      $kit_info = typekit_api_get_kit($kit->id);
      if (typekit_api_kit_matches_domain($kit_info, $_SERVER['HTTP_HOST'])) {
        foreach ($kit_info->families as $family_info) {
          foreach ($family_info->variations as $variant_index => $variant_id) {
            $variant = typekit_api_get_variant($family_info->id, $variant_id);
            $variant_record = new stdClass();
            $variant_record->typekit_id = $variant->id;
            $variant_record->name = $variant->name;
            $variant_record->css_name = $family_info->css_names[$variant_index];
            $variant_record->style = $variant->font_style;
            $variant_record->variant = $variant->font_variant;
            $variant_record->weight = $variant->font_weight;
            $variant_record->foundry = $variant->foundry->name;
            $variant_record->family = $variant->family->name;
            $variant_record->kit = $kit_info->id;
            $results = db_query("SELECT vid FROM {typekit_api_variant} WHERE typekit_id = '%s'", $variant_record->typekit_id);
            if ($result = db_fetch_object($results)) {

              // Already in database, update it.
              $variant_record->vid = $result->vid;
              drupal_write_record('typekit_api_variant', $variant_record, array(
                'vid',
              ));
            }
            else {

              // Not already in database, add it.
              drupal_write_record('typekit_api_variant', $variant_record);
            }

            // if
          }

          // foreach
        }

        // foreach
      }

      // if
    }

    // foreach
    variable_set('typekit_api_last_update', time());
  }

  // if
}