Commit 32d9af49 authored by Dries's avatar Dries
Browse files

- Patch #39598 by Gerhard: fixed problem with taxonomy terms not being selected.

parent e90a178e
...@@ -592,12 +592,9 @@ function forum_form(&$node) { ...@@ -592,12 +592,9 @@ function forum_form(&$node) {
$node->taxonomy[] = arg(3); $node->taxonomy[] = arg(3);
} }
else { else {
$node->taxonomy = array($node->tid); $forum_terms = taxonomy_node_get_terms_by_vocabulary(_forum_get_vid(), $node->nid);
}
if ($node->nid) {
// if editing, give option to leave shadows // if editing, give option to leave shadows
$shadow = (count(taxonomy_node_get_terms($node->nid)) > 1); $shadow = (count($forum_terms) > 1);
$form['shadow'] = array('#type' => 'checkbox', '#title' => t('Leave shadow copy'), '#default_value' => $shadow, '#description' => t('If you move this topic, you can leave a link in the old forum to the new forum.')); $form['shadow'] = array('#type' => 'checkbox', '#title' => t('Leave shadow copy'), '#default_value' => $shadow, '#description' => t('If you move this topic, you can leave a link in the old forum to the new forum.'));
} }
......
...@@ -592,12 +592,9 @@ function forum_form(&$node) { ...@@ -592,12 +592,9 @@ function forum_form(&$node) {
$node->taxonomy[] = arg(3); $node->taxonomy[] = arg(3);
} }
else { else {
$node->taxonomy = array($node->tid); $forum_terms = taxonomy_node_get_terms_by_vocabulary(_forum_get_vid(), $node->nid);
}
if ($node->nid) {
// if editing, give option to leave shadows // if editing, give option to leave shadows
$shadow = (count(taxonomy_node_get_terms($node->nid)) > 1); $shadow = (count($forum_terms) > 1);
$form['shadow'] = array('#type' => 'checkbox', '#title' => t('Leave shadow copy'), '#default_value' => $shadow, '#description' => t('If you move this topic, you can leave a link in the old forum to the new forum.')); $form['shadow'] = array('#type' => 'checkbox', '#title' => t('Leave shadow copy'), '#default_value' => $shadow, '#description' => t('If you move this topic, you can leave a link in the old forum to the new forum.'));
} }
......
...@@ -498,7 +498,7 @@ function taxonomy_form_alter($form_id, &$form) { ...@@ -498,7 +498,7 @@ function taxonomy_form_alter($form_id, &$form) {
if (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id) { if (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id) {
$node = $form['#node']; $node = $form['#node'];
if (!array_key_exists('taxonomy', $node)) { if (!isset($node->taxonomy)) {
if ($node->nid) { if ($node->nid) {
$terms = taxonomy_node_get_terms($node->nid); $terms = taxonomy_node_get_terms($node->nid);
} }
...@@ -531,7 +531,8 @@ function taxonomy_form_alter($form_id, &$form) { ...@@ -531,7 +531,8 @@ function taxonomy_form_alter($form_id, &$form) {
$form['taxonomy']['tags'][$vocabulary->vid] = array('#type' => 'textfield', '#default_value' => $typed_string, '#maxlength' => 100, '#autocomplete_path' => 'taxonomy/autocomplete/'. $vocabulary->vid, '#required' => $vocabulary->required, '#title' => $vocabulary->name, '#description' => t('A comma-separated list of terms describing this content (Example: funny, bungie jumping, "Company, Inc.").')); $form['taxonomy']['tags'][$vocabulary->vid] = array('#type' => 'textfield', '#default_value' => $typed_string, '#maxlength' => 100, '#autocomplete_path' => 'taxonomy/autocomplete/'. $vocabulary->vid, '#required' => $vocabulary->required, '#title' => $vocabulary->name, '#description' => t('A comma-separated list of terms describing this content (Example: funny, bungie jumping, "Company, Inc.").'));
} }
else { else {
$ntterms = array_key_exists('taxonomy', $node) ? $terms : array_keys($terms); $ntterms = isset($node->taxonomy) ? $terms : array_keys($terms);
$form['taxonomy'][$vocabulary->vid] = taxonomy_form($vocabulary->vid, $ntterms, $help, 'taxonomy'); $form['taxonomy'][$vocabulary->vid] = taxonomy_form($vocabulary->vid, $ntterms, $help, 'taxonomy');
} }
} }
......
...@@ -498,7 +498,7 @@ function taxonomy_form_alter($form_id, &$form) { ...@@ -498,7 +498,7 @@ function taxonomy_form_alter($form_id, &$form) {
if (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id) { if (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id) {
$node = $form['#node']; $node = $form['#node'];
if (!array_key_exists('taxonomy', $node)) { if (!isset($node->taxonomy)) {
if ($node->nid) { if ($node->nid) {
$terms = taxonomy_node_get_terms($node->nid); $terms = taxonomy_node_get_terms($node->nid);
} }
...@@ -531,7 +531,8 @@ function taxonomy_form_alter($form_id, &$form) { ...@@ -531,7 +531,8 @@ function taxonomy_form_alter($form_id, &$form) {
$form['taxonomy']['tags'][$vocabulary->vid] = array('#type' => 'textfield', '#default_value' => $typed_string, '#maxlength' => 100, '#autocomplete_path' => 'taxonomy/autocomplete/'. $vocabulary->vid, '#required' => $vocabulary->required, '#title' => $vocabulary->name, '#description' => t('A comma-separated list of terms describing this content (Example: funny, bungie jumping, "Company, Inc.").')); $form['taxonomy']['tags'][$vocabulary->vid] = array('#type' => 'textfield', '#default_value' => $typed_string, '#maxlength' => 100, '#autocomplete_path' => 'taxonomy/autocomplete/'. $vocabulary->vid, '#required' => $vocabulary->required, '#title' => $vocabulary->name, '#description' => t('A comma-separated list of terms describing this content (Example: funny, bungie jumping, "Company, Inc.").'));
} }
else { else {
$ntterms = array_key_exists('taxonomy', $node) ? $terms : array_keys($terms); $ntterms = isset($node->taxonomy) ? $terms : array_keys($terms);
$form['taxonomy'][$vocabulary->vid] = taxonomy_form($vocabulary->vid, $ntterms, $help, 'taxonomy'); $form['taxonomy'][$vocabulary->vid] = taxonomy_form($vocabulary->vid, $ntterms, $help, 'taxonomy');
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment