Index: modules/forum/forum.js
===================================================================
RCS file: modules/forum/forum.js
diff -N modules/forum/forum.js
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ modules/forum/forum.js      13 Aug 2010 22:32:27 -0000
@@ -0,0 +1,24 @@
+// $Id$
+
+(function($) {
+
+Drupal.behaviors.forumContainers = {
+  attach: function (context) {
+    attachForumContainers(context);
+  }
+};
+
+function attachForumContainers(context) {
+  var forumContainers = Drupal.settings.forumContainers;
+
+  // Do not allow posting into containers.
+  $('#edit-taxonomy-forums option', context).each(function () {
+    if (forumContainers.indexOf($(this).val()) >= 0) {
+      $(this).attr('disabled', 'disabled');
+      $(this).addClass('forum-container');
+    }
+
+  });
+};
+
+})(jQuery);
Index: modules/forum/forum.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/forum/forum.module,v
retrieving revision 1.572
diff -u -p -r1.572 forum.module
--- modules/forum/forum.module  8 Aug 2010 12:47:00 -0000       1.572
+++ modules/forum/forum.module  13 Aug 2010 22:32:28 -0000
@@ -622,6 +622,9 @@ function forum_form_alter(&$form, $form_
       $requested_forum_id = arg(3);
       $form['taxonomy_forums'][$langcode]['#default_value'] = is_numeric($requested_forum_id) ? $requested_forum_id : NULL;
     }
+    // Do not allow posting into containers.
+    drupal_add_js(array('forumContainers' => variable_get('forum_containers', array())), 'setting');
+    $form['taxonomy_forums'][$langcode]['#attached']['js'][] = drupal_get_path('module', 'forum') . '/forum.js';
   }
 }

