Index: nodepreview_by_type.info
===================================================================
--- nodepreview_by_type.info	(revision 822)
+++ nodepreview_by_type.info	(working copy)
@@ -1,6 +1,7 @@
 ; $Id: nodepreview_by_type.info,v 1.3 2009/06/12 20:00:25 dereine Exp $
 name = Node Preview by Type
 description = With the module you can set both the teaser length and the node preview by content type
+core = 6.x
 
 ; Information added by drupal.org packaging script on 2009-06-13
 version = "5.x-1.x-dev"
Index: nodepreview_by_type.module
===================================================================
--- nodepreview_by_type.module	(revision 822)
+++ nodepreview_by_type.module	(working copy)
@@ -8,7 +8,7 @@
 /**
  * Implementation of hook_form_alter()
  */
-function nodepreview_by_type_form_alter($form_id, &$form) {
+function nodepreview_by_type_form_alter(&$form, &$form_state, $form_id) {
   if ($form['#id'] == 'node-form') {
     nodepreview_by_type_nodeform_alter($form);
   }
@@ -30,8 +30,11 @@
         '#description' => t('Must users preview posts before submitting?')
       );
       // add a handler for the save of the node_preview setttings
+      /* 5.x code:
       $form['#submit'] = array('nodepreview_by_type_submit' =>
           array()) + (array)$form['#submit'];
+       */
+      $form['#submit'][] = 'nodepreview_by_type_submit';
       break;
     default:
       break;
@@ -41,31 +44,37 @@
 /**
  * Submit function for the nodetype settings page.
  */
-function nodepreview_by_type_submit($form_id, $form_values) {
-  variable_set('node_preview'. $form_values['type'], $form_values['node_preview']);
+function nodepreview_by_type_submit($form, &$form_state) {
+  variable_set('node_preview'. $form_state['values']['type'], $form_state['values']['node_preview']);
 }
 
 /**
  * Helper function to alter the node form.
  */
 function nodepreview_by_type_nodeform_alter(&$form) {
-  $form['#after_build'] = array('nodepreview_by_type_after_build');
+  $form['#after_build'][] = 'nodepreview_by_type_after_build';
 }
 
 /**
  * After build function to change the preview to drupal6 like behaviour.
  */
-function nodepreview_by_type_after_build($form) {
+function nodepreview_by_type_after_build($form_element, &$form_state) {
   // this is the basic form
   global $form_values;
 
+/* TODO The 'op' element in the form values is deprecated.
+   Each button can have #validate and #submit functions associated with it.
+   Thus, there should be one button that submits the form and which invokes
+   the normal form_id_validate and form_id_submit handlers. Any additional
+   buttons which need to invoke different validate or submit functionality
+   should have button-specific functions. */
   $op = isset($form_values['op']) ? $form_values['op'] : '';
   if ($op == t('Preview')) {
     // Invoke full validation for the form, to protect against cross site
     // request forgeries (CSRF) and setting arbitrary values for fields such as
     // the input format. Preview the node only when form validation does not
     // set any errors.
-    drupal_validate_form($form['form_id']['#value'], $form);
+    drupal_validate_form($form_element['form_id']['#value'], $form_element, $form_state); // $form -> $form_element ?
     if (!form_get_errors()) {
       // Because the node preview may display a form, we must render it
       // outside the node submission form tags using the #prefix property
@@ -77,12 +86,12 @@
       // preview. We pass the global $form_values here to preserve
       // changes made during form validation.
       $preview = node_preview((object)$form_values);
-      $form['#prefix'] = isset($form['#prefix']) ? $preview . $form['#prefix'] : $preview;
+      $form_element['#prefix'] = isset($form_element['#prefix']) ? $preview . $form_element['#prefix'] : $preview;
     }
   }
-  if (variable_get('node_preview'. $form['type']['#value'], variable_get('node_preview', 0)) && (form_get_errors() || $op != t('Preview'))) {
-    unset($form['submit']);
+  if (variable_get('node_preview'. $form_element['type']['#value'], variable_get('node_preview', 0)) && (form_get_errors() || $op != t('Preview'))) {
+    unset($form_element['submit']);
   }
-  return $form;
+  return $form_element;
 }
 
