function nodehierarchy_nodehierarchy_node_form in Node Hierarchy 7.2
Same name and namespace in other branches
- 6.3 nodehierarchy.module \nodehierarchy_nodehierarchy_node_form()
- 6.2 nodehierarchy.module \nodehierarchy_nodehierarchy_node_form()
- 7.4 nodehierarchy.module \nodehierarchy_nodehierarchy_node_form()
Get the node edit form for nodehierarchy.
File
- ./
nodehierarchy.module, line 517 - A module to make nodes hierarchical.
Code
function nodehierarchy_nodehierarchy_node_form($node) {
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)) {
// Save the old value of the node's parent.
$value = empty($node->nodehierarchy_old_menu_links) ? null : $node->nodehierarchy_old_menu_links;
$form['nodehierarchy_old_menu_links'] = array(
'#type' => 'value',
'#value' => $value,
);
// 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') || $node->nid == NULL && user_access('create child nodes') || $node->uid == $user->uid && user_access('edit own node parents');
if ($can_set_parent) {
drupal_add_js(drupal_get_path("module", "nodehierarchy") . '/nodehierarchy.js');
$form['nodehierarchy_menu_links'] = array(
'#tree' => TRUE,
);
$multiple = variable_get('nh_multiple_' . $node->type, 0);
$count = 2;
foreach ((array) $node->nodehierarchy_menu_links as $key => $menu_link) {
$form['nodehierarchy_menu_links'][$key] = _nodehierarchy_node_parent_form_items($node, $key, $menu_link);
if ($multiple && $key == 0) {
$form['nodehierarchy_menu_links'][$key]['#title'] = t('Primary Parent');
$form['nodehierarchy_menu_links'][$key]['#description'] = t('The primary parent is the one which will appear in this node\'s breadcrumb trail and whose menu item will be expanded for this node.');
}
elseif ($multiple) {
$form['nodehierarchy_menu_links'][$key]['#title'] = t('Parent !num', array(
'!num' => $count++,
));
}
}
if ($multiple) {
$form['nodehierarchy_menu_links'][$key + 1] = _nodehierarchy_node_parent_form_items($node, $key + 1, _nodehierarchy_default_menu_link(isset($node->nid) ? $node->nid : NULL));
$form['nodehierarchy_menu_links'][$key + 1]['#title'] = t('Add a parent');
$form['nodehierarchy_menu_links'][$key + 1]['#collapsible'] = $form['nodehierarchy_menu_links'][$key + 1]['#collapsed'] = TRUE;
$form['nodehierarchy_menu_links'][$key + 1]['add_another'] = array(
'#type' => 'submit',
'#value' => t('Add'),
'#weight' => 10,
'#submit' => array(
'nodehierarchy_node_form_add_parent',
),
);
unset($form['nodehierarchy_menu_links'][$key + 1]['remove']);
}
}
}
return $form;
}