? 446390-4-cck-condition.patch
? tests
? theme
? translations
? modules/nodereference
? modules/number
? modules/optionwidgets
? modules/text
? modules/userreference
? modules/fieldgroup/fieldgroup.panels.inc
Index: includes/content.rules.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/cck/includes/Attic/content.rules.inc,v
retrieving revision 1.1.2.6
diff -u -p -r1.1.2.6 content.rules.inc
--- includes/content.rules.inc	30 Apr 2009 09:56:07 -0000	1.1.2.6
+++ includes/content.rules.inc	5 May 2009 08:27:52 -0000
@@ -325,8 +325,10 @@ function _content_rules_get_field_value(
  * It returns TRUE, only if the number of multiple values matches and
  * each property of the cck field's value is the same in the node.
  *
- * @param $node_value The value present in the node.
- * @param $value The value to check for.
+ * @param $node_value 
+ *   The value present in the node.
+ * @param $value 
+ *   The value to check for.
  */
 function _content_rules_field_has_value($node_value, $value) {
   if (count($value) != count($node_value)) {
@@ -334,7 +336,13 @@ function _content_rules_field_has_value(
   }
   // Loop over multiple fields
   foreach ($value as $delta => $sub_value) {
-    // Check if all properties of the value are there in the node value too
+    if (empty($node_value[$delta])) {
+      // Field is empty, so we add the key of the 
+      // sub_value, so we can later array_diff_assoc them together.
+      $key = array_keys($sub_value);
+      $node_value[$delta][$key[0]] = '';
+    }
+    // Check if all properties of the value are there in the node value too    
     if (count(array_diff_assoc($sub_value, $node_value[$delta])) != 0) {
       return FALSE;
     }
