function taxonomy_tools_overview_submit in Taxonomy Tools 8
Same name and namespace in other branches
- 7 taxonomy_tools.admin.inc \taxonomy_tools_overview_submit()
Submit handler for Taxonomy Tools overview form.
See also
File
- ./
taxonomy_tools.admin.inc, line 481 - Administrative page callbacks for the Taxonomy Tools module.
Code
function taxonomy_tools_overview_submit($form, &$form_state) {
if ($form_state['triggering_element']['#value'] == t('Delete terms')) {
// Execute term deletion.
if (isset($form_state['values']['term_delete']) && $form_state['values']['term_delete'] === TRUE) {
return taxonomy_tools_confirm_term_delete_submit($form, $form_state);
}
// Rebuild the form to confirm the term deletion.
$form_state['rebuild'] = TRUE;
$form_state['confirm_term_delete'] = TRUE;
return;
}
elseif ($form_state['triggering_element']['#value'] == t('Save order')) {
// Fetch all the necessary information from the database.
$query = db_select('taxonomy_term_data', 'db1');
$query
->addField('db1', 'tid');
$query
->addField('db1', 'weight');
$query
->condition('db1.vid', $form['#vocabulary']->vid);
$query
->join('taxonomy_term_hierarchy', 'db2', 'db1.tid = db2.tid');
$query
->condition('db2.parent', $form_state['values']['tree_root']);
$result = $query
->execute()
->fetchAllKeyed();
foreach ($result as $tid => $weight) {
if ($form_state['values']['weight_' . $tid] != $weight) {
// Update term weight value.
$query = db_update('taxonomy_term_data');
$query
->fields(array(
'weight' => $form_state['values']['weight_' . $tid],
));
$query
->condition('tid', $tid);
$query
->execute();
}
}
}
}