You are here

function subform_nodeapi in Subform 5

hook_nodeapi().

File

./subform.module, line 354

Code

function subform_nodeapi(&$node, $op, $a3 = null, $a4 = null) {

  // drupal_set_message( '<pre>' . print_r( $node, true ) . '</pre>' );
  if ($op == 'insert' && isset($node->subform_new)) {
    drupal_goto("subform/{$node->nid}/edit");
  }
  if ($op == 'insert' && isset($node->subform_related_new)) {

    // drupal_set_message( '<pre>' . print_r( $node, true ) . '</pre>' );
    $child_side = $node->child_side;
    $parent_side = $child_side == 'left' ? 'right' : 'left';
    $child_side_node = $child_side . '_node';
    $parent_side_node = $parent_side . '_node';
    $relation_instance = (object) array(
      'relation_class' => $node->relation_class,
      $parent_side_node => $node->parent_node,
      $child_side_node => $node->nid,
    );
    $relation_instance_id = relation_instance_insert($relation_instance);
    drupal_goto("subform_related/{$relation_instance_id}/{$child_side}/edit");
  }
  if ($op == 'insert' && isset($node->subforms)) {
    foreach ($node->subforms as $field => $parent_node) {
      if ($parent_node < 0) {
        relation_instance_update($parent_node, $node->nid);
      }
    }
  }
}