? nodeformsettings-709262.patch
Index: nodeformsettings.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodeformsettings/nodeformsettings.module,v
retrieving revision 1.3
diff -u -p -r1.3 nodeformsettings.module
--- nodeformsettings.module	22 Jan 2010 23:45:03 -0000	1.3
+++ nodeformsettings.module	9 Feb 2010 19:04:24 -0000
@@ -100,8 +100,16 @@ function nodeformsettings_form_alter(&$f
 			'#title' => t("Preview Button"),
 			'#type' => 'radios',
 			'#options' => array('0' => t("Enabled"), '1' => t("Disabled")),
-			'#default_value' => variable_get('nodeformsettings_preview_'. $form['#node_type']->type, 0),
+			'#default_value' => variable_get('nodeformsettings_preview_'. $form['#node_type']->type, ''),
+			'#disabled' => FALSE,
 		);
+		// We do this to prevent disabling the Preview button if it is required in admin/content/node-settings
+		if(variable_get('node_preview', 1)) {
+			variable_set('nodeformsettings_preview_'. $form['#node_type']->type, 0);
+			$form['nodeformsettings']['nodeformsettings_preview']['#disabled'] = TRUE;
+			$form['nodeformsettings']['nodeformsettings_preview']['#description'] = t('If you want to disable the Preview button, go to !url and change the "Preview Post" option to "Optional"', array('!url' => l(t('Post settings'), 'admin/content/node-settings')));
+		}
+
 		$form['nodeformsettings']['nodeformsettings_cancel'] = array(
 			'#title' => t("Show a Cancel Button"),
 			'#type' => 'radios',
@@ -115,6 +123,18 @@ function nodeformsettings_form_alter(&$f
 		);
 	}
 	
+	if($form_id == 'node_configure') {
+		if(variable_get('node_preview', '') == 0) {
+			$form['node_preview']['#description'] = t("If you change this setting to Required, the Preview button of all your content types will be set to Enabled");	
+		}
+		if(variable_get('node_preview', '') == 1) {
+			$types = node_get_types();
+			foreach ($types as $type => $value) {
+				variable_set("nodeformsettings_preview_$type", 0);
+			}
+		}
+	}
+	
 	if(isset($form['type']) && isset($form['#node']) && $form['type']['#value'] . '_node_form' == $form_id) {
 		$node = $form['#node'];
 		
@@ -211,6 +231,8 @@ function nodeformsettings_form_alter(&$f
 	
 }
 
+
+
 /**
  * From http://drupal.org/node/426482
  */
