You are here

function _nodehierarchy_nodehierarchy_node_form in Node Hierarchy 7.4

Get the node edit form for nodehierarchy.

1 call to _nodehierarchy_nodehierarchy_node_form()
nodehierarchy_nodehierarchy_node_form in ./nodehierarchy.module
Get the node edit form for nodehierarchy.

File

./nodehierarchy.admin.inc, line 172
Admin functions for Node Hierarchy

Code

function _nodehierarchy_nodehierarchy_node_form($node, $form, &$form_state) {
  global $user;
  $form = array();

  // If this node type can be a child.
  if (nodehierarchy_node_can_be_child($node) || nodehierarchy_node_can_be_parent($node)) {

    // if the current user can edit the current node's hierarchy settings (or create new children)
    $can_set_parent = user_access('edit all node parents') || empty($node->nid) && user_access('create child nodes') || $node->uid == $user->uid && user_access('edit own node parents');
    if ($can_set_parent) {
      $form['nodehierarchy'] = array(
        '#tree' => FALSE,
      );
      $form['nodehierarchy']['nodehierarchy_parents'] = array(
        '#tree' => TRUE,
      );
      foreach ((array) $node->nodehierarchy_parents as $key => $parent) {
        $form['nodehierarchy']['nodehierarchy_parents'][$key] = _nodehierarchy_node_parent_form_items($node, $parent, $key);
        drupal_alter('nodehierarchy_node_parent_form_items', $form['nodehierarchy']['nodehierarchy_parents'][$key], $node, $parent);
      }
      drupal_alter('nodehierarchy_node_parent_form_items_wrapper', $form['nodehierarchy'], $form_state, $node);
    }
  }
  return $form;
}