You are here

function field_discussthis_form_validate in Discuss This! 7.2

Validate the individual fields and then convert them into a single HTML RGB value as text.

1 string reference to 'field_discussthis_form_validate'
discussthis_field_widget_form in ./discussthis.fields.inc
Implements hook_field_widget_form().

File

./discussthis.fields.inc, line 352
DiscussThis field declaration using Field Types API.

Code

function field_discussthis_form_validate($element, &$form_state) {
  $delta = $element['#delta'];

  // TODO: Isn't there a better way to find out which element?
  $field = $form_state['field'][$element['#field_name']][$element['#language']]['field'];
  $field_name = $field['field_name'];
  if (user_access('override discuss this forums') && isset($form_state['node']->nid)) {
    db_delete('discussthis')
      ->condition('nid', $form_state['node']->nid)
      ->execute();
    if (isset($form_state['values'][$field_name][$element['#language']][$delta]['discussthis'])) {
      $discuss_conf = $form_state['values'][$field_name][$element['#language']][$delta]['discussthis'];
      if (isset($discuss_conf['discussthis_forum']) && $discuss_conf['discussthis_forum']) {
        _discussthis_set_forum($form_state['node']->nid, $form_state['values'][$field_name][$element['#language']][$delta]['discussthis']['discussthis_forum']);
      }
      if (isset($discuss_conf['discussthis_topic']) && $discuss_conf['discussthis_topic']) {
        _discussthis_set_topic($form_state['node']->nid, $form_state['values'][$field_name][$element['#language']][$delta]['discussthis']['discussthis_topic']);
      }
    }
  }
}