You are here

function taxonomy_manager_tree_build_siblings_form in Taxonomy Manager 7

Same name and namespace in other branches
  1. 5 taxonomy_manager.module \taxonomy_manager_tree_build_siblings_form()
  2. 6.2 taxonomy_manager.module \taxonomy_manager_tree_build_siblings_form()
  3. 6 taxonomy_manager.module \taxonomy_manager_tree_build_siblings_form()

callback for generating and rendering next siblings terms form (AHAH)

Parameters

$tree_id:

$page current page:

$prev_tid last sibling, that appears:

$parent if in hierarchies, parent id:

1 string reference to 'taxonomy_manager_tree_build_siblings_form'
taxonomy_manager_menu in ./taxonomy_manager.module
Implements hook_menu().

File

./taxonomy_manager.module, line 851
Taxonomy Manager

Code

function taxonomy_manager_tree_build_siblings_form($tree_id, $page, $prev_tid, $parent = 0) {
  $params = $_GET;
  $form_state = form_state_defaults();
  $form_state['method'] = 'get';
  $form_state['values'] = array();
  $form_state['process_input'] = TRUE;
  $form_state['input'] = array();
  $form_state['complete form'] = array();
  $vid = db_query("SELECT vid FROM {taxonomy_term_data} WHERE tid = :tid", array(
    ':tid' => $prev_tid,
  ))
    ->fetchField();
  $siblings_form = array(
    '#type' => 'taxonomy_manager_tree',
    '#vid' => $vid,
    '#parent' => $parent,
    '#pager' => TRUE,
    '#siblings_page' => $page + 1,
    '#language' => $params['language'],
  );
  $opertions_callback = 'taxonomy_manager_' . str_replace('-', '_', $tree_id) . '_operations';
  if (function_exists($opertions_callback)) {
    $siblings_form['#operations_callback'] = $opertions_callback;
  }
  $link_callback = 'taxonomy_manager_' . str_replace('-', '_', $tree_id) . '_link';
  if (function_exists($link_callback)) {
    $siblings_form['#link_callback'] = $link_callback;
  }
  _taxonomy_manager_tree_sub_forms_set_parents($params['form_parents'], $parent, $siblings_form);
  $siblings_form = form_builder('taxonomy_manager_form', $siblings_form, $form_state);
  $output = drupal_render($siblings_form);

  //cutting of <ul> and ending </ul> ... can this be done cleaner?
  $output = drupal_substr($output, 21, -5);
  print drupal_json_output(array(
    'data' => $output,
  ));
  ajax_footer();
}