Index: context_ui/context_ui_contrib.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/context/context_ui/context_ui_contrib.module,v
retrieving revision 1.4
diff -u -p -r1.4 context_ui_contrib.module
--- context_ui/context_ui_contrib.module	5 Aug 2008 00:31:49 -0000	1.4
+++ context_ui/context_ui_contrib.module	16 Aug 2008 01:34:32 -0000
@@ -61,6 +61,17 @@ function context_ui_contrib_context_item
     );
   }
 
+  // Sections
+  if (module_exists('sections')) {
+    $items['sections'] = array(
+      '#title' => t('Sections'),
+      '#description' => t('Set this context when reside in selected section(s).'),
+      '#options' => _context_ui_contrib_get_sections(),
+      '#type' => 'checkboxes',
+      '#context_ui' => 'setter',
+    );
+  }
+
   return $items;
 }
 
@@ -90,6 +101,11 @@ function context_ui_contrib_nodeapi(&$no
     if (module_exists('outline') && $vol = $node->volume_id) {
       context_ui_set('outline', $vol);
     }
+
+    if (module_exists('sections') && ($section = _sections_in_section())) {
+      context_ui_set('sections', $section->sid);
+    }
+
   }
 }
 
@@ -146,3 +162,20 @@ function _context_ui_contrib_css_injecto
     return;
   }
 }
+
+/**
+ * Helper function to generate a list of sections.
+ */
+function _context_ui_contrib_get_sections() {
+  $list = array();
+
+  $result = db_query('SELECT sid, name FROM {sections_data} WHERE status = 1');
+
+  while ($section = db_fetch_object($result)) {
+    $list[$section->sid] = $section->name;
+  }
+
+  ksort($list);
+  return $list;
+}
+
