You are here

function _subform_select_submit in Subform 5

File

./subform.module, line 530

Code

function _subform_select_submit($form_id, $form_values) {
  $child_side = $form_values['child_side'];
  $parent_side = $child_side == 'left' ? 'right' : 'left';
  $child_side_node = $child_side . '_node';
  $child_side_node_cardinality = $child_side . '_node_cardinality';
  $parent_side_node = $parent_side . '_node';
  $parent_node = $form_values['parent_node'];
  $relation_class = $form_values['relation_class'];
  $relation_class_node = node_load($relation_class);
  $allowed_slots = $relation_class_node->{$child_side_node_cardinality};
  $used_slots = relation_instance_used_slots($relation_class, $parent_side_node, $child_side_node, $parent_node);
  if ($form_values['select_list']['rows']) {
    foreach ($form_values['select_list']['rows'] as $row_key => $row_value) {
      foreach ($row_value as $cell_key => $cell_value) {
        if ($cell_value[0] == 1 && $used_slots < $allowed_slots) {
          $child_node = $cell_key;
          $relation_instance = (object) array(
            'relation_class' => $relation_class,
            $parent_side_node => $parent_node,
            $child_side_node => $child_node,
          );
          $relation_instance = relation_instance_insert($relation_instance);
          $used_slots++;
          $relation_instances[] = $relation_instance;
        }
      }
    }
  }
  $output = '';
  if (is_array($relation_instances)) {
    $output = implode(",", $relation_instances);
  }
  print $output;
  die;

  // print( "<pre>". print_r( $form_values, true ) ."</pre>" );
}