You are here

function spaces_og_node_validate in Spaces 7.3

Implements hook_node_validate().

Enforce groups for OG. OG enforces audiences via required form elements that Spaces removes.

See also

og_form_add_og_audience()

_spaces_og_form_alter_node()

File

spaces_og/spaces_og.module, line 329

Code

function spaces_og_node_validate($node, $form, &$form_state) {
  if (variable_get('og_group_type_' . $node->type, 'omitted') != 'omitted') {

    // TODO verify that this sufficiently replaces the og_is_omitted_type() function.
    if (variable_get('og_audience_required', FALSE) && empty($node->og_groups)) {
      if (isset($node->spaces_og_audience) && (int) $node->spaces_og_audience !== 0) {
        $node->og_groups[$node->spaces_og_audience] = $node->spaces_og_audience;
      }
      else {

        // @todo This error will leave none 'administer nodes' users in a
        // dead end. Ideally, access should be restricted on the menu
        // level.
        form_set_error('spaces_og_audience', t('This content type must be posted in a group.'));
      }
    }
  }
}