Index: context_ui/context_ui.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/context/context_ui/Attic/context_ui.admin.inc,v
retrieving revision 1.1.2.7.2.5
diff -u -p -r1.1.2.7.2.5 context_ui.admin.inc
--- context_ui/context_ui.admin.inc	13 Jun 2009 23:58:31 -0000	1.1.2.7.2.5
+++ context_ui/context_ui.admin.inc	1 Jul 2009 02:21:28 -0000
@@ -846,31 +846,24 @@ function context_ui_form_validate($form,
  */
 function context_ui_form_process($form) {
   $context = new stdClass();
-  
+
   // Context ns/attr/value definition
   foreach (array('cid', 'system', 'namespace', 'attribute', 'value', 'description') as $item) {
     $context->$item = isset($form[$item]) ? $form[$item] : NULL;
   }
   $context->status = 1; // all user defined contexts have status 1
 
-  // Retrieve values for conditions
-  foreach (array_keys(context_conditions()) as $id) {
+  // Retrieve values for conditions and reactions
+  foreach (array_keys(context_conditions() + context_reactions()) as $id) {
     if (is_array($form['items'][$id])) {
-      foreach ($form['items'][$id] as $option => $value) {
-        if (!empty($value)) {
-          $context->{$id}[] = $option;
-        }
-      }
+      $items = array_filter($form['items'][$id]);
     }
-    else if (isset($form['items'][$id]) && !empty($form['items'][$id])) {
-      $context->{$id}[] = $form['items'][$id];
+    else {
+      $items = isset($form['items'][$id]) ? $form['items'][$id] : '';
     }
-  }
 
-  // Retrieve values for reactions -- preserve key => val associations
-  foreach (array_keys(context_reactions()) as $id) {
-    if (isset($form['items'][$id]) && !context_empty($form['items'][$id])) {
-      $context->{$id} = $form['items'][$id];
+    if (!empty($items)) {
+      $context->{$id} = $items;
     }
   }
 
