function taxonomy_manager_tree_build_siblings_form in Taxonomy Manager 7
Same name and namespace in other branches
- 5 taxonomy_manager.module \taxonomy_manager_tree_build_siblings_form()
- 6.2 taxonomy_manager.module \taxonomy_manager_tree_build_siblings_form()
- 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();
}