You are here

function agreement_settings_form_submit in Agreement 7.2

Agreement settings form submit callback.

Parameters

array $form: The form array.

array &$form_state: The form state array.

File

./agreement.admin.inc, line 379
Agreement administration page callback.

Code

function agreement_settings_form_submit($form, &$form_state) {
  $rebuild = FALSE;
  $is_new = empty($form_state['agreement']) ? TRUE : FALSE;
  $info = _agreement_extract_values_to_type($form_state['values']);
  $new = array_replace_recursive($form_state['agreement'], $info);
  $destination = agreement_settings_form_get_destination('admin/config/people/agreement');
  $options = array_intersect_key($destination, array(
    'query' => array(),
    'fragement' => array(),
  ));
  $form_state['redirect'] = array(
    $destination['path'],
    $options,
  );

  // Rebuilds the menu cache if the path URL or page title changes.
  if ($is_new || $form_state['values']['path'] !== $form_state['agreement'] || $form_state['values']['settings']['title'] !== $form_state['agreement']['settings']['title']) {
    $rebuild = TRUE;
  }
  $saved = agreement_type_save($new, $rebuild);
  drupal_set_message(t('Agreement type %type saved successfully.', array(
    '%type' => $saved['type'],
  )));
}