You are here

function _subform_related_page in Subform 5

1 string reference to '_subform_related_page'
subform_menu in ./subform.module

File

./subform.module, line 682

Code

function _subform_related_page($relation_instance_node, $node_id) {
  $relation_instance_id = arg(1);
  $operation = arg(3);
  $relation_class_node = node_load($relation_instance_node->relation_class);
  $child_side = arg(2);
  $child_node = $child_side . '_node';
  $child_node = $relation_instance_node->{$child_node};
  $parent_side = $child_side == 'left' ? 'right' : 'left';
  $parent_node = $parent_side . '_node';
  $parent_node = $relation_instance_node->{$parent_node};
  $form_delete_relation_instance = array(
    'relation_instance_id' => array(
      '#type' => 'hidden',
      '#value' => $relation_instance_id,
    ),
    'submit' => array(
      '#type' => 'submit',
    ),
  );
  $form_delete_relation_instance = str_replace("<input type=\"submit\" name=\"op\" value=\"\"  class=\"form-submit\" />", "<input type='hidden' name='op' id='op' value='Submit'>", drupal_get_form('subform_delete_relation_instance', $form_delete_relation_instance));
  $node = node_load($node_id);
  if ($operation == 'hoist') {
    drupal_goto("node/{$node_id}/edit");
  }
  else {
    if ($operation == 'edit') {

      // since the result of ALL edit operations is redirection to edit, we need to check if the requested op was delete
      // this chunk of code ripped from node.module
      if ($_POST['op'] == 'Delete') {
        if ($_REQUEST['destination']) {
          $destination = drupal_get_destination();
          unset($_REQUEST['destination']);
        }

        // 'subform_related/'. arg(1) .'/'. arg(2) .'/'. arg(3)
        drupal_goto("subform_related/{$relation_instance_id}/{$child_side}/delete", $destination);
        return;
      }
      $form = node_form_array($node);
      unset($form['preview']);
      unset($form['delete']);
      $form['#redirect'] = "subform_related/{$relation_instance_id}/{$child_side}/edit";
      $content = $form_delete_relation_instance . drupal_get_form($node->type . '_node_form', $form, 'node_form');
      $content = str_replace('<input type="submit" name="op" value="Submit"  class="form-submit" />', '<input type="hidden" name="op" id="op" value="Submit">', $content);
      $messages = theme_status_messages();
    }
    else {
      if ($operation == 'delete') {
        node_delete($node_id);
        $content = '';
      }
      else {
        $content = node_view($node);
      }
    }
  }
  $head = drupal_get_html_head();
  $styles = theme_get_styles();
  print $messages . $content;

  // include_once('subform.tpl.php');
}