From 0de72ee48438140ad16d15e5b4819bdc0d3ab995 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Fri, 5 Jun 2009 05:23:58 +0000 Subject: - Patch #225864 by pwolanin: prevent PHP errors from cron.php. --- modules/taxonomy/taxonomy.module | 6 ++++-- modules/taxonomy/taxonomy.test | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) (limited to 'modules/taxonomy') diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module index 7c6889c03..1db756458 100644 --- a/modules/taxonomy/taxonomy.module +++ b/modules/taxonomy/taxonomy.module @@ -1639,8 +1639,10 @@ function taxonomy_node_validate($node, $form) { */ function taxonomy_node_update_index($node) { $output = array(); - foreach ($node->taxonomy as $term) { - $output[] = $term->name; + if (isset($node->taxonomy) && is_array($node->taxonomy)) { + foreach ($node->taxonomy as $term) { + $output[] = $term->name; + } } if (count($output)) { return '(' . implode(', ', $output) . ')'; diff --git a/modules/taxonomy/taxonomy.test b/modules/taxonomy/taxonomy.test index 24f12bd50..87123bc39 100644 --- a/modules/taxonomy/taxonomy.test +++ b/modules/taxonomy/taxonomy.test @@ -354,6 +354,20 @@ class TaxonomyTermUnitTest extends TaxonomyWebTestCase { // Confirm that the node type argument returns a single node association. $this->assertEqual(taxonomy_term_count_nodes($term3->tid, 'page'), 1, t("Term is associated with one node of type 'page'.")); + + // Test hook_nodeapi_update_index(). + // Load the node so taxonomy terms are fully populated. + $node = node_load($node1->nid); + $output = taxonomy_node_update_index($node); + $this->assertFalse(empty($output), t('Node with taxonomy has content when calling update index')); + // Remove all taxonomy. + unset($node->taxonomy); + $output = taxonomy_node_update_index($node); + $this->assertTrue(empty($output), t('Node with no taxonomy has no content when calling update index')); + // Set taxonomy to a scalar (non-array). + $node->taxonomy = 1; + $output = taxonomy_node_update_index($node); + $this->assertTrue(empty($output), t('Node with non-array taxonomy has no content when calling update index')); } } -- cgit v1.2.3