You are here

function nodehierarchy_children_form in Node Hierarchy 6.2

Same name and namespace in other branches
  1. 6.3 nodehierarchy.module \nodehierarchy_children_form()
  2. 7.4 nodehierarchy.admin.inc \nodehierarchy_children_form()
  3. 7.2 nodehierarchy.module \nodehierarchy_children_form()

Built the children tab form.

1 string reference to 'nodehierarchy_children_form'
nodehierarchy_view_children in ./nodehierarchy.module
Display the children tab.

File

./nodehierarchy.module, line 930
A module to make nodes hierarchical.

Code

function nodehierarchy_children_form(&$form_state, $node) {
  $form = array();
  $children_links = _nodehierarchy_get_children_menu_links($node->nid, FALSE);
  $form['children'] = array(
    '#tree' => TRUE,
  );
  $type_names = node_get_types('names');
  foreach ($children_links as $child_link) {
    list(, $nid) = explode('/', $child_link['link_path']);
    if ($child = node_load($nid)) {
      $child_item = array();
      $child_item['menu_link'] = array(
        '#type' => 'value',
        '#value' => $child_link,
      );
      $child_item['node'] = array(
        '#type' => 'value',
        '#value' => $child,
      );
      $child_item['title'] = array(
        '#value' => l($child->title, $child_link['link_path']),
      );
      $child_item['type'] = array(
        '#value' => $type_names[$child->type],
      );
      $child_item['weight'] = array(
        '#type' => 'weight',
        '#delta' => 50,
        '#default_value' => isset($form_state[$child_link['mlid']]['weight']) ? $form_state[$child_link['mlid']]['weight'] : $child_link['weight'],
      );
      $form['children'][$child_link['mlid']] = $child_item;
    }
  }
  if (element_children($form['children'])) {
    $form['submit'] = array(
      '#type' => 'submit',
      '#value' => t('Save child order'),
    );
  }
  else {
    $form['no_children'] = array(
      '#value' => t('This node has no children.'),
    );
  }
  return $form;
}