You are here

function agreement_settings_form_validate in Agreement 7.2

Agreement settings form validate callback.

Parameters

array $form: The form array.

array &$form_state: The form state array.

File

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

Code

function agreement_settings_form_validate($form, &$form_state) {
  $types = agreement_type_load();
  $pages = preg_split('/\\r?\\n/', $form_state['values']['settings']['visibility_pages']);

  // See if there are any agreement types that have the same visibility page
  // when visibility is set to match path.
  if ($form_state['values']['settings']['visibility_settings']) {
    foreach ($types as $name => $info) {
      if ($name != $form_state['values']['name'] && $info['settings']['visibility_settings']) {
        $type_pages = preg_split('/\\r?\\n/', $info['settings']['visibility_pages']);
        $diff = array_diff($pages, $type_pages);
        if (count($diff) < count($pages)) {
          form_set_error('settings[visibility_pages]', t('Visibility page in-use by another agreement.'));
          break;
        }
      }
    }
  }
}