--- cckasetracker.admin.inc	2009-06-22 15:47:11.000000000 +0200
+++ ../../modules/cckasetracker/cckasetracker.admin.inc	2009-07-23 23:21:47.000000000 +0200
@@ -12,11 +12,30 @@
 function cckasetracker_admin_settings() {
   $form = array();
 
+  $form['cckasetracker_general'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('General'),
+    '#collapsible' => TRUE,
+    '#collapsed' => FALSE,
+  );
+  $form['cckasetracker_general']['output'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Enable output'),
+    '#default_value' => variable_get('cckasetracker_general_output', TRUE),
+    '#description' => t('Display CCKaseTracker state information as stored with comments. Types need being enabled.')
+  );
+  $form['cckasetracker_general']['input'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Enable input'),
+    '#default_value' => variable_get('cckasetracker_general_input', TRUE),
+    '#description' => t('Show CCKaseTracker fields in enabled comment content types with selected fields.')
+  );
+
   $cckasetracker_types = cckasetracker_get_types();
   if (!in_array('case', $cckasetracker_types)) {
     form_set_error('content_types_table', t('You must designate at least one content type to act as a project and another as a case. <a href="!create">Create new content type</a> if needed.', array('!create' => url('admin/content/types/add', array('query' => drupal_get_destination())))));
   }
-  $form['admin_cckasetracker_content_types'] = array(
+  $form['cckasetracker_content_types'] = array(
     '#type' => 'fieldset',
     '#title' => t('Content types'),
     '#collapsible' => TRUE,
@@ -36,7 +55,7 @@ function cckasetracker_admin_settings() 
       l(t('Edit'), "admin/content/node-type/$type_url_str", array('query' => drupal_get_destination())),
     );
   }
-  $form['admin_cckasetracker_content_types']['content_types_table'] = array('#value' => theme('table', $header, $rows));
+  $form['cckasetracker_content_types']['content_types_table'] = array('#value' => theme('table', $header, $rows));
 
   // Per content type settings.
   foreach ($cckasetracker_types as $type_name => $value) {
@@ -46,10 +65,8 @@ function cckasetracker_admin_settings() 
       '#title' => t('@type_name content type settings', array('@type_name' => ucfirst($type_name))),
       '#collapsible' => TRUE,
     );
-    
     $options = _cckasetracker_fields_options(cckasetracker_get_content_fields($type_name, TRUE));
     $default_value = variable_get('cckasetracker_content_type_'. $type_name, array());
-        
     $form['cckasetracker_content_type_'. $type_name]['cckasetracker_content_type_'. $type_name] = array(
       '#type' => 'checkboxes',
       '#options' => $options,
@@ -57,12 +74,6 @@ function cckasetracker_admin_settings() 
     );
   }
 
-  // Pass the type name to the submit handler.
-  $form['type_name'] = array(
-    '#type' => 'hidden',
-    '#value' => $type_name,
-  );
-
   // Add submit handler.
   $form['#submit'][] = 'cckasetracker_admin_settings_submit';
         
@@ -74,13 +85,19 @@ function cckasetracker_admin_settings() 
  */
 function cckasetracker_admin_settings_submit($form, $form_state) {
   if ($form_state['clicked_button']['#value'] == t('Save configuration')) {
-    foreach ($form_state['values'] as $type_name => $fields) {
-      if (strpos($type_name, 'cckasetracker_content_type_') === 0) {
-        $type_name = str_replace('cckasetracker_content_type_', '', $type_name);        
-        $fields = array_filter(drupal_map_assoc($fields));
+    $fields = array();
+    $cckasetracker_types = cckasetracker_get_types();
+    foreach ($cckasetracker_types as $type_name => $value) {
+      $type_name = drupal_strtolower($type_name);
+      $fieldset_name = 'cckasetracker_content_type_'.$type_name;
+      if(isset($form_state['values'][$fieldset_name])) {
+        $form_type_fields = $form_state['values'][$fieldset_name];
+        $fields = array_filter(drupal_map_assoc($form_type_fields));
         variable_set('cckasetracker_content_type_'. $type_name, $fields);
       }
     }
+    variable_set('cckasetracker_general_input', $form_state['values']['input']);
+    variable_set('cckasetracker_general_output', $form_state['values']['output']);
   }
 }
 
@@ -101,4 +118,4 @@ function _cckasetracker_fields_options($
     }
   }
   return $return;
-}
\ No newline at end of file
+}
