From 33e57d4833d4438852329489e8760a2c78aa7461 Mon Sep 17 00:00:00 2001
From: Capi Etheriel <barraponto@gmail.com>
Date: Sun, 7 Apr 2013 16:54:07 -0300
Subject: Issue #1963870 by barraponto: Expose Webform settings in content
 type form

---
 webform.module | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/webform.module b/webform.module
index 5ec7400..3f5183e 100644
--- a/webform.module
+++ b/webform.module
@@ -1580,6 +1580,51 @@ function webform_form_alter(&$form, $form_state, $form_id) {
 }
 
 /**
+ * Implements hook_form_FORM_ID_alter().
+ */
+function webform_form_node_type_form_alter(&$form, &$form_state) {
+  $type = $form['#node_type'];
+  $webform_node_types = webform_variable_get('webform_node_types');
+
+  $form['webform'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Webform settings'),
+    '#collapsible' => TRUE,
+    '#collapsed' => TRUE,
+    '#group' => 'additional_settings',
+  );
+  $form['webform']['webform_settings'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Enable Webform'),
+    '#default_value' => in_array($type, $webform_node_types),
+    '#description' => t('Webform-enabled content types can have Webform components associated to it.'),
+  );
+
+  // Specific-submit must come before regular form submit.
+  array_unshift($form['#submit'], 'webform_node_type_form_submit');
+}
+
+/**
+ * Submit callback for the node type form.
+ */
+function webform_node_type_form_submit($form, &$form_state) {
+  $webform_node_types = webform_variable_get('webform_node_types');
+  $type = trim($form_state['values']['type']);
+
+  if ($form_state['values']['webform']) {
+    $webform_node_types = array_unique(array_merge($webform_node_types, array($type)));
+  }
+  else {
+    $webform_node_types = array_diff($webform_node_types, array($type));
+  }
+  variable_set('webform_node_types', $webform_types);
+
+  // Unset the values to prevent default form submit from creating variables out of them.
+  unset($form_state['values']['webform']);
+}
+
+
+/**
  * Submit handler for the webform node form.
  *
  * Redirect the user to the components form on new node inserts. Note that this
-- 
1.8.2

