Commit 92acb926 authored by Dries's avatar Dries
Browse files

- Patch #33747 by Ber and Moshe: bugfix + code improvement: clean up some of...

- Patch #33747 by Ber and Moshe: bugfix + code improvement: clean up some of the taxonomy loading code.
parent f36b456c
......@@ -274,11 +274,6 @@ function blogapi_blogger_edit_post($appkey, $postid, $username, $password, $cont
return blogapi_error(implode("\n", $errors));
}
$terms = module_invoke('taxonomy', 'node_get_terms', $node->nid, 'tid');
foreach ($terms as $term) {
$node->taxonomy[] = $term->tid;
}
$node = node_submit($node);
node_save($node);
if ($node->nid) {
......
......@@ -274,11 +274,6 @@ function blogapi_blogger_edit_post($appkey, $postid, $username, $password, $cont
return blogapi_error(implode("\n", $errors));
}
$terms = module_invoke('taxonomy', 'node_get_terms', $node->nid, 'tid');
foreach ($terms as $term) {
$node->taxonomy[] = $term->tid;
}
$node = node_submit($node);
node_save($node);
if ($node->nid) {
......
......@@ -535,8 +535,7 @@ function forum_submit(&$node) {
}
}
if ($node->tid && $node->shadow) {
$terms = array_keys(taxonomy_node_get_terms($node->nid));
if (!in_array($node->tid, $terms)) {
if (!in_array($node->tid, $node->taxonomy)) {
$terms[] = $node->tid;
}
$node->taxonomy = $terms;
......
......@@ -535,8 +535,7 @@ function forum_submit(&$node) {
}
}
if ($node->tid && $node->shadow) {
$terms = array_keys(taxonomy_node_get_terms($node->nid));
if (!in_array($node->tid, $terms)) {
if (!in_array($node->tid, $node->taxonomy)) {
$terms[] = $node->tid;
}
$node->taxonomy = $terms;
......
......@@ -28,13 +28,7 @@ function taxonomy_link($type, $node = NULL) {
if ($type == 'taxonomy terms' && $node != NULL) {
$links = array();
if (array_key_exists('taxonomy', $node)) {
foreach ($node->taxonomy as $tid) {
$term = taxonomy_get_term($tid);
$links[] = l($term->name, taxonomy_term_path($term), array('rel' => 'tag', 'title' => $term->description));
}
}
else {
foreach (taxonomy_node_get_terms($node->nid) as $term) {
foreach ($node->taxonomy as $term) {
$links[] = l($term->name, taxonomy_term_path($term), array('rel' => 'tag', 'title' => $term->description));
}
}
......@@ -1009,6 +1003,9 @@ function taxonomy_render_nodes($result) {
*/
function taxonomy_nodeapi($node, $op, $arg = 0) {
switch ($op) {
case 'load':
$output['taxonomy'] = taxonomy_node_get_terms($node->nid);
return $output;
case 'insert':
taxonomy_node_save($node->nid, $node->taxonomy);
break;
......@@ -1184,8 +1181,7 @@ function taxonomy_admin() {
*/
function taxonomy_rss_item($node) {
$output = array();
$terms = taxonomy_node_get_terms($node->nid);
foreach ($terms as $term) {
foreach ($node->taxonomy as $term) {
$output[] = array('key' => 'category',
'value' => check_plain($term->name),
'attributes' => array('domain' => url('taxonomy/term/'. $term->tid, NULL, NULL, TRUE)));
......
......@@ -28,13 +28,7 @@ function taxonomy_link($type, $node = NULL) {
if ($type == 'taxonomy terms' && $node != NULL) {
$links = array();
if (array_key_exists('taxonomy', $node)) {
foreach ($node->taxonomy as $tid) {
$term = taxonomy_get_term($tid);
$links[] = l($term->name, taxonomy_term_path($term), array('rel' => 'tag', 'title' => $term->description));
}
}
else {
foreach (taxonomy_node_get_terms($node->nid) as $term) {
foreach ($node->taxonomy as $term) {
$links[] = l($term->name, taxonomy_term_path($term), array('rel' => 'tag', 'title' => $term->description));
}
}
......@@ -1009,6 +1003,9 @@ function taxonomy_render_nodes($result) {
*/
function taxonomy_nodeapi($node, $op, $arg = 0) {
switch ($op) {
case 'load':
$output['taxonomy'] = taxonomy_node_get_terms($node->nid);
return $output;
case 'insert':
taxonomy_node_save($node->nid, $node->taxonomy);
break;
......@@ -1184,8 +1181,7 @@ function taxonomy_admin() {
*/
function taxonomy_rss_item($node) {
$output = array();
$terms = taxonomy_node_get_terms($node->nid);
foreach ($terms as $term) {
foreach ($node->taxonomy as $term) {
$output[] = array('key' => 'category',
'value' => check_plain($term->name),
'attributes' => array('domain' => url('taxonomy/term/'. $term->tid, NULL, NULL, TRUE)));
......
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