You are here

function key_save_integration_settings in Key 7

Save settings for a key integration.

Parameters

array $fields: The fields of the integration to save.

2 calls to key_save_integration_settings()
key_integration_features_rebuild in includes/key_integration.features.inc
Implements hook_features_rebuild().
key_ui_key_integration_form_submit in modules/key_ui/includes/key_ui.admin.inc
Form submission handler for key_ui_key_integration_form().

File

./key.module, line 635
Provides the ability to manage keys, which can be used by other modules.

Code

function key_save_integration_settings($fields) {

  // Load the integration.
  $integration = key_get_integration($fields['name']);

  // If the integration is locked, make sure no db record exists.
  if ($integration['locked']) {
    $num_deleted = db_delete('key_integration')
      ->condition('name', $fields['name'])
      ->execute();
    return;
  }

  // Serialize any field that is an array.
  foreach ($fields as $index => $field) {
    if (is_array($field)) {
      $fields[$index] = serialize($field);
    }
  }

  // Save the integration.
  $merge_status = db_merge('key_integration')
    ->key(array(
    'name' => $fields['name'],
  ))
    ->fields($fields)
    ->execute();
}