Index: context_contrib/context_contrib.module
===================================================================
--- context_contrib/context_contrib.module	(revision 814)
+++ context_contrib/context_contrib.module	(working copy)
@@ -31,11 +31,36 @@
       '#type' => 'checkboxes',
     );
   }
+  
+  // PHP Code
+  if (user_access('use PHP for block visibility')) {
+    $items['php_code'] = array(
+      '#title'          =>  t('PHP Code'),
+      '#description'    =>  t('Set this context when the php code returns TRUE. Use &lt;?php ?&gt; tags.'),
+      '#type'           =>  'textarea',
+      '#rows'           =>  12,
+    );
+  }
 
   return $items;
 }
 
 /**
+ * Implementation of hook_context_page_alter()
+ */
+function context_contrib_context_page_alter() {
+  foreach (context_enabled_contexts() as $identifier => $context) {
+    // context by php_code
+    if (!empty($context->php_code) && is_array($context->php_code)) {
+      $php_code_return = drupal_eval($context->php_code[0]);
+      if ($php_code_return == TRUE) {
+        context_set($context->namespace, $context->attribute, $context->value);
+      }
+    }
+  }
+}
+
+/**
  * Implementation of hook_context_reactions().
  */
 function context_contrib_context_reactions() {
