Index: context.core.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/context/Attic/context.core.inc,v
retrieving revision 1.1.2.3.2.20.2.29
diff -u -p -r1.1.2.3.2.20.2.29 context.core.inc
--- context.core.inc	5 Aug 2010 08:03:29 -0000	1.1.2.3.2.20.2.29
+++ context.core.inc	14 Nov 2010 22:44:36 -0000
@@ -170,6 +170,14 @@ function context_node_condition(&$node, 
       $plugin->execute($node, $op);
     }
   }
+  if (module_exists('content')) {
+    $content_type = content_types($node->type);
+    foreach ($content_type['fields'] as $field) {
+      if ($plugin = context_get_plugin('condition', $field['field_name'])) {
+        $plugin->execute($node, $op);
+      }
+    }
+  }
   if (module_exists('book')) {
     if ($plugin = context_get_plugin('condition', 'book')) {
       $plugin->execute($node, $op);
Index: context.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/context/Attic/context.install,v
retrieving revision 1.1.2.1.2.6.2.11
diff -u -p -r1.1.2.1.2.6.2.11 context.install
--- context.install	13 Sep 2010 21:09:29 -0000	1.1.2.1.2.6.2.11
+++ context.install	14 Nov 2010 22:44:36 -0000
@@ -309,6 +309,12 @@ function context_migrate_api_3(&$ret, $c
         'views' => 'views',
         'nodequeue' => 'nodequeue'
       );
+      foreach (content_fields() as $field) {
+        $values = content_allowed_values($field);
+        if (!empty($values)) {
+          $conditions[$field['field_name']] = $field['field_name'];
+        }
+      }
       foreach ($conditions as $old_key => $new_key) {
         if (isset($context->{$old_key})) {
           $values = $context->{$old_key};
Index: context.plugins.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/context/Attic/context.plugins.inc,v
retrieving revision 1.1.2.8
diff -u -p -r1.1.2.8 context.plugins.inc
--- context.plugins.inc	30 Jul 2010 18:15:36 -0000	1.1.2.8
+++ context.plugins.inc	14 Nov 2010 22:44:36 -0000
@@ -62,6 +62,18 @@ function _context_context_registry() {
       'plugin' => 'context_condition_bookroot',
     );
   }
+  if (module_exists('content')) {
+    foreach (content_fields() as $field) {
+      $values = content_allowed_values($field);
+      if (!empty($values)) {
+        $registry['conditions'][$field['field_name']] = array(
+          'title' => t('Content: @field', array('@field' => $field['widget']['label'])),
+          'description' => t('Set this context when viewing a node with the selected value for the %label field', array('%label' => $field['field_name'])),
+          'plugin' => 'context_condition_content',
+        );
+      }
+    }
+  }
   if (module_exists('locale')) {
     $registry['conditions']['language'] = array(
       'title' => t('Language'),
@@ -205,6 +217,16 @@ function _context_context_plugins() {
       ),
     );
   }
+  if (module_exists('content')) {
+    $plugins['context_condition_content'] = array(
+      'handler' => array(
+        'path' => drupal_get_path('module', 'context') .'/plugins',
+        'file' => 'context_condition_content.inc',
+        'class' => 'context_condition_content',
+        'parent' => 'context_condition_node',
+      ),
+    );
+  }
   if (module_exists('book')) {
     $plugins['context_condition_book'] = array(
       'handler' => array(
Index: plugins/context_condition_content.inc
===================================================================
RCS file: plugins/context_condition_content.inc
diff -N plugins/context_condition_content.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ plugins/context_condition_content.inc	14 Nov 2010 22:44:36 -0000
@@ -0,0 +1,35 @@
+<?php
+// $Id$
+
+/**
+ * Expose node content as a context condition.
+ */
+class context_condition_content extends context_condition_node {
+
+  function condition_values() {
+    $field = content_fields($this->plugin);
+    return content_allowed_values($field);
+  }
+
+  function execute($node, $op) {
+    $field = content_fields($this->plugin, $node->type);
+
+    // This plugin can only support one column fields.
+    $column = key($field['columns']);
+    foreach ($node->{$this->plugin} as $item) {
+      foreach ($this->get_contexts($item[$column]) as $context) {
+        // Check the node form option.
+        $options = $this->fetch_from_context($context, 'options');
+        if ($op === 'form') {
+          $options = $this->fetch_from_context($context, 'options');
+          if (!empty($options['node_form']) && in_array($options['node_form'], array(CONTEXT_NODE_FORM, CONTEXT_NODE_FORM_ONLY))) {
+            $this->condition_met($context, $item[$column]);
+          }
+        }
+        elseif (empty($options['node_form']) || $options['node_form'] != CONTEXT_NODE_FORM_ONLY) {
+          $this->condition_met($context, $item[$column]);
+        }
+      }
+    }
+  }
+}
