You are here

function emaillog_admin_settings_validate in Logging and alerts 7.2

Same name and namespace in other branches
  1. 6.2 emaillog/emaillog.admin.inc \emaillog_admin_settings_validate()

Validates admin settings form.

1 string reference to 'emaillog_admin_settings_validate'
emaillog_admin_settings in emaillog/emaillog.admin.inc
Returns admin settings form.

File

emaillog/emaillog.admin.inc, line 181
Admin callbacks for the Email Logging and Alerts module.

Code

function emaillog_admin_settings_validate($form, &$form_state) {
  if ($form_state['values']['emaillog_max_similar_emails'] && !$form_state['values']['emaillog_max_similarity_level']) {
    form_set_error('emaillog_max_similarity_level', t('You need to provide value for %field1 field when specifying %field2.', array(
      '%field1' => 'Maximum allowed similarity level between consecutive email alerts',
      '%field2' => 'Maximum number of allowed consecutive similar emails',
    )));
  }
  if ($form_state['values']['emaillog_max_similarity_level'] && !$form_state['values']['emaillog_max_similar_emails']) {
    form_set_error('emaillog_max_similar_emails', t('You need to provide value for %field1 field when specifying %field2.', array(
      '%field1' => 'Maximum number of allowed consecutive similar emails',
      '%field2' => 'Maximum allowed similarity level between consecutive email alerts',
    )));
  }
  if ($form_state['values']['emaillog_max_consecutive_timespan'] && !$form_state['values']['emaillog_max_similar_emails']) {
    form_set_error('emaillog_max_similar_emails', t('You need to provide value for %field1 field when specifying %field2.', array(
      '%field1' => 'Maximum number of allowed consecutive similar emails',
      '%field2' => 'Email alerts should be considered "consecutive" if sent within',
    )));
  }
  if ($form_state['values']['emaillog_max_consecutive_timespan'] && !$form_state['values']['emaillog_max_similarity_level']) {
    form_set_error('emaillog_max_similarity_level', t('You need to provide value for %field1 field when specifying %field2.', array(
      '%field1' => 'Maximum allowed similarity level between consecutive email alerts',
      '%field2' => 'Email alerts should be considered "consecutive" if sent within',
    )));
  }
  if ($form_state['values']['emaillog_max_similarity_level']) {
    if (!is_numeric($form_state['values']['emaillog_max_similarity_level'])) {
      form_set_error('emaillog_max_similarity_level', t('Value of %field cannot contain any non-numeric characters.', array(
        '%field' => 'Maximum allowed similarity level between consecutive email alerts',
      )));
    }
    if ($form_state['values']['emaillog_max_similarity_level'] < 0 || $form_state['values']['emaillog_max_similarity_level'] > 1) {
      form_set_error('emaillog_max_similarity_level', t('Value of %field needs to be in [0-1] range.', array(
        '%field' => 'Maximum allowed similarity level between consecutive email alerts',
      )));
    }
  }
}